Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Port requirements to PEP735#29281

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
QuLogic wants to merge1 commit intomatplotlib:main
base:main
Choose a base branch
Loading
fromQuLogic:pep735
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions.circleci/config.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -103,10 +103,10 @@ commands:
- run:
name: Install Python dependencies
command: |
python -m pip install --user -r requirements/dev/build-requirements.txt
python -m pip install --user --groupbuild
python -m pip install --user \
numpy<< parameters.numpy_version >> \
-r requirements/doc/doc-requirements.txt
--groupdoc
python -m pip install --no-deps --user \
git+https://github.com/matplotlib/mpl-sphinx-theme.git

Expand Down
12 changes: 3 additions & 9 deletions.github/workflows/cygwin.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -143,7 +143,7 @@ jobs:
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: C:\cygwin\home\runneradmin\.cache\pip
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: Cygwin-py3.${{ matrix.python-minor-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: ${{ matrix.os }}-py3.${{ matrix.python-minor-version }}-pip-

- name: Cache ccache
Expand DownExpand Up@@ -174,15 +174,9 @@ jobs:
- name: Install Python dependencies
shell: bash.exe -eo pipefail -o igncr "{0}"
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install kiwisolver 'numpy>=1.22,<1.26' pillow importlib_resources
grep -v -F -e psutil requirements/testing/all.txt >requirements_test.txt
python -m pip install meson-python pybind11
python -m pip install --group build 'numpy>=1.25,<1.26'
export PATH="/usr/local/bin:$PATH"
python -m pip install --no-build-isolation 'contourpy>=1.0.1'
python -m pip install --upgrade cycler fonttools \
packaging pyparsing python-dateutil setuptools-scm \
-r requirements_test.txt sphinx ipython
python -m pip install --upgrade --group test sphinx ipython
python -m pip install --upgrade pycairo 'cairocffi>=0.8' PyGObject &&
python -c 'import gi; gi.require_version("Gtk", "3.0"); from gi.repository import Gtk' &&
echo 'PyGObject is available' ||
Expand Down
2 changes: 1 addition & 1 deletion.github/workflows/reviewdog.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -65,7 +65,7 @@ jobs:
python-version: '3.11'

- name: Install mypy
run: pip3 install -r requirements/testing/mypy.txt -r requirements/testing/all.txt
run: pip3 install --group build --group typing

- name: Set up reviewdog
uses: reviewdog/action-setup@e04ffabe3898a0af8d0fb1af00c188831c4b5893 # v1.3.9
Expand Down
16 changes: 6 additions & 10 deletions.github/workflows/tests.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -50,14 +50,14 @@ jobs:
- name-suffix: "(Minimum Versions)"
os: ubuntu-22.04
python-version: '3.11'
extra-requirements: '-c requirements/testing/minver.txt'
extra-requirements: '--group test-minver'
delete-font-cache: true
# https://github.com/matplotlib/matplotlib/issues/29844
pygobject-ver: '<3.52.0'
- os: ubuntu-22.04
python-version: '3.11'
CFLAGS: "-fno-lto" # Ensure that disabling LTO works.
extra-requirements: '-r requirements/testing/extra.txt'
extra-requirements: '--group test-extra'
# https://github.com/matplotlib/matplotlib/issues/29844
pygobject-ver: '<3.52.0'
- os: ubuntu-22.04-arm
Expand DownExpand Up@@ -180,15 +180,15 @@ jobs:
if: startsWith(runner.os, 'Linux')
with:
path: ~/.cache/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache pip
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
if: startsWith(runner.os, 'macOS')
with:
path: ~/Library/Caches/pip
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('requirements/*/*.txt') }}
key: ${{ matrix.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ matrix.os }}-py${{ matrix.python-version }}-pip-
- name: Cache ccache
Expand DownExpand Up@@ -225,12 +225,8 @@ jobs:

# Install dependencies from PyPI.
# Preinstall build requirements to enable no-build-isolation builds.
python -m pip install --upgrade $PRE \
'contourpy>=1.0.1' cycler fonttools kiwisolver importlib_resources \
packaging pillow 'pyparsing!=3.1.0' python-dateutil setuptools-scm \
'meson-python>=0.13.1' 'pybind11>=2.13.2' \
-r requirements/testing/all.txt \
${{ matrix.extra-requirements }}
python -m pip install --upgrade $PRE --prefer-binary \
--group build --group test ${{ matrix.extra-requirements }}

