Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to pyo3 0.18 #6935

Merged
merged 3 commits into from
Mar 24, 2023
Merged

Upgrade to pyo3 0.18 #6935

merged 3 commits into from
Mar 24, 2023

Conversation

alex
Copy link
Member

@alex alex commented Mar 5, 2022

Follow up action items:

  • Convert crate::intern!() to use pyo3::intern!() for basically all static strings which are converted to PyObject
  • Use Py<PyBytes>::as_bytes instead of copying data to vec.
  • Remove let py = gil.python(); in many places
  • investigate moving some enums into rust

@reaperhulk
Copy link
Member

Could you also rebase this just to see if it fixes coverage?

@alex
Copy link
Member Author

alex commented Apr 3, 2022

@reaperhulk it won't -- the coverage issue is caused by removing the RHEL8-fips builder because it's py36. When we get to this point we'll need to decide what to do about that.

@tiran
Copy link
Contributor

tiran commented Apr 7, 2022

@reaperhulk it won't -- the coverage issue is caused by removing the RHEL8-fips builder because it's py36. When we get to this point we'll need to decide what to do about that.

RHEL 8 comes with Python 3.8 and 3.9.

# dnf install -y python38-devel python38-pip
...
=================================================================================================================================================
 Package                               Architecture       Version                                               Repository                  Size
=================================================================================================================================================
Installing:
 python38-devel                        x86_64             3.8.8-4.module+el8.5.0+12205+a865257a                 rhel-AppStream             276 k
 python38-pip                          noarch             19.3.1-4.module+el8.5.0+12205+a865257a                rhel-AppStream             1.9 M
Installing dependencies:
 python38                              x86_64             3.8.8-4.module+el8.5.0+12205+a865257a                 rhel-AppStream              79 k
 python38-libs                         x86_64             3.8.8-4.module+el8.5.0+12205+a865257a                 rhel-AppStream             8.3 M
 python38-pip-wheel                    noarch             19.3.1-4.module+el8.5.0+12205+a865257a                rhel-AppStream             1.2 M
 python38-setuptools                   noarch             41.6.0-5.module+el8.5.0+12205+a865257a                rhel-AppStream             668 k
 python38-setuptools-wheel             noarch             41.6.0-5.module+el8.5.0+12205+a865257a                rhel-AppStream             304 k
Enabling module streams:
 python38                                                 3.8                                                                                   

Transaction Summary
=================================================================================================================================================
Install  7 Packages
...

@alex
Copy link
Member Author

alex commented Apr 7, 2022

Ah interesting, I guess we should send a PR to infra to install in addition to the base python3 package.

@tiran
Copy link
Contributor

tiran commented Apr 7, 2022

Not all Python 3.6 modules are available. The AppStream modules for 3.8 and 3.9 provide a limited subset of important packages. cryptography is considered important. 🥇

