Skip to content

Please unbreak the library for cryptography 3.4.x #616

@barracuda156

Description

@barracuda156

This 488f1ab recent commit has broken the library for systems without Rust, where cryptography cannot be updated to v. 42.x.

Example of the issue:

% mangadex-dl                                
Traceback (most recent call last):
  File "/opt/local/bin/mangadex-dl", line 5, in <module>
    from mangadex_downloader.__main__ import main
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/mangadex_downloader/__main__.py", line 23, in <module>
    from mangadex_downloader.cli import main
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/mangadex_downloader/cli/__init__.py", line 4, in <module>
    from .update import check_update
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/mangadex_downloader/cli/update.py", line 26, in <module>
    from ..update import check_version
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/mangadex_downloader/update.py", line 35, in <module>
    from .network import Net
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/mangadex_downloader/network.py", line 44, in <module>
    from requests_doh import DNSOverHTTPSAdapter, set_dns_provider
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/requests_doh/__init__.py", line 12, in <module>
    from .session import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/requests_doh/session.py", line 2, in <module>
    from .adapter import DNSOverHTTPSAdapter
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/requests_doh/adapter.py", line 8, in <module>
    from .connector.default import (
    ...<2 lines>...
    )
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/requests_doh/connector/default.py", line 22, in <module>
    from ..resolver import resolve_dns
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/requests_doh/resolver.py", line 4, in <module>
    from dns.query import https as query_https
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/dns/query.py", line 39, in <module>
    import dns.quic
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/dns/quic/__init__.py", line 10, in <module>
    from dns.quic._asyncio import AsyncioQuicConnection as AsyncioQuicConnection
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/dns/quic/_asyncio.py", line 9, in <module>
    import aioquic.h3.connection  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/aioquic/h3/connection.py", line 20, in <module>
    from aioquic.quic.connection import QuicConnection, stream_is_unidirectional
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/aioquic/quic/connection.py", line 18, in <module>
    from .. import tls
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/aioquic/tls.py", line 38, in <module>
    from cryptography.hazmat.primitives.asymmetric.types import (
    ...<2 lines>...
    )
ModuleNotFoundError: No module named 'cryptography.hazmat.primitives.asymmetric.types'

Could those modules be used conditionally?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions