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
Create a project with appropriate setup.py and/or setup.cfg metadata declarations.
Create pyproject.toml and provide the needed PEP 518 definitions. An empty file is sufficient if you want to use the default values.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.