This implements PEP 621, obviating the need for both setup.py and MANIFEST.in. Support has not landed in setuptools, so builds will now use hatchling. We also did this for all integrations: https://github.com/DataDog/integrations-core
This also drops support for EOL Python 3.x versions since hatchling and other build backends like setuptools have already done so. This will not break anything because pip only looks for version candidates that satisfy the requires-python field. Here are stats for the curious: https://pypistats.org/packages/datadog
Note that the setup.py file will be removed when we drop Python 2 since new-style editable installations require versions of pip that are Python 3-only. Basically, this is just for the py27 test tox environment.
What does this PR do?
This implements PEP 621, obviating the need for both
setup.py
andMANIFEST.in
. Support has not landed insetuptools
, so builds will now usehatchling
. We also did this for all integrations: https://github.com/DataDog/integrations-coreThis also drops support for EOL Python 3.x versions since
hatchling
and other build backends likesetuptools
have already done so. This will not break anything becausepip
only looks for version candidates that satisfy therequires-python
field. Here are stats for the curious: https://pypistats.org/packages/datadogNote that the
setup.py
file will be removed when we drop Python 2 since new-style editable installations require versions ofpip
that are Python 3-only. Basically, this is just for thepy27
testtox
environment.