Skip to content

Complete 3.11 Support #3230

Closed
Closed

Description

@cooperlees

Some dependencies are blocking us testing black to make sure we're 100% 3.11 ready. Let work with/around them for now to at least get partial testing into CI.

This issue to to track all the needed fixes to get us there. Will get more detail here are we learn.

Known Issues

  • aiohttp for blackd
    • Will look at skipping blackd tests for now for 3.11
  • mypyc compiling

Step 1: Get partial 3.11 CI running
Step 2: work with dependency projects
Step X: Add back parts to get to full test suite

Activity

  1. added
    help wantedExtra attention is needed
    C: packagingInstallation and packaging of Black
    C: maintenanceRelated to project maintenance, e.g. CI, testing, policy changes, releases
    on Aug 18, 2022
  2. self-assigned this
    on Aug 18, 2022
  3. added this to the Release 22.8.0 milestone on Aug 18, 2022
  4. self-assigned this
    on Aug 18, 2022
  5. ichard26 commented on Aug 18, 2022

    @ichard26
    Collaborator

    Regarding aiohttp there's two main problems that make testing 3.11 a bit of a pain:


    Regarding mypyc, mypyc already supports 3.11 AFAIK. The problem is on our end. Linux is unsupported since I'm still using this really old manylinux image (that doesn't come with 3.11) to work around the weird linker error.

    black/pyproject.toml

    Lines 64 to 65 in 4ebf14d

    # Newer images break the builds, not sure why. We'll need to investigate more later.
    manylinux-x86_64-image = "quay.io/pypa/manylinux2014_x86_64:2021-11-20-f410d11"

    macOS/Windows are raising new type errors (about tomllib out of all things)

      + python -m pip wheel 'D:\a\black-mypyc-wheels\black-mypyc-wheels' '--wheel-dir=C:\Users\runneradmin\AppData\Local\Temp\cibw-run-swrchwj1\cp311-win_amd64\built_wheel' --no-deps -v
      Processing d:\a\black-mypyc-wheels\black-mypyc-wheels
        Preparing metadata (pyproject.toml): started
        Running command Preparing metadata (pyproject.toml)
        Parsed and typechecked in 14.773s
        Compiled to C in 0.000s
        src\black\files.py:29:9: error: Name "tomllib" already defined (by an import)
    

    https://github.com/ichard26/black-mypyc-wheels/runs/7842350331?check_suite_focus=true#step:5:3585

    macOS/Windows should be an easy fix assuming the one type error is all the new errors under 3.11 :)

  6. added a commit that references this issue on Oct 6, 2022
  7. added a commit that references this issue on Oct 27, 2022
  8. kjyv commented on Dec 16, 2022

    @kjyv

    I looks like aiohttp 3.8.3 installs fine with Python 3.11 (just tested it). See also aio-libs/aiohttp#6600

  9. cooperlees commented on Dec 16, 2022

    @cooperlees
    CollaboratorAuthor

    O cool - Thanks for the update - I'll see what hacks I can undo!

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

Metadata

Metadata

Labels

C: maintenanceRelated to project maintenance, e.g. CI, testing, policy changes, releasesC: packagingInstallation and packaging of BlackT: enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions