flit VS pip

Compare flit vs pip and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
flit pip
6 108
2,094 9,264
0.9% 1.0%
6.4 9.8
about 1 month ago 5 days ago
Python Python
BSD 3-clause "New" or "Revised" License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

flit

Posts with mentions or reviews of flit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-09.
  • Show HN: Code Indexer Loop
    3 projects | news.ycombinator.com | 9 Sep 2023
    Queries on https://github.com/pypa/flit/tree/main/flit_core/flit_core (omitted tests/)

    (Pdb) print(indexer.query("def normalize_dist_name(name: str, version: str) -> str:"))

  • Underappreciated Challenges with Python Packaging
    10 projects | news.ycombinator.com | 3 Jan 2023
    If it's pure Python, the only packaging file you need is `pyproject.toml`. You can fill that file with packaging metadata per PEP 518 and PEP 621, including using modern build tooling like flit[1] for the build backend and build[2] for the frontend.

    With that, you entire package build (for all distribution types) should be reducible to `python -m build`. Here's an example of a full project doing everything with just `pyproject.toml`[3] (FD: my project).

    [1]: https://github.com/pypa/flit

    [2]: https://github.com/pypa/build

    [3]: https://github.com/pypa/pip-audit

  • Easy Packing and Publishing to PyPi with Flit, pytest, and Circleci
    2 projects | /r/Python | 22 Sep 2022
    I published a very simple project flit_pytest_circleci_template that uses: * [flit](https://github.com/pypa/flit) to build a package. * pytest to test it * circleci to run the above and publish the package to pypi whenever a source file is committed. This is the hard part IMO as I do not know circleci well (and didn't know it at all when I started this project).
  • Python un-updatable, suggestions?
    1 project | /r/Gentoo | 22 Feb 2022
  • Comparison of Python TOML parser libraries
    19 projects | dev.to | 14 Dec 2021
    flit
  • How to make a Python package in 2021
    16 projects | news.ycombinator.com | 7 Apr 2021
    I hadn't heard of flit, it does seem like it's not brand new on the scene, however it is primarily a single contributor:

    https://github.com/takluyver/flit/graphs/contributors

    With a title like this, I'd be expecting to see an article describing the latest tools and recommendations from the PyPA.

pip

Posts with mentions or reviews of pip. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-09.
  • How to Create Virtual Environments in Python
    4 projects | dev.to | 9 Feb 2024
    Whenever you are working on a Python project that has external dependencies installed with pip, it is strongly recommended to first create a virtual environment.
  • Boring Python: dependency management (2022)
    3 projects | news.ycombinator.com | 4 Feb 2024
    Unfortunately that feature is easy to break: https://github.com/pypa/pip/issues/9644
  • pip VS instld - a user suggested alternative
    2 projects | 9 Dec 2023
  • sudo pip install should be illegal
    1 project | /r/linuxmemes | 8 Dec 2023
    I think I did my part https://github.com/pypa/pip/issues/6409
  • Can't seem to install Python YAML support
    1 project | /r/Ubuntu | 29 Aug 2023
    $ sudo pip install y$ sudo pip install yaml WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. ERROR: Could not find a version that satisfies the requirement yaml (from versions: none) ERROR: No matching distribution found for yaml
  • Bun v0.6.0 – Bun's new JavaScript bundler and minifier
    9 projects | news.ycombinator.com | 16 May 2023
    What are you implying will happen?

    Using the build-in tools, you can save the exact versions of dependencies (i.e. a lock file) using "pip freeze >dependencies.txt". This should give you the exact same set of packages in two years' time.

    If you want to be even more sure, you can also store hashes in the lock file. This has to be generated by a separate tools at the moment [1][2] but can be consumed by the built-in tools [3], so "pip install -r requirements.txt" is still all you need in two years' time.

    [1] https://github.com/pypa/pip/issues/4732

    [2] https://pip-tools.readthedocs.io/en/latest/#using-hashes

    [3] https://pip.pypa.io/en/stable/topics/secure-installs/#hash-c...

  • My Goldilocks Python Setup: pyenv, pipx, and pip-tools
    4 projects | /r/Python | 22 Apr 2023
    Here’s the issue, https://github.com/pypa/pip/issues/11664. I think the idea would be to have some file/json description of environment that could be passed to pip to allow it to fully cross compile. They are open to supporting it just needs contributor to be found to implement it and go through review/discussion.
  • Remote Code Execution Vulnerability in Google They Are Not Willing to Fix
    2 projects | news.ycombinator.com | 15 Apr 2023
    To be fair the only alternative is fixing Python, and even then you still would have to wait a good 5 years at least for all the old Python versions to dwindle.

    It doesn't look like the fixing effort is progressing very quickly: https://github.com/pypa/pip/issues/8606

    To their credit, at least they didn't close it "works as intended" which I imagine a lot of projects would.

  • Pip 23.1 Released - Massive improvement to backtracking
    5 projects | /r/Python | 15 Apr 2023
    Another good benchmark to trying to resolve apache-airflow[all]==1.10.13 using the state of PyPi on 2020-12-02, I give instructions here on how to reproduce that workflow: https://github.com/pypa/pip/issues/11836. Including a benchmark how how many extra packages your resolver should visit.
  • will upgrading pip break things?
    2 projects | /r/learnpython | 11 Apr 2023

What are some alternatives?

When comparing flit and pip you can also consider the following projects:

Poetry - Python packaging and dependency management made easy

mamba - The Fast Cross-Platform Package Manager

Pipenv - Python Development Workflow for Humans.

python-lib - Opinionated cookiecutter template for creating a new Python library

PDM - A modern Python package and dependency manager supporting the latest PEP standards

tomli - A lil' TOML parser

conda - A system-level, binary package and environment manager running on all major operating systems and platforms.

laravel-websockets-example - Quick example of a docker stack for laravel-websockets

pip-tools - A set of tools to keep your pinned Python dependencies fresh.

virtualenv - Virtual Python Environment builder

wheel - Adoption analysis of Python Wheels: https://pythonwheels.com/