spin is a developer tool designed to simplify common tasks for scientific Python libraries, such as environment setup, testing, and documentation builds. It focuses on standardizing development workflows using `pyproject.toml`. Current version is 0.18, with releases occurring periodically to add features and fix bugs.
pip install spinVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to set up a minimal `spin` project (a `pyproject.toml` with a task) and then programmatically invoke a `spin` command using `subprocess`. While `spin` has a Python API (`spin.app.run_spin`), direct `subprocess` invocation is often more robust for quickstarts and automation, as `run_spin` can cause `sys.exit()`.
Migrate your project's build backend and metadata from `setup.py` to `pyproject.toml` (PEP 517/621). Ensure all `[tool.spin]` configurations are defined in `pyproject.toml`.
Review any `spin` task definitions that process command-line arguments. Update the task implementation in `pyproject.toml` (e.g., in a script) to correctly parse or utilize a list of string arguments.
If you require a specific environment manager, explicitly configure it in your `pyproject.toml` under `[tool.spin.install]`, for example, `manager = "pip"` or `manager = "conda"`. Ensure the chosen manager is installed and accessible.
Always change your current working directory to the project root before running any `spin` commands. Verify your `pyproject.toml` includes a `[tool.spin]` table with at least one defined task or configuration.
No dependency data recorded yet.