diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b62c806a..228f2e6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: - name: Setup python uses: actions/setup-python@v5.2.0 with: - python-version: "3.12" + python-version: "3.13" - name: Install requirements run: | python -m pip install -U pip @@ -53,7 +53,7 @@ jobs: with: cache: pip cache-dependency-path: requirements/lint.txt - python-version: "3.12" + python-version: "3.13" - name: Install requirements run: | python -m pip install -U pip @@ -125,9 +125,6 @@ jobs: # python: '3.13-dev' # experimental: true # test-timeout: 3 - exclude: - - os: macos-latest - python: '3.8' steps: - name: Input settings run: echo "${{ needs.Build.outputs.settings }}" | base64 -d | tar xz @@ -180,7 +177,7 @@ jobs: - ubuntu-latest - macos-latest python: - - '3.12' + - '3.13' - 'pypy-3.10' steps: - name: Checkout @@ -211,7 +208,7 @@ jobs: - name: Setup python uses: actions/setup-python@v5.2.0 with: - python-version: '3.12' + python-version: '3.13' - name: Download build artifact uses: actions/download-artifact@v4.1.2 with: @@ -243,7 +240,7 @@ jobs: with: cache: pip cache-dependency-path: requirements/coverage.txt - python-version: "3.12" + python-version: "3.13" - name: Install coverage run: | pip install -U pip diff --git a/.readthedocs.yml b/.readthedocs.yml index c5108e35..79d6a52d 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -2,9 +2,9 @@ version: 2 build: - os: ubuntu-20.04 + os: ubuntu-22.04 tools: - python: "3.10" + python: "3.12" jobs: post_checkout: - git fetch --unshallow diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 3c4e1438..00000000 --- a/codecov.yml +++ /dev/null @@ -1,8 +0,0 @@ -# https://docs.codecov.io/docs/codecovyml-reference - -coverage: - precision: 1 - round: down - range: "70...100" - -comment: false diff --git a/docs/source/conf.py b/docs/source/conf.py index 97799dbb..051e1395 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -19,8 +19,9 @@ # import os import sys + # So autodoc can import our package -sys.path.insert(0, os.path.abspath('../..')) +sys.path.insert(0, os.path.abspath("../..")) # Warn about all references to unknown targets @@ -57,17 +58,17 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.intersphinx', - 'sphinx.ext.coverage', - 'sphinx.ext.napoleon', - 'sphinxcontrib_trio', - 'sphinxcontrib.jquery', + "sphinx.ext.autodoc", + "sphinx.ext.intersphinx", + "sphinx.ext.coverage", + "sphinx.ext.napoleon", + "sphinxcontrib_trio", + "sphinxcontrib.jquery", ] intersphinx_mapping = { - "python": ('https://docs.python.org/3', None), - "trio": ('https://trio.readthedocs.io/en/stable', None), + "python": ("https://docs.python.org/3", None), + "trio": ("https://trio.readthedocs.io/en/stable", None), } autodoc_member_order = "bysource" @@ -79,15 +80,15 @@ # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] -source_suffix = '.rst' +source_suffix = ".rst" # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = 'trio-parallel' -copyright = 'Richard J. Sheridan' -author = 'Richard J. Sheridan' +project = "trio-parallel" +copyright = "Richard J. Sheridan" +author = "Richard J. Sheridan" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -95,16 +96,19 @@ # # The short X.Y version. from importlib.metadata import version -version = version('trio-parallel') + +version = version("trio-parallel") # The full version, including alpha/beta/rc tags. release = version # https://docs.readthedocs.io/en/stable/builds.html#build-environment if "READTHEDOCS" in os.environ: import glob + if glob.glob("../../newsfragments/*.*.rst"): print("-- Found newsfragments; running towncrier --", flush=True) import subprocess + subprocess.run( ["towncrier", "build", "--yes", "--version", version], cwd="../..", @@ -120,7 +124,7 @@ # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. -language = 'en' +language = "en" # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -128,10 +132,10 @@ exclude_patterns = [] # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = "sphinx" # The default language for :: blocks -highlight_language = 'python3' +highlight_language = "python3" # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False @@ -150,14 +154,12 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -#html_theme = 'alabaster' +# html_theme = 'alabaster' # We have to set this ourselves, not only because it's useful for local # testing, but also because if we don't then RTD will throw away our # html_theme_options. -import sphinx_rtd_theme -html_theme = 'sphinx_rtd_theme' -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +html_theme = "sphinx_rtd_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -171,22 +173,22 @@ # versions/settings... "navigation_depth": 4, "logo_only": True, - 'prev_next_buttons_location': 'both' + "prev_next_buttons_location": "both", } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] html_css_files = [ - 'custom.css', + "custom.css", ] # -- Options for HTMLHelp output ------------------------------------------ # Output file base name for HTML help builder. -htmlhelp_basename = 'trio-paralleldoc' +htmlhelp_basename = "trio-paralleldoc" # -- Options for LaTeX output --------------------------------------------- @@ -195,15 +197,12 @@ # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', - # The font size ('10pt', '11pt' or '12pt'). # # 'pointsize': '10pt', - # Additional stuff for the LaTeX preamble. # # 'preamble': '', - # Latex figure (float) alignment # # 'figure_align': 'htbp', @@ -213,8 +212,7 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'trio-parallel.tex', 'Trio Documentation', - author, 'manual'), + (master_doc, "trio-parallel.tex", "Trio Documentation", author, "manual"), ] @@ -222,10 +220,7 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'trio-parallel', 'trio-parallel Documentation', - [author], 1) -] +man_pages = [(master_doc, "trio-parallel", "trio-parallel Documentation", [author], 1)] # -- Options for Texinfo output ------------------------------------------- @@ -234,7 +229,13 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - (master_doc, 'trio-parallel', 'trio-parallel Documentation', - author, 'trio-parallel', 'CPU parallelism for Trio', - 'Miscellaneous'), + ( + master_doc, + "trio-parallel", + "trio-parallel Documentation", + author, + "trio-parallel", + "CPU parallelism for Trio", + "Miscellaneous", + ), ] diff --git a/newsfragments/434.feature.rst b/newsfragments/434.feature.rst new file mode 100644 index 00000000..3a5e670b --- /dev/null +++ b/newsfragments/434.feature.rst @@ -0,0 +1 @@ +Advertise support for Python-3.13, although no code changes were made to support it. diff --git a/newsfragments/434.removal.rst b/newsfragments/434.removal.rst new file mode 100644 index 00000000..d015f9c1 --- /dev/null +++ b/newsfragments/434.removal.rst @@ -0,0 +1 @@ +Stop advertising support for Python-3.8, although no code changes were made to break it. diff --git a/pyproject.toml b/pyproject.toml index 0f41f8db..0ce7b807 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,11 +18,11 @@ classifiers = [ "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Development Status :: 5 - Production/Stable", diff --git a/requirements/coverage.txt b/requirements/coverage.txt index c570a12e..d361c9d3 100644 --- a/requirements/coverage.txt +++ b/requirements/coverage.txt @@ -5,5 +5,5 @@ # # pip-compile-multi # -coverage[toml]==7.5.4 +coverage[toml]==7.6.3 # via -r requirements\coverage.in diff --git a/requirements/dev.in b/requirements/dev.in index 0f4d25cf..d9eb7a71 100644 --- a/requirements/dev.in +++ b/requirements/dev.in @@ -1,3 +1,4 @@ -r test.in -r docs.in --r lint.in \ No newline at end of file +-r lint.in +-r coverage.in diff --git a/requirements/dev.txt b/requirements/dev.txt index 2b34fc7a..5b1bd822 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,10 +1,11 @@ -# SHA1:657999018ebf5f3362ebb8566642201085ff09d3 +# SHA1:64f3330cb21a24de944be0c0611a2d1920d63b44 # # This file is autogenerated by pip-compile-multi # To update, run: # # pip-compile-multi # +-r coverage.txt -r docs.txt -r lint.txt -r test.txt diff --git a/requirements/docs.txt b/requirements/docs.txt index 21726a9a..4d33e1d8 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -6,13 +6,13 @@ # pip-compile-multi # -r install.txt -alabaster==0.7.16 +alabaster==1.0.0 # via sphinx -babel==2.15.0 +babel==2.16.0 # via sphinx -certifi==2024.7.4 +certifi==2024.8.30 # via requests -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests click==8.1.7 # via towncrier @@ -20,19 +20,17 @@ colorama==0.4.6 # via # click # sphinx -docutils==0.20.1 +docutils==0.21.2 # via # sphinx # sphinx-rtd-theme imagesize==1.4.1 # via sphinx -incremental==22.10.0 - # via towncrier jinja2==3.1.4 # via # sphinx # towncrier -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 packaging==24.1 # via sphinx @@ -42,31 +40,31 @@ requests==2.32.3 # via sphinx snowballstemmer==2.2.0 # via sphinx -sphinx==7.3.7 +sphinx==8.1.3 # via # -r requirements\docs.in # sphinx-rtd-theme # sphinxcontrib-jquery # sphinxcontrib-trio -sphinx-rtd-theme==2.0.0 +sphinx-rtd-theme==3.0.1 # via -r requirements\docs.in -sphinxcontrib-applehelp==1.0.8 +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.6 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.5 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jquery==4.1 # via sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.7 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.10 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx sphinxcontrib-trio==1.1.2 # via -r requirements\docs.in -towncrier==23.11.0 +towncrier==24.8.0 # via -r requirements\docs.in -urllib3==2.2.2 +urllib3==2.2.3 # via requests diff --git a/requirements/install.txt b/requirements/install.txt index 7e6ef4d5..8ffed149 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -5,16 +5,16 @@ # # pip-compile-multi # -attrs==23.2.0 +attrs==24.2.0 # via # -r requirements\install.in # outcome # trio -cffi==1.16.0 ; os_name == "nt" and implementation_name != "pypy" +cffi==1.17.1 ; os_name == "nt" and implementation_name != "pypy" # via # -r requirements\install.in # trio -idna==3.7 +idna==3.10 # via trio outcome==1.3.0.post0 # via diff --git a/requirements/lint.txt b/requirements/lint.txt index e91f9a85..7a6cb3b1 100644 --- a/requirements/lint.txt +++ b/requirements/lint.txt @@ -5,19 +5,19 @@ # # pip-compile-multi # -black==24.4.2 +black==24.10.0 # via -r requirements\lint.in click==8.1.7 # via black colorama==0.4.6 # via click -flake8==7.1.0 +flake8==7.1.1 # via # -r requirements\lint.in # flake8-async -flake8-async==24.6.1 +flake8-async==24.9.5 # via -r requirements\lint.in -libcst==1.4.0 +libcst==1.5.0 # via flake8-async mccabe==0.7.0 # via flake8 @@ -27,11 +27,11 @@ packaging==24.1 # via black pathspec==0.12.1 # via black -platformdirs==4.2.2 +platformdirs==4.3.6 # via black -pycodestyle==2.12.0 +pycodestyle==2.12.1 # via flake8 pyflakes==3.2.0 # via flake8 -pyyaml==6.0.1 +pyyaml==6.0.2 # via libcst diff --git a/requirements/test.txt b/requirements/test.txt index f57ab62b..da91ad80 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,7 +8,7 @@ -r install.txt colorama==0.4.6 # via pytest -coverage[toml]==7.5.4 +coverage[toml]==7.6.3 # via # -r requirements\test.in # pytest-cov @@ -20,7 +20,7 @@ packaging==24.1 # via pytest pluggy==1.5.0 # via pytest -pytest==8.2.2 +pytest==8.3.3 # via # -r requirements\test.in # pytest-cov