python-spin
Port variant v12
Summary Developer tool for scientific libraries (3.12)
BROKEN
Package version 0.13
Homepage https://github.com/scientific-python/spin
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 22 NOV 2024, 12:26:16 UTC
Port created 10 OCT 2023, 04:40:21 UTC
Subpackage Descriptions
single # ๐Ÿ’ซ Scientific Python INcantations (`spin`) ## A developer tool for scientific Python libraries Developers need to memorize a whole bunch of magic command-line incantations. These incantations may also change over time. Often, Makefiles are used to provide aliases, but Makefiles can be convoluted, are not written in Python, and are hard to extend. The goal of `spin` is therefore to provide a simple, user-friendly, extendable interface for common development tasks. It comes with a few common build commands out the box, but can easily be customized per project. As a curiosity: the impetus behind developing the tool was the mass migration of scientific Python libraries (SciPy, scikit-image, and NumPy, etc.) to Meson, after distutils was deprecated. When many of the build and installation commands changed, it made sense to abstract away the nuisance of having to re-learn them. _Note:_ We now have experimental builds for editable installs. Most of the Meson commands listed below should work "out of the box" for those. - [Installation] - [Configuration] - [Command sections] - [Running] - [Built-in commands] - [Meson] - [Build (PEP 517 builder)] - [pip (Package Installer for Python)] - [Meta (commands that operate on commands)] - [๐Ÿงช Custom commands] - [Configuration] - [Argument overrides] - [Advanced: adding arguments to built-in commands] - [Advanced: override Meson CLI] - [FAQ] - [For contributors] - [History] ## Installation ` pip install spin ` ## Configuration Settings are stored in `.spin.toml`, `spin.toml`, or your project's `pyproject.toml`. As an example, see the `[tool.spin]` section of [an example `pyproject.toml`]. The `[project]` section should contain `name`. The `[tool.spin]` section should contain: ``` package = "pkg_importname" # name of your package commands = [ "spin.cmds.meson.build", "spin.cmds.meson.test" ] ``` See [the command selection] below. ### Command sections Once you have several commands, it may be useful to organize them into sections. In `pyproject.toml`, instead of specifying the commands as a list, use the following structure: ```toml [tool.spin.commands] "Build" = [ "spin.cmds.meson.build", "spin.cmds.meson.test" ] "Environments" = [ "spin.cmds.meson.ipython", "spin.cmds.meson.run" ] ``` These commands will then be rendered as: ``` Build: build ๐Ÿ”ง Build package with Meson/ninja test ๐Ÿ”ง Run tests Environments: ipython ๐Ÿ’ป Launch IPython shell with PYTHONPATH set
Configuration Switches (platform-specific settings discarded)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) python-click:single:v12
python-importlib-metadata:single:v12
Download groups
main mirror://PYPIWHL/68/49/c4c10260af6d797b0744d9c3c454a2cfdf49a6105bf28d078017d2d21429
Distribution File Information
d06fed0b8683b1dd1c321e90cdbea393295cd5b9e1f72dfaa1f82b0c11652e63 30486 python-src/spin-0.13-py3-none-any.whl
Ports that require python-spin:v12
python-numpy:v12 Array computing for Python (3.12)