======================================================== Name Exactly Matched: python38 =========================================================
python38.x86_64 : Interpreter of the Python programming language
============================================================ Name Matched: python38 =============================================================
python38-Cython.x86_64 : Language for writing Python extension modules
python38-PyMySQL.noarch : Pure-Python MySQL client library
python38-asn1crypto.noarch : Fast Python ASN.1 parser and serializer
python38-babel.noarch : Library for internationalizing Python applications
python38-cffi.x86_64 : Foreign Function Interface for Python 3 to call C code
python38-chardet.noarch : Character encoding auto-detection in Python
python38-cryptography.x86_64 : PyCA's cryptography library
python38-debug.x86_64 : Debug version of the Python runtime
python38-devel.x86_64 : Libraries and header files needed for Python development
python38-idle.x86_64 : A basic graphical development environment for Python
python38-idna.noarch : Internationalized Domain Names in Applications (IDNA)
python38-jinja2.noarch : General purpose template engine for python3
python38-libs.x86_64 : Python runtime libraries
python38-lxml.x86_64 : XML processing library combining libxml2/libxslt with the ElementTree API
python38-markupsafe.x86_64 : Implements a XML/HTML/XHTML Markup safe string for Python 3
python38-mod_wsgi.x86_64 : A WSGI interface for Python web applications in Apache
python38-numpy.x86_64 : A fast multidimensional array facility for Python
python38-numpy-doc.noarch : Documentation for numpy
python38-numpy-f2py.x86_64 : f2py for numpy
python38-pip.noarch : A tool for installing and managing Python3 packages
python38-pip-wheel.noarch : The pip wheel
python38-ply.noarch : Python Lex-Yacc
python38-psutil.x86_64 : A process and system utilities module for Python
python38-psycopg2.x86_64 : A PostgreSQL database adapter for Python 3
python38-psycopg2-doc.x86_64 : Documentation for psycopg python PostgreSQL database adapter
python38-psycopg2-tests.x86_64 : A testsuite for A PostgreSQL database adapter for Python 2
python38-pycparser.noarch : C parser and AST generator written in Python
python38-pysocks.noarch : A Python SOCKS client module
python38-pytz.noarch : World Timezone Definitions for Python
python38-pyyaml.x86_64 : YAML parser and emitter for Python
python38-requests.noarch : HTTP library, written in Python, for human beings
python38-rpm-macros.noarch : RPM macros for building RPMs with Python 3.8
python38-scipy.x86_64 : Scientific Tools for Python
python38-setuptools.noarch : Easily build and distribute Python 3 packages
python38-setuptools-wheel.noarch : The setuptools wheel
python38-six.noarch : Python 2 and 3 compatibility utilities
python38-test.x86_64 : The self-test suite for the main python3 package
python38-tkinter.x86_64 : A GUI toolkit for Python
python38-urllib3.noarch : Python3 HTTP library with thread-safe connection pooling and file post
python38-wheel.noarch : Built-package format for Python
python38-wheel-wheel.noarch : The Python wheel module packaged as a wheel

@alex alex force-pushed the bump-pyo3 branch 3 times, most recently from 4300bfa to 363e155 Compare April 19, 2022 22:48
@alex alex force-pushed the bump-pyo3 branch 4 times, most recently from b86b44b to 920cafa Compare May 2, 2022 16:54
@alex alex force-pushed the bump-pyo3 branch 2 times, most recently from 22cbd36 to 28336dd Compare May 28, 2022 11:37
@alex alex force-pushed the bump-pyo3 branch 2 times, most recently from 2cc58ad to 67a2f9d Compare June 20, 2022 11:28
@alex alex force-pushed the bump-pyo3 branch 3 times, most recently from 6686960 to 4a010d8 Compare November 29, 2022 04:14
@alex alex mentioned this pull request Jan 3, 2023
8 tasks
@alex alex force-pushed the bump-pyo3 branch 2 times, most recently from a3d97aa to 2979a2c Compare January 8, 2023 01:11
@alex alex added this to the Forty First Release milestone Jan 8, 2023
@alex alex force-pushed the bump-pyo3 branch 3 times, most recently from 690601d to 48b4b48 Compare January 17, 2023 12:04
@alex alex changed the title Upgrade to pyo3 0.17 Upgrade to pyo3 0.18 Jan 17, 2023
@alex alex force-pushed the bump-pyo3 branch 2 times, most recently from 86e493c to 730793a Compare February 8, 2023 17:34
@alex alex force-pushed the bump-pyo3 branch 3 times, most recently from 4e51180 to 315c363 Compare March 24, 2023 13:32
@alex alex marked this pull request as ready for review March 24, 2023 14:09
@reaperhulk reaperhulk enabled auto-merge (squash) March 24, 2023 21:22
@reaperhulk reaperhulk merged commit 7e62312 into pyca:main Mar 24, 2023
@alex alex deleted the bump-pyo3 branch March 24, 2023 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants