Flit
flit.pypa.io
Spec sheet
- Purpose
- Flit is a simple way to put Python packages and modules on PyPI, aiming to reduce packaging effort and common mistakes.Read 9 Oct 2026 · flit.pypa.io
- Integrations
- Flit uses pip for installation and supports uploading to PyPI, TestPyPI, or another configured package index.Read 9 Oct 2026 · flit.pypa.io
- Automated publishing
- Flit supports configuring upload servers and credentials through environment variables for automated releases, while warning that environment variables can expose passwords to other scripts and libraries in the environment.Read 9 Oct 2026 · flit.pypa.io
- Build
- The `flit build` command builds wheel and source distribution files.Read 8 Oct 2026 · flit.pypa.io
- Builds
- The `flit build` command builds a wheel and source distribution, with an option to build either format alone.Read 9 Oct 2026 · flit.pypa.io
- Credential handling
- Flit tries to store upload passwords securely using the keyring library; without keyring, it prompts for a password for each upload.Read 9 Oct 2026 · flit.pypa.io
- Intended use
- Flit focuses on pure Python packages with no build steps, such as compiling C code or bundling JavaScript.Read 9 Oct 2026 · flit.pypa.io
- Limit: build steps
- Flit cannot be used for packages that require a build step.Read 8 Oct 2026 · flit.pypa.io
- Limit: dependencies
- Flit does not manage dependencies, which must be added to `pyproject.toml` by hand.Read 8 Oct 2026 · flit.pypa.io
- Notable limitation
- Flit cannot be used for packages that need a build step and does not manage dependencies automatically; dependencies must be added to `pyproject.toml` by hand.Read 9 Oct 2026 · flit.pypa.io
- Package contents
- Flit automatically includes subpackages and data files within a package.Read 8 Oct 2026 · flit.pypa.io
- Packaging
- Flit packages one importable module or package at a time and automatically includes its subpackages and package data files.Read 9 Oct 2026 · flit.pypa.io
- Publishing
- The `flit publish` command builds and uploads packages to PyPI or another configured package repository.Read 9 Oct 2026 · flit.pypa.io
- Python requirement
- The Flit command line tool requires Python 3.Read 9 Oct 2026 · flit.pypa.io
- Reproducible builds
- Flit says wheels built from the same source code can be byte-for-byte identical, with file timestamps noted as a caveat that can be overridden using `SOURCE_DATE_EPOCH`.Read 9 Oct 2026 · flit.pypa.io
- Setup
- The `flit init` command helps set up package information in a `pyproject.toml` file.Read 9 Oct 2026 · flit.pypa.io
- Target packages
- Flit focuses on pure Python packages that have no build steps.Read 8 Oct 2026 · flit.pypa.io
- Version metadata
- Flit can obtain a package’s version from its `__version__` attribute.Read 9 Oct 2026 · flit.pypa.io
- Windows support
- The `--pth-file` install option works on Windows, where symlinks typically are not allowed.Read 8 Oct 2026 · flit.pypa.io
Where Specifiction places it
- Python Package Managers#24 of 277.2