Drop in replacement for setuptools that uses pyproject.toml files
Project description
ppsetuptools => pyproject setuptools
A drop in replacement for python setuptools that uses pyproject.toml files for python 3.6+ projects
Usage
To install run pip install ppsetuptools
in your project.
Place your project settings in the [project]
table of your pyproject.toml.
Also ensure that ppsetuptools
is included in your [build-system]
table
in the requires
list.
Replace setuptools import in your setup.py
with an import of ppsetuptools.
ppsetuptools exposes all functions from setuptools, and in addition will map
your pyproject.toml
data to the call to setuptools.setup
for you (via
PEP-621 compliant entries).
Example pyproject.toml
[project]
name = 'my_package'
project_name = 'my_package'
version = '1.0.0'
readme = 'README.md'
install_requires = [
'setuptools',
'toml'
]
include_package_data = true
[build-system]
requires = [
'setuptools >= 40.8.0',
'wheel >= 0.35.1',
'toml >= 0.10.1'
]
build-backend = 'setuptools.build_meta'
Example setup.py
from ppsetuptools import setup
setup()
File locations
As of now, the library attempts to find a pyproject.toml
file in the same
directory as the python file that called it. So if calling directly from
setup.py
, ensure that your pyproject.toml
file is in the same directory.
As well any file references (such as the readme
) will attempt to be followed
from this location.
E.g., if including a redme = 'README.md'
value, ppsetuptools will look for
README.md
in the same directory as the file that called it.
Function support
As of now, ppsetuptools does not support calculated values within the
pyproject.toml
file. If calculated values are needed, ppsetuptools
will combine the args passed to the setup
call with the values in the
pyproject.toml
file, so you may call setup like so, and it will still use your
pyproject.toml
values in addition to the passed values.
from ppsetuptools import setup, find_packages
setup(
find_packages(exclude=['tests'])
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ppsetuptools-2.0.2.tar.gz
.
File metadata
- Download URL: ppsetuptools-2.0.2.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736bd1447ba8106fefefdef49be7455797fd45723d4b761161326b1c20b6a489 |
|
MD5 | 6c374bfeb50b992812d8153c048256bb |
|
BLAKE2b-256 | 00dc1c6533be8f58c6c248625bd8e7e5f4c560df0afe39527086b85884fb3267 |
File details
Details for the file ppsetuptools-2.0.2-py3-none-any.whl
.
File metadata
- Download URL: ppsetuptools-2.0.2-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3f5c8ce5f75f4ed72f91a223a964491a001cfdef4926fccfca2e19dd34a9d0e |
|
MD5 | de643541f4dc39103d6a8af29bee9625 |
|
BLAKE2b-256 | 0f63be3e98be6c5f5ad496ed465882ee4aff2ead601f2023d2cc8c21e5e6a83f |