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.7.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

setl-0.7.0-py2.py3-none-any.whl (15.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file setl-0.7.0.tar.gz.

File metadata

  • Download URL: setl-0.7.0.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for setl-0.7.0.tar.gz
Algorithm Hash digest
SHA256 755ee3df3ae47e95c62c861827338d63fac4cee6d270fb899a637b7e3fd74726
MD5 c810b228c35070811f9a2dd70eac3c76
BLAKE2b-256 af7c89fd9f41da62e557228de376c58bd8b3c1338f9c8d202f06a8c1e21db76c

See more details on using hashes here.

Provenance

File details

Details for the file setl-0.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: setl-0.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for setl-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6abdd63e3c389388d9481ef6560330baf1d649719b8781d92986c3253ee65f95
MD5 cc4e46ad15af359405b89e3ee5094051
BLAKE2b-256 0c5953f6dc2541017c68ed8c6883e1929dde77989391a507b43b66b916339566

See more details on using hashes here.

Provenance

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