python-build-standalone VS asdf

Compare python-build-standalone vs asdf and see what are their differences.

python-build-standalone

Produce redistributable builds of Python (by indygreg)

asdf

Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more (by asdf-vm)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
python-build-standalone asdf
11 341
1,544 20,448
- 2.8%
9.1 7.9
8 days ago 7 days ago
Python Shell
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.

python-build-standalone

Posts with mentions or reviews of python-build-standalone. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-28.
  • Mise is a polyglot tool version manager
    5 projects | news.ycombinator.com | 28 Apr 2024
    It also replaces "just" as a task manager for me which is very pleasant.

    The fact that the python plugin uses precompiled Python binaries by default instead of building them from source remove common issues I had with the asdf's python plugin at work with missing dependencies.

    Just so you know, I encountered two little quirks that needed a fix:

    - [Backspace Key Doesn't work in Python REPL](https://github.com/indygreg/python-build-standalone/blob/mai...)

  • Pyenv – lets you easily switch between multiple versions of Python
    20 projects | news.ycombinator.com | 25 Mar 2024
    These builds are an alternative: https://github.com/indygreg/python-build-standalone

    Those are what Rye and hatch use.

    Drawbacks: late availability of patch versions, various quirks from how they are built (missing readline, missing some build info that self-compiled C python modules might need.)

  • 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.

  • ModuleNotFoundError, but it's there
    1 project | /r/learnpython | 16 Sep 2023
    I'm trying to build a "portable" Python package based on those available from https://github.com/indygreg/python-build-standalone/releases.
  • Briefcase: Convert a Python project into a standalone native application
    4 projects | news.ycombinator.com | 3 Aug 2023
    I'm a huge fan of https://github.com/indygreg/python-build-standalone which provides Python builds that CAN be moved around and work independently of any other Python installation.

    I used that for my own Python+Electron app, which I wrote about here: https://til.simonwillison.net/electron/python-inside-electro...

  • alternative to poetry/pip/pipenv/pyenv/venv/virtualenv/pdm/hatch/…
    2 projects | /r/programmingcirclejerk | 23 Apr 2023
    I used to build my own Pythons that are the same everywhere, now I use indygreg's Python builds. Rye will automatically download and manage Python builds from there. No compiling, no divergence.
  • As if there weren't enough packaging tools already: mitsuhiko/rye: an experimental alternative to poetry/pip/pipenv/venv/virtualenv/pdm/hatch/…
    14 projects | /r/Python | 23 Apr 2023
    One interesting tidbit is that it completely ignores your system Python installations, and instead uses precompiled installations of Python by indygreg from PyOxidizer. This means you don't have to deal with installing Python. It just auto downloads the right builds.
  • How to install any version of Python on Northeastern's Linux server
    1 project | dev.to | 19 Jul 2022
    wget https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5+20220630-x86_64_v3-unknown-linux-gnu-install_only.tar.gz -O - | tar -xz && mv python PortablePython
  • Switching from pyenv, rbenv, goenv and nvm to asdf – yujinyuz
    20 projects | news.ycombinator.com | 5 Apr 2022
    The lack of Ruby support instantly rings an alarm for me because CPython (on POSIX) also is not relocatable, but is listed as support. Turns pit Hermit is actually using a third-party build script[1] instead of the official one. While the python-build-standalone project is quite awesome and indeed is useful for a lot of things, it has enough quirks I would recommend against any generic package distributor to advertise as Python for general use. This in turn makes me lose most confidence on Hermit, unfortunately.

    Be careful if you’re also interested in Hermit. These kinds of things bit you up way down the road when you least expect them to.

    [1] https://github.com/indygreg/python-build-standalone

  • How to make sure a python program runs on a computer that might not have internet connection to download the external libraries used?
    6 projects | /r/learnpython | 28 Mar 2022
    If you really want to be sure, you can download an install_only standalone Python build from https://github.com/indygreg/python-build-standalone/releases and install the libraries with the included pip. Then just tar it again to archive it, and use the included python to run your project. The downloaded wheel you get with pip wheel may depend on the Python version so you just save the wheels you must make sure the Python point version is exactly the same.

asdf

Posts with mentions or reviews of asdf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-27.
  • Install Asdf: One Runtime Manager to Rule All Dev Environments
    10 projects | news.ycombinator.com | 27 Apr 2024
    The main issue most people have with asdf is that it’s annoyingly slow. Not unusably so, but just enough that it’s irritating.

    I identified [0] the source for much of it (sub-shells and pipes) and began a PR [1], but became bogged down with BATS testing, and then found mise / rtx, so kind of lost interest. Sorry. You can always implement these if you’d like.

    [0]: https://github.com/asdf-vm/asdf/issues/290#issuecomment-1383...

    [1]: https://github.com/asdf-vm/asdf/pull/1441

  • Show HN: I made a multiple runtime version manager that can be used on Windows
    4 projects | news.ycombinator.com | 22 Apr 2024
  • Volta – Fastest Node version manager in Rust
    2 projects | news.ycombinator.com | 25 Mar 2024
    Or if you need to manage more than just node, asdf has been around for over a decade and works great. You can use a .tool-versions to change runtimes for each project you have, in addition to managing your global runtime versions

    https://asdf-vm.com/

  • Pyenv – lets you easily switch between multiple versions of Python
    20 projects | news.ycombinator.com | 25 Mar 2024
    Why not just use a tool like asdf (https://asdf-vm.com/) or mise (https://mise.jdx.dev/)?

    These tools have the advantage of not being multi-taskers and can manage version for all your tools. You wouldn’t need pyenv and npm and rvm and…

    We’ve even started committing the .mise.toml files for projects to our repos. That way, since we work on multiple projects that may need multiple versions of the same tool, it’s handled and documented.

  • A Journey to Find an Ultimate Development Environment
    13 projects | dev.to | 2 Feb 2024
    The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).
  • How to Install Your Python Version on Ubuntu
    1 project | news.ycombinator.com | 28 Jan 2024
    (asdf)[https://asdf-vm.com/] fully supports Python and almost any other language. I've been using it for Ruby, Python, Elixir, and other languages for years and never looked back.
  • Beginners Intro to Trunk Based Development
    4 projects | dev.to | 4 Jan 2024
    Secondly, our development environments must not drift, because then code may behave differently and a change could pass on our machine but fail in production. There are many tools for locking down environments, e.g nix, pkgx, asdf, containers, etc., and they all share the common goal of being able to lock down dependencies for an environment accurately and deterministically. And that needs to be enforced in our local workflow so we don't have to rely on CI environments for correctness. All developers must have environments that are effectively identical to what runs in CI (which itself should be representative of the production environment).
  • Practical Guide to Trunk Based Development
    4 projects | dev.to | 4 Jan 2024
    There are many ways this can be done (e.g nix, pkgx, asdf, containers, etc.), and we won’t get into which specific tools to use, because we'll instead cover the essential essence of preventing environment drift:
  • Criando seu ambiente com ASDF
    4 projects | dev.to | 29 Dec 2023
  • Kotlin version manager
    2 projects | /r/Kotlin | 7 Dec 2023
    I've really been enjoying asdf, which is a program that allows you to install specified versions of dev utilities as well as dynamically manage them via shims and .tool-versions files.

What are some alternatives?

When comparing python-build-standalone and asdf you can also consider the following projects:

iron.nvim - Interactive Repl Over Neovim

SDKMan - The SDKMAN! Command Line Interface

pyenv - Simple Python version management

eclectica - ☀️ Cool and eclectic version manager for any language

rbenv - Manage your app's Ruby environment

semver - Semantic Versioning Specification

nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Visual Studio Code - Visual Studio Code

volta - Volta: JS Toolchains as Code. ⚡

evcxr

HomeBrew - 🍺 The missing package manager for macOS (or Linux)