self-contained-runnable-py VS flit

Compare self-contained-runnable-py vs flit 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
self-contained-runnable-py flit
3 6
- 2,094
- 0.9%
- 6.4
- about 1 month ago
Python
- BSD 3-clause "New" or "Revised" 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.

self-contained-runnable-py

Posts with mentions or reviews of self-contained-runnable-py. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-03.
  • Underappreciated Challenges with Python Packaging
    10 projects | news.ycombinator.com | 3 Jan 2023
    The approach I prefer is to not mess with setuptools etc at all in the first place, and simply make a nice executable package.

    e.g. https://github.com/tpapastylianou/self-contained-runnable-py...

  • How to create a Python package in 2022
    13 projects | news.ycombinator.com | 27 Jul 2022
    The title should be: How to create a "Python DISTRIBUTION package".

    The term "python package" means something entirely different (or at the very least is ambiguous in a pypi/distribution context).

    To add to the confusion, creating a totally normal, runnable python package in a manner that makes it completely self-contained such that it can be "distributed" in a standalone manner, while still being a totally normal boring python package, is also totally possible (if not preferred, in my view).

    Shameless plug: https://github.com/tpapastylianou/self-contained-runnable-py...

  • Show HN: Hatch 1.0.0 – Modern, extensible Python project management
    6 projects | news.ycombinator.com | 28 Apr 2022
    Shameless plug: I use my own template, which organises things as runnable projects.

    https://github.com/tpapastylianou/self-contained-runnable-py...

    It serves my purposes very well (which is creating projects that represent standalone experiments).

    Sharing in case someone else here finds it useful.

    More recently I've modified this a bit to also generate nice html reports straight from the __main__.py file, independently of the underlying python code, and use this as lab books (where each lab book contains a single analysis and its report). I'll upload this template separately when I find the time.

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.

What are some alternatives?

When comparing self-contained-runnable-py and flit you can also consider the following projects:

tox-poetry-installer - A plugin for Tox that lets you install test environment dependencies from the Poetry lockfile

Poetry - Python packaging and dependency management made easy

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

pip - The Python package installer

hatch - Modern, extensible Python project management

Pipenv - Python Development Workflow for Humans.

pip-audit - Audits Python environments, requirements files and dependency trees for known security vulnerabilities, and can automatically fix them

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

Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.

tomli - A lil' TOML parser

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

virtualenv - Virtual Python Environment builder