gon VS PyOxidizer

Compare gon vs PyOxidizer and see what are their differences.

gon

Sign, notarize, and package macOS CLI tools and applications written in any language. Available as both a CLI and a Go library. (by mitchellh)

PyOxidizer

A modern Python application packaging and distribution tool (by indygreg)
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
gon PyOxidizer
6 28
1,454 5,206
- -
0.0 0.0
6 months ago about 2 months ago
Go Rust
MIT License Mozilla Public 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.

gon

Posts with mentions or reviews of gon. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-13.
  • Sickcodes/Docker-OS X: Run macOS VM in a Docker
    3 projects | news.ycombinator.com | 13 Jan 2023
    It might be less effort to use something like this: https://gregoryszorc.com/blog/2021/04/14/pure-rust-implement...

    Might even be able to modify `gon` to use that instead of Apple's `codesign` and then you'll have notarization too: https://github.com/mitchellh/gon

  • A Completely Open-Source Implementation of Apple Code Signing and Notarization
    9 projects | news.ycombinator.com | 8 Aug 2022
    I’ve always used gon ( https://github.com/mitchellh/gon ) for this, which is open source golang, but I don’t think it supports mach-o embedding. I’ll have to try this tool out.
  • How do I bundle a Golang executable into a MacOS .app file?
    2 projects | /r/golang | 22 Jun 2022
    There is no need for some special solution to pack your .app, you need to create .app directories, copy your binary, create Info.plist with metadata about your binary, icon, etc. I did this for a couple of apps and it is simple. It is another thing if you want to sign and notarize the binary, there are other tools for that, like https://github.com/mitchellh/gon.
  • Signing app for MacOS is like alien cryptographic language
    2 projects | /r/electronjs | 11 Jan 2022
    I use gon to sign and notarize a DMG file. Once you set it up, it's a simple one-line command that will upload the DMG to Apple, await notarization, and give you back a DMG that's ready for distribution.
  • The Gates to Hell: Apples Notarizing
    6 projects | news.ycombinator.com | 30 Apr 2021
    My advice from years of notarizing my apps is to make sure you do it at least once per day for each of your apps. If you only notarize once every release (say, every month or so), you are almost guaranteed to encounter some new cryptic error that you've never seen before, either due to some glitch in signing your app or frameworks, or else some server-side error such as new terms & conditions that you are being "encouraged" to agree to. It will take you hours to research and resolve them if they aren't spotted right away.

    As others pointed out, https://github.com/mitchellh/gon is a great tool for doing this on your local machine (e.g., with a cron job). In addition, if you are building your app using a GitHub action (which I highly recommend if it is open-source), you can use my https://github.com/hubomatic/hubomat action to package and notarize a release in one shot. The sample/template app does this automatically on every commit as well as once per day: https://github.com/hubomatic/MicroVector/actions.

    So when this fails from a scheduled job, you at least know that something has changed on the Apple side and can investigate that right away. And if it fails as a result of a commit, then at least you can start looking at what changes you may have made to your entitlements or code signing settings or embedded frameworks or any of the other million things that can cause it to fail.

PyOxidizer

Posts with mentions or reviews of PyOxidizer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-13.
  • Show HN: Pywebview 5
    5 projects | news.ycombinator.com | 13 Mar 2024
    Bundling Python isn't too bad if you find the right tools for it.

    I really like https://github.com/indygreg/python-build-standalone and https://github.com/indygreg/PyOxidizer

    A bundled, built standalone Python can be 16 to 32MB (including the full standard library, which you can strip down to just the bits you use to save size). Not tiny, but probably not worth switching programming languages over.

  • Why do you enjoy systems programming languages?
    2 projects | /r/rust | 25 May 2023
    But really, I would suggest thinking about what you want to build before "how" or "with which tool" - one of the signs of a person becoming a good engineer is having an array of tools at their disposal and being able to choose a correct tool for the correct task. Rust also excels in integrating with other languages - with JS via WebAssembly (a bit of self-promotion, for example), with Elixir via Rustler, with Python via PyO3 and PyOxidizer, etc. So you absolutely can start writing a frontend app with JS, or a distributed system with Elixir, or a data processing/ML app with Python and use Rust to speed up critical parts of those. Or, in reverse, you can start with Rust & add new capabilities to whatever you're building, that being a frontend, a resilient chat interface, or an ML model.
  • List of Python compilers
    2 projects | /r/Python | 9 May 2023
    Thank you, although this is not exactly on topic. I'd not heard of PyOxidizer, but it appears to have the same goal as PyInstaller, py2exe, and cx_Freeze -- as the PyOxidizer readme says, it produces
  • Buck2, a large scale build tool written in Rust by Meta, is now available
    11 projects | /r/rust | 6 Apr 2023
    Here is some example Github Action from PyOxidizer as a Kickstarter: https://github.com/indygreg/PyOxidizer/blob/main/.github/workflows/build-exe.yml
  • Mitogen speedup (the actual value)
    2 projects | /r/ansible | 5 Mar 2023
    A starting point to try out binary modules by the way would be https://github.com/indygreg/PyOxidizer - could already have benefits by rolling in all dependencies of modules (so no more pip/apt/dnf/... installs on target hosts). Setting this up should be relatively straightforward and could probably be automated enough to even manage to build binary modules for all modules in the community ansible distribution eventually.
  • Python Magic Methods You Haven’t Heard About
    1 project | /r/Python | 14 Dec 2022
  • What are different ways to make a Python exe besides py-to-exe?
    2 projects | /r/Python | 14 Sep 2022
    PyOxidizer might be another option.
  • Used "Py To EXE" and It Showed KeyLogger as One of Viruses
    2 projects | /r/Python | 13 Sep 2022
  • indygreg / PyOxidizer :
    1 project | /r/Python | 27 Aug 2022
  • A Completely Open-Source Implementation of Apple Code Signing and Notarization
    9 projects | news.ycombinator.com | 8 Aug 2022
    XAR signing is effectively just an RFC 5652 CMS signature plus some minimal data structure manipulation. Code at https://github.com/indygreg/PyOxidizer/blob/faa7dfcea5d66bf5....

    Mach-O and bundles, by contrast, require a myriad of additional data structures requiring thousands of lines of code to support. To my knowledge, nobody else has implemented signing of these far-more-complicated primitives. (Existing Mach-O signing solutions just do ad-hoc signing and/or don't handle Mach-O in the context of a bundle.)

What are some alternatives?

When comparing gon and PyOxidizer you can also consider the following projects:

gow - Missing watch mode for Go commands. Watch Go files and execute a command like "go run" or "go test"

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

corona - Solar2D Game Engine main repository (ex Corona SDK)

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.

httptoolkit-desktop - Electron wrapper to build and distribute HTTP Toolkit for the desktop

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

xcnotary - the missing macOS app notarization helper, built with Rust

pynsist - Build Windows installers for Python applications

realize - Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.

py2exe - modified py2exe to support unicode paths

lemur - Repository for the Lemur Certificate Manager

dh-virtualenv - Python virtualenvs in Debian packages