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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|