Skip to content

Commit

Permalink
Add pyproject.toml for build system dependencies
Browse files Browse the repository at this point in the history
The intention is to provide requirements for the Python
installer. There are features in the setup process which
require specific setuptools, wheels and pip versions.

Currently it seems that also older versions are able to
handle the install process.

The topic is complicated and not fully understood by
the author. But the intention is to provide more robust
and well defined installation and to understand the
concept better.

Required functionalities

PEP 508 defines python_version as one of the environment
markers which requires setuptools 36.2.0 (released Jul 13,
2017) or later [1]. This is used to select PyYAML version
as well as one test dependency.

PEP 566 added new metadata fields including Description-
Content-Type which requires setuptools 38.6.0 (released
Mar 15, 2018) or later [1]. This is used to define the
long description as rst formatted text. This seems to
require also wheel version 0.31.0 of greater [4].

Pip 9.1 added support for pyproject.toml.

[1] https://setuptools.readthedocs.io/en/latest/history.html
[2] https://pip.pypa.io/en/stable/news/
[3] https://hynek.me/articles/conditional-python-dependencies/
[4] pypi/warehouse#3664 (comment)

Signed-off-by: Heikki Laaksonen <laaksonen.heikki.j@gmail.com>
  • Loading branch information
heilaaks committed Oct 17, 2018
1 parent 7cd0f73 commit 3412b51
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions pyproject.toml
@@ -0,0 +1,3 @@
[build-system]
requires = ['setuptools>=38.6.0', 'wheel>0.31.0']

0 comments on commit 3412b51

Please sign in to comment.