-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: abravalheri/setuptools
base: 7fe7a419
head repository: abravalheri/setuptools
compare: d34794d7
- 15 commits
- 30 files changed
- 1 contributor
Commits on Jan 24, 2022
-
Add
tomlias vendorised dependencyThis eventually will allow reading project metadata directly from `pyproject.toml`
Configuration menu - View commit details
-
Copy full SHA for 91a1152 - Browse repository at this point
Copy the full SHA 91a1152View commit details -
Add
validate-pyprojectas a vendored dependencyIn order to minimise dependencies, `validate-pyproject` has the ability to "dump" only the code necessary to run the validations to a given directory. This special strategy is used instead of the default `pip install -t`. The idea of using JSONSchema for validation was suggested in pypa#2671, and the rationale for that approach is further discussed in https://github.com/abravalheri/validate-pyproject/blob/main/docs/faq.rst Using a library such as `validate-pyproject` has the advantage of incentive sing reuse and collaboration with other projects. Currently `validate-pyproject` ships a JSONSchema for the proposed use of `pyproject.toml` as means of configuration for setuptools. In the future, if there is interest, setuptools could also ship its own schema and just use the shared infrastructure of `validate-pyproject` (by advertising the schemas via entry-points).
Configuration menu - View commit details
-
Copy full SHA for 4ac1f5f - Browse repository at this point
Copy the full SHA 4ac1f5fView commit details -
Implement read_configuration from pyproject.toml
This is the first step towards making setuptools understand `pyproject.toml` as a configuration file. The implementation deliberately allows splitting the act of loading the configuration from a file in 2 stages: the reading of the file itself and the expansion of directives (and other derived information).
Configuration menu - View commit details
-
Copy full SHA for fab3b79 - Browse repository at this point
Copy the full SHA fab3b79View commit details -
Expand dynamic entry_points from pyproject.toml
The user might specify dynamic `entry-points` via a `file:` directive (a similar feature for `setup.cfg` is documented in [declarative config]). The changes introduced here add the ability to expand them when reading the configuration from `pyproject.toml`. [declarative config]: https://setuptools.pypa.io/en/latest/userguide/declarative_config.html
Configuration menu - View commit details
-
Copy full SHA for 5db4da0 - Browse repository at this point
Copy the full SHA 5db4da0View commit details -
Make include_package_data=True for
pyproject.tomlconfigsThere is frequent an opinion in the community that `include_package_data=True` is a better default (and a quality of life improvement). Since we are migrating to a new configuration file, this change can be implemented in a backward compatible way (to avoid breaking existing packages): - Config from `setup.cfg` defaults to `include_package_data=False` - Config from `pyproject.toml` defaults to `include_package_data=True` This also takes advantage that `ini2toml` (the provided library for automatic conversion between `setup.cfg` and `pyproject.toml`) will backfill `include_package_data=False` when the field is missing.
Configuration menu - View commit details
-
Copy full SHA for 4500481 - Browse repository at this point
Copy the full SHA 4500481View commit details -
Add means of applying config read from pyproject.toml to dist
Since the Distrubition and DistributionMetadata classes are modeled after (an old version of) core metadata, it is necessary to add a translation layer between them and the configuration read from pyproject.toml
Configuration menu - View commit details
-
Copy full SHA for 7d72983 - Browse repository at this point
Copy the full SHA 7d72983View commit details -
Add the apply_configuration API to setuptools.config.setupcfg
The apply_configuration is implemented in a way that it is consistent for both pyproject.toml and setup.cfg
Configuration menu - View commit details
-
Copy full SHA for e338615 - Browse repository at this point
Copy the full SHA e338615View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0e3cf2 - Browse repository at this point
Copy the full SHA b0e3cf2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51b9568 - Browse repository at this point
Copy the full SHA 51b9568View commit details -
Configuration menu - View commit details
-
Copy full SHA for 28efd4e - Browse repository at this point
Copy the full SHA 28efd4eView commit details -
Add means to apply configuration from pyprojec.toml
(Merge branch 'dist-config-from-pyproject' into support-pyproject) This change targets adding a standardised project configuration format as initially proposed by PEP 621 (with the possibility of modification/evolution according to follow-up PEPs). For the configuration fields not covered by the standards, the approach proposed in https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html is adopted. The external libraries `tomli` and `validate-pyproject` are vendorised to support this operation.
Configuration menu - View commit details
-
Copy full SHA for 5666556 - Browse repository at this point
Copy the full SHA 5666556View commit details -
Add deprecation notice for config.{read,parse}_configuration
Since now setuptools supports 2 types of files for configuration (`setup.cfg` and `pyproject.toml`), it is very trick to provide a single `read_configuration` function that will provide compatible outputs for both formats. Instead the `config.{setupcfg,pyprojecttoml}` modules have their own `read_configuration` functions that differ between themselves in terms of arguments and format of the return value. Therefore the users should be importing directly the specific submodule and calling the read function from there. The `config.setupcfg` submodule is advertised as "provisional" in the deprecation note because the main proposal debated in the setuptools issue tracker reached some level of consensus around deprecating `setup.cfg` files.Configuration menu - View commit details
-
Copy full SHA for 3da045e - Browse repository at this point
Copy the full SHA 3da045eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e010ec4 - Browse repository at this point
Copy the full SHA e010ec4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5038561 - Browse repository at this point
Copy the full SHA 5038561View commit details -
Integrate
pyproject.tomlconfiguration into existing classes(Merge branch 'integration' into support-pyproject) This change builds on top of the recently added ability to parse and apply configurations from TOML files to distribution objects by tapping into the existing mechanism for handling configuration and making these TOML files to be read by default. A series of deprecation warnings and tests is also added.
Configuration menu - View commit details
-
Copy full SHA for d34794d - Browse repository at this point
Copy the full SHA d34794dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 7fe7a419...d34794d7