conveyor VS Nuitka

Compare conveyor vs Nuitka and see what are their differences.

conveyor

Gradle plugin, user guide and discussion forums for Conveyor (by hydraulic-software)

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)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
conveyor Nuitka
3 94
109 10,884
1.8% 2.5%
9.0 10.0
22 days ago 3 days ago
Kotlin Python
Apache License 2.0 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.

conveyor

Posts with mentions or reviews of conveyor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-03.
  • Briefcase: Convert a Python project into a standalone native application
    4 projects | news.ycombinator.com | 3 Aug 2023
    Interesting timing! We're just in the middle of adding Python support to Hydraulic Conveyor, which is a similar tool [1]. There's a github issue [2] and mailing list that'll get notified when it's done. Disclosure: it's commercial but free for open source projects.

    There are many of these open source packagers and they all share very similar problems:

    1. They don't let you do software updates, even though software updates are practically mandatory for any real project. Electron is a stand-out here because it does address this, but their update engines are unmaintained for years and have some major unfixed problems (causes a lot of issues with Windows networks, for example).

    2. Even in the very rare cases that they do, they don't let you force updates on launch even though many apps need something like this to keep up with protocol changes. It's one of the reasons people like web apps.

    3. They don't help you with signing, usually being just thin wrappers around the native tooling. For example they don't simplify key management, they don't support cloud signing (essential since May because Microsoft now insist on HSMs for all keys, not just EV keys), they don't do notarization, they don't generate CSRs for you.

    4. They require the use of CI to cross-build even when apps are written in portable frameworks that don't require compilation. This is because they are just thin wrappers around the native tooling.

    5. They're invariably language specific even though there's no good reason to be because 80% of the work is the same regardless of what language or framework you use.

    It's possible to bite the bullet, chew glass for a while and solve all these problems, which is what we did for Electron/JVM/Flutter/native apps. You can reimplement all the native tooling so users can cross-build (i.e. make Mac packages from Linux/Windows, Windows packages from Mac/Linux etc), which enables releasing from developer laptops or cheap Linux CI workers. You can support software update by integrating Sparkle on macOS, apt on Debian/Ubuntu and by using MSIX on Windows (and by then working around all the bugs in Windows to make it work well). You can generate download pages that work out the user's OS and gives them the right download, and instructions for how to install self-signed apps if the developer isn't code signing with a recognized certificate. You can abstract platform neutral things and expose platform specific things. Then you can write a parallel incremental build system so doing all the work is as fast as possible, and write lots of code to detect all the myriad mistakes people make and give good error messages or auto-fix them. Then you can make it support GitHub Releases. Then you can document it all.

    But that big pile of glass isn't particularly tasty, which is why open source projects don't do it and we ask commercial users to pay for it.

    Briefcase looks nice but it also seems to have all the problems listed above. I think once we add Python support Conveyor will be quite useful for the Python community, especially if we can find a workaround for pip not support cross-building of venvs. It would be great if you could just whip up a quick Python script, run one command and your installed clients start automatically updating, your download page updates, and the whole thing is no harder than releasing a static markdown-rendered website.

    [1] https://hydraulic.dev/

    [2] https://github.com/hydraulic-software/conveyor/issues/73

  • Building a Slack/Discord Alternative with Tauri/Rust
    8 projects | news.ycombinator.com | 20 Jun 2023
    Haha, it's amusing that the history essays are one of the things you remember :)

    Yes you can compile Scala and ScalaFX apps down to native binaries this way. Look at Gluon Substrate:

    https://github.com/gluonhq/substrate

    One of our customers is experimenting with shipping such apps with Conveyor. There's a discussion ongoing here:

    https://github.com/hydraulic-software/conveyor/discussions/6...

    We got a console hello world working, albeit the DX is a bit rough. You need some ugly config boilerplate and some additional Native Image json files. But, it works, at least enough to create a Mac package with the regular Conveyor feature set. There are some limits though. I think the WebView doesn't work when the app is natively compiled this way.

    If it all starts working well it could be quite interesting for desktop app development, as suddenly you could use high level languages and portable UI toolkits but with the sort of startup time, performance and memory usage you'd expect from native apps (modulo binary size which is still quite large). If you want to use HTML as the UI then you can use the Chromium Embedding Framework, which would give you an Electron-like experience but with many more available languages:

    https://hydraulic.dev/blog/13-deploying-apps-with-jcef.html

    I've been using JVM GUI for years for various tasks. It was appropriate for Bitcoin tasks because it's immune to injection attacks, because you can run everything locally with P2P protocols like the original Bitcoin app did, it's portable etc. Also I learned GUI programming decades ago and find classical UI toolkit concepts like VBox, HBox, StackPane, TableView etc more intuitive than HTML.

  • Hydraulic Conveyor - generates and signs self-upgrading packages for Windows, macOS and Linux using each platform's native package formats without requiring you to have those operating systems
    1 project | /r/coolgithubprojects | 28 Jul 2022

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 conveyor and Nuitka you can also consider the following projects:

passphrase-py - A cryptographically secure passphrase and password generator

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

Fischer - A cross-platform chess library for Swift

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

python-build-standalone - Produce redistributable builds of Python

PyOxidizer - A modern Python application packaging and distribution tool

linen.dev - Lightweight Google-searchable Slack alternative for Communities

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