cryptography
cryptography copied to clipboard
Upgrade to pyo3 0.17
DO NOT MERGE, DROPS SUPPORT FOR PYTHON 3.6. FOR PROOF OF CONCEPT ONLY.
Follow up action items:
- [ ] Convert
crate::intern!()
to usepyo3::intern!()
for basically all static strings which are converted to PyObject - [ ] Use
Py<PyBytes>::as_bytes
instead of copying data to vec. - [x] Remove
let py = gil.python();
in many places
Could you also rebase this just to see if it fixes coverage?
@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.
@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
...
Ah interesting, I guess we should send a PR to infra to install in addition to the base python3 package.
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. :1st_place_medal:
======================================================== 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
Just FYI: I am currently trying to update the Debian packaging for cryptography to 37, and on Debian pyo3 0.17 packaging is already in the pipeline, while 0.16 is currently available on Debian unstable. Packaging the old pyo3 0.15 version just for cryptography will not happen, so I will likely be ending up picking these patches.
@cmhe thanks for the heads up -- we won't land these ourselves until we drop py36 (which sadly is very much alive), but I will keep this PR up to date so you should be able to cherry-pick it.
@alex: Do you by chance have a pyo3 0.16 patchset on top of 37.0.4?
I don't. If it helps, we'll be releasing 38.0 this week.
בתאריך יום ג׳, 6 בספט׳ 2022, 9:50, מאת Claudius Heine < @.***>:
@alex https://github.com/alex: Do you my chance have a pyo3 0.16 patchset on top of 37.0.4?
— Reply to this email directly, view it on GitHub https://github.com/pyca/cryptography/pull/6935#issuecomment-1238180193, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAAGBF37J3UKCVADIY4UCDV45DZZANCNFSM5P72IRLQ . You are receiving this because you were mentioned.Message ID: @.***>
@cmhe we've released 38 now, so it may be simpler to package that version, which is compatible with this PR.