Skip to content

Update to newest version of lxml #164

Description

@TakumiHendricksDev

I'm running into dependency issues where I am required to downgrade lxml to 4.9.4 from 5.1.0. Would be really nice to have this upgraded as I have other packages depending on this package as well.

Activity

  1. TakumiHendricksDev commented on Mar 24, 2025

    @TakumiHendricksDev
    Author

    Here is the branch for this issue.

  2. patrys commented on Apr 23, 2025

    @patrys

    This is also blocking for users of Python 3.13 since lxml versions before 5.x are incompatible.

  3. landonshumway-ia commented on Oct 28, 2025

    @landonshumway-ia

    @gnongsie This ticket has been open for over 6 months with no response, which is blocking Python 3.13 migrations for clients in production. As of now, the latest version of lxml is 6.0.2, and updating this dependency would resolve these compatibility issues.

    We understand maintaining SDKs requires development resources, but given how critical Authorize.net is for production payment processing, we hope Authorize.net can prioritize dependency updates for their SDKs. Could you or someone on your team please provide a timeline for addressing this, or would you be willing to review the PR linked above? Thank you.

  4. markcerv commented on Sep 21, 2026

    @markcerv

    Adding another data point: this is now a hard build failure, not just a version conflict. Trying to install authorizenet 1.1.6 (which pins lxml==4.*) under Python 3.14 fails outright — lxml 4.x's generated C code calls _PyLong_AsByteArray with a signature that no longer matches CPython 3.14's C API, so it won't even compile from source:

    src/lxml/etree.c:269767:27: error: too few arguments to function '_PyLong_AsByteArray'
    ...
    ERROR: Failed building wheel for lxml
    

    So this isn't just blocking newer-lxml users or Python 3.13 migrations anymore (per the comments above) — it now blocks Python 3.14 entirely, with no workaround available (lxml 4.x has no 3.14 wheels to fall back on either).

    #167 has had a clean, mergeable fix sitting open since March 2025. Given Authorize.Net's SDK sits directly in the payment-processing path for a lot of production apps, could someone take a look at merging it, or at minimum relax the lxml==4.* pin to something like lxml>=4.9,<7? Happy to help test if useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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