Skip to main content

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

ppsetuptools-2.0.2.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

ppsetuptools-2.0.2-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

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

Hashes for ppsetuptools-2.0.2.tar.gz
Algorithm Hash digest
SHA256 736bd1447ba8106fefefdef49be7455797fd45723d4b761161326b1c20b6a489
MD5 6c374bfeb50b992812d8153c048256bb
BLAKE2b-256 00dc1c6533be8f58c6c248625bd8e7e5f4c560df0afe39527086b85884fb3267

See more details on using hashes here.

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

Hashes for ppsetuptools-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f5c8ce5f75f4ed72f91a223a964491a001cfdef4926fccfca2e19dd34a9d0e
MD5 de643541f4dc39103d6a8af29bee9625
BLAKE2b-256 0f63be3e98be6c5f5ad496ed465882ee4aff2ead601f2023d2cc8c21e5e6a83f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page