self-contained-runnable-py VS Nuitka

Compare self-contained-runnable-py vs Nuitka and see what are their differences.

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. (by Nuitka)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
self-contained-runnable-py Nuitka
3 94
- 10,835
- 2.9%
- 10.0
- 5 days ago
Python
- Apache License 2.0
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.

Nuitka

Posts with mentions or reviews of Nuitka. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-22.
  • Py2wasm – A Python to WASM Compiler
    4 projects | news.ycombinator.com | 22 Apr 2024
    Thanks for the feedback! I'm Syrus, main author of the work on py2wasm.

    We already opened a PR into Nuitka to bring the relevant changes upstream: https://github.com/Nuitka/Nuitka/pull/2814

    We envision py2wasm being a thin layer on top of Nuitka, as also commented in the article.

    From what we gathered, we believe that there's usefulness on having py2wasm as a separate package, as py2wasm would also need to ship the precompiled Python distribution (3.11) for WASI (which will not be needed for the other Nuitka use cases), apart of also shipping other tools that are not directly relevant for Nuitka

  • Python Is Portable
    6 projects | news.ycombinator.com | 15 Apr 2024
    This is a good place to mention https://nuitka.net/ which aims to compile python programs into standalone binaries.
  • We are under DDoS attack and we do nothing
    2 projects | news.ycombinator.com | 30 Mar 2024
    For Python, you could make a proper deployment binary using Nuitka (in standalone mode – avoid onefile mode for this). I'm not pretending it's as easy as building a Go executable: you may have to do some manual hacking for more unusual unusual packages, and I don't think you can cross compile. I think a key element you're getting at is that Go executables have very few dependencies on OS packages, but with Python (once you've sorted the actual Python dependencies) you only need the packages used for manylinux [2], which is not too onerous.

    [1] https://nuitka.net/

    [2] https://peps.python.org/pep-0599/#the-manylinux2014-policy

  • Faster Blogging: A Developer's Dream Setup
    4 projects | dev.to | 22 Feb 2024
    glee is rich in blogging features but has some drawbacks. One of the main drawbacks is its compatibility with multiple operating systems and system architectures. We lost one potential customer due to glee incompatibility in macOS. Another major issue is the deployment time. We built the first version of glee entirely in Python and used nuitka, nuitka compiles Python programs into a single executable binary file. We need to create three separate stages for creating executable binaries for Windows, Mac, and Linux in deployment, and it takes around 20 minutes to complete.
  • Python 3.13 Gets a JIT
    11 projects | news.ycombinator.com | 9 Jan 2024
    There is already an AOT compiler for Python: Nuitka[0]. But I don't think it's much faster.

    And then there is mypyc[1] which uses mypy's static type annotations but is only slightly faster.

    And various other compilers like Numba and Cython that work with specialized dialects of Python to achieve better results, but then it's not quite Python anymore.

    [0] https://nuitka.net/

    [1] https://github.com/python/mypy/tree/master/mypyc

  • Briefcase: Convert a Python project into a standalone native application
    4 projects | news.ycombinator.com | 3 Aug 2023
    Nuitka deals pretty well with those in general: https://nuitka.net/
  • Ask HN: How does Nuitka (Python compiler) work?
    1 project | news.ycombinator.com | 22 Jul 2023
    Hi HN,

    Has anyone explored Nuitka [1] and developed understanding from a blank slate?

    Is there any toy version of this, so that one can start playing with the language translation concepts?

    Is there any underlying theory/inspiration upon which this project is built?

    Are there any similar projects, in say other languages?

    [1] https://github.com/Nuitka/Nuitka

  • Why not tell people to “simply” use pyenv, poetry or anaconda
    7 projects | news.ycombinator.com | 13 Jun 2023
    That's more of cultural problem in the Python community.

    If I provide an end user software to my client written an Python (so not a backend, not a lib...), I will compile it with nuitka (https://github.com/Nuitka/Nuitka) and hide the stack trace (https://www.bitecode.dev/p/why-and-how-to-hide-the-python-st...) to provide a stand alone executable.

    This means the users don't have to know it's made with Python or install anything, and it just works.

    However, Python is not like Go or Rust, and providing such an installer requires more than work, so a huge part of the user base (which have a lot of non professional coders) don't have the skill, time or resources to do it.

    And few people make the promotion of it.

    I should write an article on that because really, nobody wants to setup python just to use a tool.

  • Python cruising on back of c++
    3 projects | /r/ProgrammerHumor | 18 May 2023
  • Is cython a safe option for obfuscate a python project?
    1 project | /r/learnpython | 13 May 2023
    As for a simpler option, you could use a "compiler": https://github.com/Nuitka/Nuitka

What are some alternatives?

When comparing self-contained-runnable-py and Nuitka 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

PyInstaller - Freeze (package) Python programs into stand-alone executables

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

pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

hatch - Modern, extensible Python project management

PyOxidizer - A modern Python application packaging and distribution tool

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

py2exe - modified py2exe to support unicode paths

false-positive-malware-reporting - Trying to release your software sucks, mostly because of antivirus false positives. I don't have an answer, but I do have a list of links to help get your code whitelisted.

py2app

ttkbootstrap - A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.

pynsist - Build Windows installers for Python applications