# Install optional dependencies from PyPI.
# Sphinx is needed to run sphinxext tests
Expand Down
4 changes: 2 additions & 2 deletionsazure-pipelines.yml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -74,8 +74,8 @@ stages:
-bash:|
python -m pip install --upgrade pip
python -m pip install --upgrade -r requirements/dev/build-requirements.txt
python -m pip install -r requirements/testing/all.txt -r requirements/testing/extra.txt
python -m pip install --upgrade --groupbuild
python -m pip install --prefer-binary --group test --group test-extra
displayName: 'Install dependencies with pip'
-bash:|
Expand Down
11 changes: 11 additions & 0 deletionsdoc/api/next_api_changes/development/29181-ES.rst
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
pip 25.1 suggested for development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Dependencies for development (build and testing) are now specified as `Dependency Groups
<https://packaging.python.org/en/latest/specifications/dependency-groups/#dependency-groups>`_
instead of `individual requirements files
<https://pip.pypa.io/en/stable/reference/requirements-file-format/>`_.

Consequently, a version of pip that supports Dependency Groups is suggested, namely
version 25.1 or higher. Note that if you install build/testing dependencies manually (by
copying the list from ``pyproject.toml``), then an older version of pip is sufficient.
3 changes: 2 additions & 1 deletiondoc/devel/development_setup.rst
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -177,7 +177,8 @@ setup.

Install the Python dependencies with ::

pip install -r requirements/dev/dev-requirements.txt
pip install -U pip # You may skip this step if pip 25.1 is already available.
pip install --group dev

Remember to activate the environment whenever you start working on Matplotlib!

Expand Down
2 changes: 1 addition & 1 deletiondoc/devel/release_guide.rst
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -429,7 +429,7 @@ To build the documentation you must have the tagged version installed, but
build the docs from the ``ver-doc`` branch. An easy way to arrange this is::

pip install matplotlib
pip install -r requirements/doc/doc-requirements.txt
pip install --groupdoc
git checkout v3.7.0-doc
git clean -xfd
make -Cdoc O="-t release -j$(nproc)" html latexpdf LATEXMKOPTS="-silent -f"
Expand Down
14 changes: 4 additions & 10 deletionsdoc/install/dependencies.rst
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -396,17 +396,11 @@ Documentation dependencies
Python
------

The additional Python packages required to build the
:ref:`documentation <documenting-matplotlib>` are listed in
:file:`doc-requirements.txt` and can be installed using ::

pip install -r requirements/doc/doc-requirements.txt

The content of :file:`doc-requirements.txt` is also shown below:

.. include:: ../../requirements/doc/doc-requirements.txt
:literal:
The additional Python packages required to build the :ref:`documentation
<documenting-matplotlib>` are listed in :file:`pyproject.toml` and can be
installed using ::

pip install --group doc

.. _doc-dependencies-external:

Expand Down
142 changes: 125 additions & 17 deletionspyproject.toml
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,10 +24,9 @@ classifiers=[

# When updating the list of dependencies, add an api_changes/development
# entry and also update the following places:
# - the `build` and `test-minver` dependency groups below
# - lib/matplotlib/__init__.py (matplotlib._check_versions())
# - requirements/testing/minver.txt
# - doc/devel/dependencies.rst
# - .github/workflows/tests.yml
# - environment.yml
dependencies = [
"contourpy >= 1.0.1",
Expand All@@ -43,20 +42,6 @@ dependencies = [
# Also keep in sync with find_program of meson.build.
requires-python = ">=3.11"

[project.optional-dependencies]
# Should be a copy of the build dependencies below.
dev = [
"meson-python>=0.13.1,!=0.17.*",
"pybind11>=2.13.2,!=2.13.3",
"setuptools_scm>=7",
# Not required by us but setuptools_scm without a version, cso _if_
# installed, then setuptools_scm 8 requires at least this version.
# Unfortunately, we can't do a sort of minimum-if-installed dependency, so
# we need to keep this for now until setuptools_scm _fully_ drops
# setuptools.
"setuptools>=64",
]

[project.urls]
"Homepage" = "https://matplotlib.org"
"Download" = "https://matplotlib.org/stable/install/index.html"
Expand All@@ -68,7 +53,7 @@ dev = [

[build-system]
build-backend = "mesonpy"
# Also keep in sync withoptional dependencies above.
# Also keep in sync withdependency groups below.
requires = [
# meson-python 0.17.x breaks symlinks in sdists. You can remove this pin if
# you really need it and aren't using an sdist.
Expand All@@ -77,6 +62,129 @@ requires = [
"setuptools_scm>=7",
]

[dependency-groups]
build = [
# Should be the same as `[project] dependencies` above.
"contourpy >= 1.0.1",
"cycler >= 0.10",
"fonttools >= 4.22.0",
"kiwisolver >= 1.3.1",
"numpy >= 1.25",
"packaging >= 20.0",
"pillow >= 9",
"pyparsing >= 3",
"python-dateutil >= 2.7",

# Should be the same as `[build-system] requires` above.
"meson-python>=0.13.1,!=0.17.*",
"pybind11>=2.13.2,!=2.13.3",
"setuptools_scm>=7",
# Not required by us but setuptools_scm without a version, so _if_
# installed, then setuptools_scm 8 requires at least this version.
# Unfortunately, we can't do a sort of minimum-if-installed dependency, so
# we need to keep this for now until setuptools_scm _fully_ drops
# setuptools.
"setuptools>=64",
]
dev = [
{include-group = "build"},
{include-group = "doc"},
{include-group = "test"},
{include-group = "test-extra"},
"pre-commit",
]
# Requirements for building docs
#
# You will first need a matching Matplotlib installation
# e.g (from the Matplotlib root directory)
# pip install --group build --no-build-isolation --editable .
#
# Install the documentation requirements with:
# pip install --group doc
#
doc = [
"sphinx>=5.1.0,!=6.1.2",
"colorspacious",
"ipython",
"ipywidgets",
"ipykernel",
"numpydoc>=1.0",
"pydata-sphinx-theme~=0.15.0",
"mpl-sphinx-theme~=3.9.0",
"pyyaml",
"PyStemmer",
"sphinxcontrib-svg2pdfconverter>=1.1.0",
"sphinxcontrib-video>=0.2.1",
"sphinx-copybutton",
"sphinx-design",
"sphinx-gallery[parallel]>=0.12.0",
"sphinx-tags>=0.4.0",
]

# pip requirements for all the CI builds
test = [
"black<24",
"certifi",
"coverage!=6.3",
"psutil; sys_platform != 'cygwin'",
"pytest!=4.6.0,!=5.4.0,!=8.1.0",
"pytest-cov",
"pytest-rerunfailures",
"pytest-timeout",
"pytest-xdist",
"pytest-xvfb",
"tornado",
]

# Extra pip requirements
test-extra = [
"ipykernel",
# jupyter/nbconvert#1970 for the 7.3 series exclusions
"nbconvert[execute]!=6.0.0,!=6.0.1,!=7.3.0,!=7.3.1",
"nbformat!=5.0.0,!=5.0.1",
"pandas!=0.25.0",
"pikepdf",
"pytz",
"pywin32; sys_platform == 'win32'",
"xarray",
]

# Extra pip requirements for the minimum-version CI run
test-minver = [
"contourpy==1.0.1",
"cycler==0.10",
"fonttools==4.22.0",
"importlib-resources==3.2.0",
"kiwisolver==1.3.2",
"meson-python==0.13.1",
"meson==1.1.0",
"numpy==1.25.0",
"packaging==20.0",
"pillow==9.0.1",
"pyparsing==3.0.0",
"pytest==7.0.0",
"python-dateutil==2.7",
# Test ipython/matplotlib-inline before backend mapping moved to mpl.
# This should be tested for a reasonably long transition period,
# but we will eventually remove the test when we no longer support
# ipython/matplotlib-inline versions from before the transition.
"ipython==7.29.0",
"ipykernel==5.5.6",
"matplotlib-inline<0.1.7",
]

# Extra pip requirements for the GitHub Actions mypy build
typing = [
"mypy>=1.9",
"typing-extensions>=4.6",
# Extra stubs distributed separately from the main pypi package
"pandas-stubs",
"types-pillow",
"types-python-dateutil",
"types-psutil",
"sphinx",
]

[tool.meson-python.args]
install = ['--tags=data,python-runtime,runtime']

Expand Down
3 changes: 0 additions & 3 deletionsrequirements/dev/build-requirements.txt
View file
Open in desktop

This file was deleted.

5 changes: 0 additions & 5 deletionsrequirements/dev/dev-requirements.txt
View file
Open in desktop

This file was deleted.

26 changes: 0 additions & 26 deletionsrequirements/doc/doc-requirements.txt
View file
Open in desktop

This file was deleted.

13 changes: 0 additions & 13 deletionsrequirements/testing/all.txt
View file
Open in desktop

This file was deleted.

12 changes: 0 additions & 12 deletionsrequirements/testing/extra.txt
View file
Open in desktop

This file was deleted.

Loading
Loading

[8]ページ先頭

©2009-2025 Movatter.jp