30 open-source projects similar to pypa/setuptools, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Setuptools alternative.
This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building, versioning, and uploading Python distributions. It serves as a concrete project template and example for configuring metadata and build artifacts for package indices. The repository illustrates how to package software by defining project metadata and dependencies in static configuration files. It covers the process of transforming source trees into versioned archives and platform-specific binary distributions, specifically showing how to build binary wheels and source distribut
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
This project is a Cookiecutter template for bootstrapping Python packages with a standardized directory layout and configuration files. It provides a foundation for new libraries by generating project structures, boilerplate files, and command-line interface entry points. The template emphasizes a secure software supply chain through hardened build pipelines. It utilizes commit SHA pinning for actions and minimal permission sets to protect against attacks, while providing a setup for building and uploading signed packages to registries using secure identity providers. The project covers a br
Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies. Glide distinguishes itself with an interactive version wiz
This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and
This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these defi
Spyder is a scientific integrated development environment designed for scientific computing and interactive Python programming. It functions as a static analysis code editor and an interactive Python console, providing a specialized environment for writing and analyzing code for science and engineering. The platform distinguishes itself as an extensible development tool, utilizing a modular plugin architecture that allows for the addition of custom features or the embedding of core components into other software. It features a dedicated debugger and profiler for tracing code execution and mea
This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks. The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of s
Maturin is a build tool that compiles Rust crates into Python wheel packages, supporting multiple binding systems such as PyO3, CFFI, and UniFFI to create native extension modules. It manages the full build pipeline from Rust compilation to wheel assembly, including cross-compilation for different operating systems and architectures without requiring native hardware. The tool integrates development-mode installation with automatic rebuilds: when a Python import hook detects source changes, it triggers recompilation before the module loads. Editable installs link the compiled module into site-
PDM is a Python package manager, dependency resolver, and build tool designed to create reproducible environments. It functions as a runtime manager that installs and switches between different versions of the Python interpreter using standalone builds, while managing isolated virtual environments to prevent version conflicts between projects. The tool distinguishes itself through the use of cross-platform lockfiles and a plugin-based extension architecture, allowing users to add new capabilities via external distributions. It provides a centralized package caching system and a parallel insta
pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files. The tool supports various installation methods, including fetching packages directly from web URLs and Git commits, as well as installing packages in editable mode for active development. It enables the crea
Poetry is a Python build tool, dependency manager, and project orchestrator. It provides a unified workflow for managing the full lifecycle of a project, from initial environment setup to the final package release. The system centralizes project metadata and dependency specifications in a single configuration file, replacing legacy formats. It utilizes a deterministic dependency resolver to calculate compatible package versions and records the exact state of the environment in a lock file to ensure consistency across different machines. The tool handles the orchestration of isolated virtual
This project is a comprehensive framework for literate programming that enables developers to build production-ready Python libraries entirely within Jupyter Notebooks. By treating notebooks as the primary source of truth, it integrates code, documentation, and testing into a unified development pipeline that exports directly to standard Python modules. The framework distinguishes itself through specialized tooling designed to overcome the inherent challenges of using notebooks in professional software engineering. It includes custom Git hooks and merge drivers that sanitize volatile notebook
Maven is a Java build automation tool and software build orchestrator. It functions as a project lifecycle manager and dependency management system, using a standardized project object model to compile, test, and package Java projects. The project distinguishes itself through a phase-based build lifecycle and a plugin-based extension model, allowing users to bind custom goals to specific build stages. It coordinates complex software through multi-module project orchestration and ensures a reproducible build workflow by neutralizing environmental variables and controlling toolchain versions.
zplug is a plugin manager for the Zsh shell designed to install and organize community plugins, themes, and commands from remote repositories and local paths. It focuses on environment reproducibility through versioned configuration, allowing plugins to be pinned to specific git branches, tags, or commit hashes. The project optimizes shell startup speed by using a lazy loading system that defers the execution of plugins until they are explicitly required. To accelerate initial environment setup, it employs a parallel installer that downloads multiple extensions concurrently. The manager supp
Python-Guide-CN is a Chinese translation of a comprehensive guide to idiomatic Python programming and software development. It serves as a curated programming tutorial and ecosystem reference, providing a structured path for learning Python syntax, standard libraries, and professional coding patterns. The project distinguishes itself by offering detailed instructions for setting up development environments across Windows, macOS, and Linux. It specifically focuses on the selection of interpreters and the management of virtual environments to ensure a consistent workspace. The guide covers a b
Nuitka is a compilation framework that translates Python source code into C, enabling the creation of standalone machine code binaries. By converting interpreted scripts into compiled executables, it removes the requirement for a language interpreter on the target machine and provides a mechanism for distributing Python applications as self-contained packages. The project distinguishes itself through advanced optimization techniques, including link-time code generation and profile-guided binary optimization, which improve execution speed by bypassing standard interpreted overhead. It manages
Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration engine that resolves complex dependency graphs, manages isolated virtual environments, and ensures reproducible builds through deterministic lock file generation. By centralizing project metadata and build requirements into a single configuration file, it provides a unified workflow for managing the entire lifecycle of a Python codebase. The project distinguishes itself through its constraint-based solver, which evaluates environment markers and version requirements to maintain
Spacemacs is a community-driven configuration for Emacs that integrates modal text editing and a modular system for managing editor features. It implements distinct states for navigation and insertion to separate text manipulation from text entry, combining the efficiency of modal navigation with the extensibility of the Emacs environment. The project distinguishes itself through a layer-based feature composition system, which groups related third-party packages and configurations into modular units. This system includes dependency-based resolution to manage conflicting extensions and a mnemo
pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a language bridge, mapping native types, inheritance hierarchies, and lambda functions into compatible Python objects to enable high-performance native code execution. The library includes specialized integration for NumPy arrays, utilizing buffer protocols to bind native C++ data without copying memory. It provides a toolkit for mapping C++ standard library data structures and smart pointers into the Python environment while maintaining cross-language memory management. The p
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
This project is a self-hosted community engine and forum software designed for hosting threaded discussions. It functions as a JSON API community platform, exposing all data and functionality through a standardized interface to support a single-page application architecture. The system is built to be a multi-language discussion board with integrated localization and language pack support. The platform is defined by a modular architecture that allows for extensive customization through an extension-based plugin system. This extensibility enables the modification of core behavior, the addition
Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo
Mautic is an open-source marketing automation platform and self-hosted CRM built with PHP. It functions as an audience manager and marketing suite designed for automating lead nurturing, designing customer journeys, and managing multi-channel campaigns on private infrastructure. The system distinguishes itself through a visual workflow engine and campaign builder that model customer journeys via conditional nodes. It incorporates a behavioral tracking engine to monitor website visitor activity, which informs lead engagement scoring to prioritize high-value prospects. The platform covers omni
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
Grav is a flat-file content management system that eliminates the need for a traditional database by storing site content and configuration in human-readable Markdown and YAML files. Built as a modular PHP web framework, it uses a hierarchical page routing system where the physical directory structure directly determines the site's URL paths. The platform is distinguished by its event-driven plugin architecture and a command-line interface that prioritizes system administration, deployment, and maintenance tasks. It utilizes a blueprint-driven system to generate administrative forms from stru
The Windows Package Manager is a command line tool for discovering, installing, upgrading, and configuring software packages on Windows operating systems. It functions as a CLI software installer for automating the deployment and update of applications across individual or machine-wide user profiles. The project extends its functionality through a component object model interface for integration into other Windows applications and a set of native cmdlets that allow system administrators to manage software installation via PowerShell scripts. The tool covers a broad range of package lifecycle
This project is a Python packaging tool and project bootstrapper designed to manage the software release lifecycle. It provides utilities for building distribution files and uploading Python packages to remote package indexes. The tool automates version control by creating and pushing Git tags to remote repositories during the package upload process. It also includes a bootstrapping utility that generates a standardized project directory structure and configuration files from predefined templates.
Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing u