spin
Developer tool for scientific Python libraries
Decision gist · record as of 2026-08-14
Yes. spin is worth installing if you maintain or contribute to a scientific Python library using Meson or modern build tools. It is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem—centralizing scattered build commands into a single, discoverable interface. The BSD license is permissive. If your project uses traditional Makefiles or simpler build systems, the benefit is smaller but still real if you want to unify developer experience.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Projects must have a pyproject.toml or .spin.toml configuration file defining the package name and desired commands.
- Low friction install with four lightweight runtime dependencies (click, tomli, colorama, importlib_metadata).
License · maintenance · safety
permissive license (permissive) — BSD 3-Clause License permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-03-29 (138 days) · last repo commit 2026-07-06 · 132 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 363,549 downloads/mo, #7,220 on PyPI
Alternatives
Verify before relying
pip install spin
# Create or edit pyproject.toml with [tool.spin] section:
# [tool.spin]
# package = "your_package_name"
# commands = ["spin.cmds.meson.build", "spin.cmds.meson.test"]
# Run spin to see available commands:
spin- Whether spin works with non-Meson build systems beyond the built-in PEP 517 and pip support
- Performance overhead compared to direct Meson or Make invocation for large projects
What it is and what it does
spin is a developer tool designed to centralize and simplify the command-line incantations needed to work on scientific Python libraries. Instead of memorizing or maintaining scattered Makefiles, developers configure spin once in pyproject.toml to expose a curated set of build, test, documentation, and shell commands—both built-in (Meson, pip, pytest, Sphinx) and custom. The tool emerged from the mass migration of libraries to Meson after distutils deprecation, when many teams needed a unified way to abstract away changing build workflows.
spun runs as a CLI that presents a menu of available commands, supports shell auto-completion, and allows per-project customization through configuration sections and argument overrides. It integrates with click for command definition, tomli for TOML parsing, and colorama for terminal output, making it lightweight and portable across Python 3.10+.
Use it for
- Provide a consistent developer interface for a library migrating to Meson without requiring developers to learn new build commands.
- Organize and document multiple build, test, and documentation tasks in a single entry point with grouped command sections.
- Extend built-in Meson or pip commands with project-specific pre- or post-processing logic via custom command decorators.
- Enable shell auto-completion for development workflows to reduce typos and cognitive load in repetitive build cycles.
- Abstract away vendored or custom Meson installations by configuring a project-specific Meson CLI path.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
spin is worth installing if you maintain or contribute to a scientific Python library using Meson or modern build tools. It is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem—centralizing scattered build commands into a single, discoverable interface. The BSD license is permissive. If your project uses traditional Makefiles or simpler build systems, the benefit is smaller but still real if you want to unify developer experience.
Install
spin on PyPI
Before you install
Low friction install with four lightweight runtime dependencies (click, tomli, colorama, importlib_metadata). Package is actively maintained with recent commits and has been stable since its 2022 release.
Requires Python 3.10 or later. Projects must have a pyproject.toml or .spin.toml configuration file defining the package name and desired commands.
License in practice
BSD 3-Clause License permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install spin
# Create or edit pyproject.toml with [tool.spin] section:
# [tool.spin]
# package = "your_package_name"
# commands = ["spin.cmds.meson.build", "spin.cmds.meson.test"]
# Run spin to see available commands:
spin
Verify before relying
- Whether spin works with non-Meson build systems beyond the built-in PEP 517 and pip support
- Performance overhead compared to direct Meson or Make invocation for large projects
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesclicktomlicoloramaimportlib_metadata |
| Maintenance | Actively maintained 138 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 363,549 / month, #7,220 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: spin-0.18-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “scientific python build tool”
- spinspin is a command-line tool that abstracts common development tasks…
- tooluniverseToolUniverse provides a standardized interface for AI agents and LLMs…
- doitdoit is a Python-based task automation and build tool that tracks…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also meson · click · cmeel · meson-python · nixl-cu12 · wheel · installer · nixl-cu13 · md-click-2 · stone