diff options
| author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-03-24 18:28:25 +0000 |
|---|---|---|
| committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-03-24 18:28:25 +0000 |
| commit | 4923d1139be9366b3010a6d6e56d4c4980a0ab6e (patch) | |
| tree | 076339ae07e76cb6e778cffa7343ec5eb6d7e7b6 | |
| parent | 19181e38f641bfcd0f10ebf99087dea72080a88f (diff) | |
| download | python-setuptools-git-4923d1139be9366b3010a6d6e56d4c4980a0ab6e.tar.gz | |
Bump version: 60.10.0 → 61.0.0v61.0.0
| -rw-r--r-- | .bumpversion.cfg | 2 | ||||
| -rw-r--r-- | CHANGES.rst | 108 | ||||
| -rw-r--r-- | changelog.d/2887.change.1.rst | 22 | ||||
| -rw-r--r-- | changelog.d/2887.change.2.rst | 9 | ||||
| -rw-r--r-- | changelog.d/2894.breaking.rst | 11 | ||||
| -rw-r--r-- | changelog.d/3065.misc.rst | 4 | ||||
| -rw-r--r-- | changelog.d/3066.change.rst | 3 | ||||
| -rw-r--r-- | changelog.d/3068.change.rst | 13 | ||||
| -rw-r--r-- | changelog.d/3068.deprecation.rst | 8 | ||||
| -rw-r--r-- | changelog.d/3125.change.rst | 10 | ||||
| -rw-r--r-- | changelog.d/3152.change.rst | 4 | ||||
| -rw-r--r-- | changelog.d/3172.doc.rst | 2 | ||||
| -rw-r--r-- | changelog.d/3178.change.rst | 2 | ||||
| -rw-r--r-- | changelog.d/3179.change.rst | 1 | ||||
| -rw-r--r-- | setup.cfg | 2 |
15 files changed, 110 insertions, 91 deletions
diff --git a/.bumpversion.cfg b/.bumpversion.cfg index fd32042d..1b6f189f 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 60.10.0 +current_version = 61.0.0 commit = True tag = True diff --git a/CHANGES.rst b/CHANGES.rst index 86b82911..3c6dc17a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,111 @@ +v61.0.0 +------- + + +Deprecations +^^^^^^^^^^^^ +* #3068: Deprecated ``setuptools.config.read_configuration``, + ``setuptools.config.parse_configuration`` and other functions or classes + from ``setuptools.config``. + + Users that still need to parse and process configuration from ``setup.cfg`` can + import a direct replacement from ``setuptools.config.setupcfg``, however this + module is transitional and might be removed in the future + (the ``setup.cfg`` configuration format itself is likely to be deprecated in the future). + +Breaking Changes +^^^^^^^^^^^^^^^^ +* #2894: If you purposefully want to create an *"empty distribution"*, please be aware + that some Python files (or general folders) might be automatically detected and + included. + + Projects that currently don't specify both ``packages`` and ``py_modules`` in their + configuration and contain extra folders or Python files (not meant for distribution), + might see these files being included in the wheel archive or even experience + the build to fail. + + You can check details about the automatic discovery (and how to configure a + different behaviour) in :doc:`/userguide/package_discovery`. + +Changes +^^^^^^^ +* #2887: **[EXPERIMENTAL]** Added automatic discovery for ``py_modules`` and ``packages`` + -- by :user:`abravalheri`. + + Setuptools will try to find these values assuming that the package uses either + the *src-layout* (a ``src`` directory containing all the packages or modules), + the *flat-layout* (package directories directly under the project root), + or the *single-module* approach (an isolated Python file, directly under + the project root). + + The automatic discovery will also respect layouts that are explicitly + configured using the ``package_dir`` option. + + For backward-compatibility, this behavior will be observed **only if both** + ``py_modules`` **and** ``packages`` **are not set**. + (**Note**: specifying ``ext_modules`` might also prevent auto-discover from + taking place) + + If setuptools detects modules or packages that are not supposed to be in the + distribution, please manually set ``py_modules`` and ``packages`` in your + ``setup.cfg`` or ``setup.py`` file. + If you are using a *flat-layout*, you can also consider switching to + *src-layout*. +* #2887: **[EXPERIMENTAL]** Added automatic configuration for the ``name`` metadata + -- by :user:`abravalheri`. + + Setuptools will adopt the name of the top-level package (or module in the case + of single-module distributions), **only when** ``name`` **is not explicitly + provided**. + + Please note that it is not possible to automatically derive a single name when + the distribution consists of multiple top-level packages or modules. +* #3066: Added vendored dependencies for :pypi:`tomli`, :pypi:`validate-pyproject`. + + These dependencies are used to read ``pyproject.toml`` files and validate them. +* #3068: **[EXPERIMENTAL]** Add support for ``pyproject.toml`` configuration + (as introduced by :pep:`621`). Configuration parameters not covered by + standards are handled in the ``[tool.setuptools]`` sub-table. + + In the future, existing ``setup.cfg`` configuration + may be automatically converted into the ``pyproject.toml`` equivalent before taking effect + (as proposed in #1688). Meanwhile users can use automated tools like + :pypi:`ini2toml` to help in the transition. + + Please note that the legacy backend is not guaranteed to work with + ``pyproject.toml`` configuration. + + -- by :user:`abravalheri` +* #3125: Implicit namespaces (as introduced in :pep:`420`) are now considered by default + during :doc:`package discovery </userguide/package_discovery>`, when + ``setuptools`` configuration and project metadata are added to the + ``pyproject.toml`` file. + + To disable this behaviour, use ``namespaces = False`` when explicitly setting + the ``[tool.setuptools.packages.find]`` section in ``pyproject.toml``. + + This change is backwards compatible and does not affect the behaviour of + configuration done in ``setup.cfg`` or ``setup.py``. +* #3152: **[EXPERIMENTAL]** Added support for ``attr:`` and ``cmdclass`` configurations + in ``setup.cfg`` and ``pyproject.toml`` when ``package_dir`` is implicitly + found via auto-discovery. +* #3178: Postponed importing ``ctypes`` when hiding files on Windows. + This helps to prevent errors in systems that might not have `libffi` installed. +* #3179: Merge with pypa/distutils@267dbd25ac + +Documentation changes +^^^^^^^^^^^^^^^^^^^^^ +* #3172: Added initial documentation about configuring ``setuptools`` via ``pyproject.toml`` + (using standard project metadata). + +Misc +^^^^ +* #3065: Refactored ``setuptools.config`` by separating configuration parsing (specific + to the configuration file format, e.g. ``setup.cfg``) and post-processing + (which includes directives such as ``file:`` that can be used across different + configuration formats). + + v60.10.0 -------- diff --git a/changelog.d/2887.change.1.rst b/changelog.d/2887.change.1.rst deleted file mode 100644 index eeb5471e..00000000 --- a/changelog.d/2887.change.1.rst +++ /dev/null @@ -1,22 +0,0 @@ -**[EXPERIMENTAL]** Added automatic discovery for ``py_modules`` and ``packages`` --- by :user:`abravalheri`. - -Setuptools will try to find these values assuming that the package uses either -the *src-layout* (a ``src`` directory containing all the packages or modules), -the *flat-layout* (package directories directly under the project root), -or the *single-module* approach (an isolated Python file, directly under -the project root). - -The automatic discovery will also respect layouts that are explicitly -configured using the ``package_dir`` option. - -For backward-compatibility, this behavior will be observed **only if both** -``py_modules`` **and** ``packages`` **are not set**. -(**Note**: specifying ``ext_modules`` might also prevent auto-discover from -taking place) - -If setuptools detects modules or packages that are not supposed to be in the -distribution, please manually set ``py_modules`` and ``packages`` in your -``setup.cfg`` or ``setup.py`` file. -If you are using a *flat-layout*, you can also consider switching to -*src-layout*. diff --git a/changelog.d/2887.change.2.rst b/changelog.d/2887.change.2.rst deleted file mode 100644 index 1e3cc182..00000000 --- a/changelog.d/2887.change.2.rst +++ /dev/null @@ -1,9 +0,0 @@ -**[EXPERIMENTAL]** Added automatic configuration for the ``name`` metadata --- by :user:`abravalheri`. - -Setuptools will adopt the name of the top-level package (or module in the case -of single-module distributions), **only when** ``name`` **is not explicitly -provided**. - -Please note that it is not possible to automatically derive a single name when -the distribution consists of multiple top-level packages or modules. diff --git a/changelog.d/2894.breaking.rst b/changelog.d/2894.breaking.rst deleted file mode 100644 index 8ee780b6..00000000 --- a/changelog.d/2894.breaking.rst +++ /dev/null @@ -1,11 +0,0 @@ -If you purposefully want to create an *"empty distribution"*, please be aware -that some Python files (or general folders) might be automatically detected and -included. - -Projects that currently don't specify both ``packages`` and ``py_modules`` in their -configuration and contain extra folders or Python files (not meant for distribution), -might see these files being included in the wheel archive or even experience -the build to fail. - -You can check details about the automatic discovery (and how to configure a -different behaviour) in :doc:`/userguide/package_discovery`. diff --git a/changelog.d/3065.misc.rst b/changelog.d/3065.misc.rst deleted file mode 100644 index 31b9d59c..00000000 --- a/changelog.d/3065.misc.rst +++ /dev/null @@ -1,4 +0,0 @@ -Refactored ``setuptools.config`` by separating configuration parsing (specific -to the configuration file format, e.g. ``setup.cfg``) and post-processing -(which includes directives such as ``file:`` that can be used across different -configuration formats). diff --git a/changelog.d/3066.change.rst b/changelog.d/3066.change.rst deleted file mode 100644 index e672351f..00000000 --- a/changelog.d/3066.change.rst +++ /dev/null @@ -1,3 +0,0 @@ -Added vendored dependencies for :pypi:`tomli`, :pypi:`validate-pyproject`. - -These dependencies are used to read ``pyproject.toml`` files and validate them. diff --git a/changelog.d/3068.change.rst b/changelog.d/3068.change.rst deleted file mode 100644 index bedc5958..00000000 --- a/changelog.d/3068.change.rst +++ /dev/null @@ -1,13 +0,0 @@ -**[EXPERIMENTAL]** Add support for ``pyproject.toml`` configuration -(as introduced by :pep:`621`). Configuration parameters not covered by -standards are handled in the ``[tool.setuptools]`` sub-table. - -In the future, existing ``setup.cfg`` configuration -may be automatically converted into the ``pyproject.toml`` equivalent before taking effect -(as proposed in #1688). Meanwhile users can use automated tools like -:pypi:`ini2toml` to help in the transition. - -Please note that the legacy backend is not guaranteed to work with -``pyproject.toml`` configuration. - --- by :user:`abravalheri` diff --git a/changelog.d/3068.deprecation.rst b/changelog.d/3068.deprecation.rst deleted file mode 100644 index 3bae915c..00000000 --- a/changelog.d/3068.deprecation.rst +++ /dev/null @@ -1,8 +0,0 @@ -Deprecated ``setuptools.config.read_configuration``, -``setuptools.config.parse_configuration`` and other functions or classes -from ``setuptools.config``. - -Users that still need to parse and process configuration from ``setup.cfg`` can -import a direct replacement from ``setuptools.config.setupcfg``, however this -module is transitional and might be removed in the future -(the ``setup.cfg`` configuration format itself is likely to be deprecated in the future). diff --git a/changelog.d/3125.change.rst b/changelog.d/3125.change.rst deleted file mode 100644 index 716e95c0..00000000 --- a/changelog.d/3125.change.rst +++ /dev/null @@ -1,10 +0,0 @@ -Implicit namespaces (as introduced in :pep:`420`) are now considered by default -during :doc:`package discovery </userguide/package_discovery>`, when -``setuptools`` configuration and project metadata are added to the -``pyproject.toml`` file. - -To disable this behaviour, use ``namespaces = False`` when explicitly setting -the ``[tool.setuptools.packages.find]`` section in ``pyproject.toml``. - -This change is backwards compatible and does not affect the behaviour of -configuration done in ``setup.cfg`` or ``setup.py``. diff --git a/changelog.d/3152.change.rst b/changelog.d/3152.change.rst deleted file mode 100644 index 802a39ca..00000000 --- a/changelog.d/3152.change.rst +++ /dev/null @@ -1,4 +0,0 @@ -**[EXPERIMENTAL]** Added support for ``attr:`` and ``cmdclass`` configurations -in ``setup.cfg`` and ``pyproject.toml`` when ``package_dir`` is implicitly -found via auto-discovery. - diff --git a/changelog.d/3172.doc.rst b/changelog.d/3172.doc.rst deleted file mode 100644 index 1c179763..00000000 --- a/changelog.d/3172.doc.rst +++ /dev/null @@ -1,2 +0,0 @@ -Added initial documentation about configuring ``setuptools`` via ``pyproject.toml`` -(using standard project metadata). diff --git a/changelog.d/3178.change.rst b/changelog.d/3178.change.rst deleted file mode 100644 index dfb2d33b..00000000 --- a/changelog.d/3178.change.rst +++ /dev/null @@ -1,2 +0,0 @@ -Postponed importing ``ctypes`` when hiding files on Windows.
-This helps to prevent errors in systems that might not have `libffi` installed.
diff --git a/changelog.d/3179.change.rst b/changelog.d/3179.change.rst deleted file mode 100644 index 791a327b..00000000 --- a/changelog.d/3179.change.rst +++ /dev/null @@ -1 +0,0 @@ -Merge with pypa/distutils@267dbd25ac @@ -1,6 +1,6 @@ [metadata] name = setuptools -version = 60.10.0 +version = 61.0.0 author = Python Packaging Authority author_email = distutils-sig@python.org description = Easily download, build, install, upgrade, and uninstall Python packages |
