Skip to main content

Packaging tool for PEP 518 projects with Setuptools backend.

Project description

Setl (pronounced like settle) is a simple way to work with PEP 518 projects with Setuptools as the backend.

The interface is strongly influenced by Flit.

Usage

  1. Create a project with appropriate setup.py and/or setup.cfg metadata declarations.

  2. Create pyproject.toml and provide the needed PEP 518 definitions. An empty file is sufficient if you want to use the default values.

  3. Run this command to upload your code to PyPI (using --python to specify the Python to build the package against):

    setl --python path/to/python publish

Note: The specified Python needs to have pip available.

Miscellaneous

To install a package locally for development, run:

setl --python path/to/python develop

All build commands are available via setl build:

setl --python path/to/python build [--ext] [--py] [--clib] [--scripts]

To create package distributions (equivalent to flit build), use:

setl --python path/to/python dist [--source] [--wheel]

The --python specification accepts one of the followings:

  • Absolute or relative path to a Python executable.

  • Python command (shutil.which is used to resolve).

  • Python version specifier (the Python launcher is used to resolve).

It can also be specified by environment variable SETL_PYTHON.

If not specified, Setl will try to infer the command from virtual environment contextx, both the one currently active, and the one Setl is installed in. The option is required if there’s no active virtual environment, and Setl is installed globally.

Todo

  • Catch exceptions (especially subprocess calls) and show human-friendly error messages.

  • Clean up outputs from Twine, pip, and (especially) Setuptools. Maybe introduce a spinner?

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

setl-0.8.2.tar.gz (13.2 kB view hashes)

Uploaded Source

Built Distribution

setl-0.8.2-py2.py3-none-any.whl (17.2 kB view hashes)

Uploaded Python 2 Python 3

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