A build system for explainable science
Project description
Artisan is a lightweight experiment-management library with support for gradual typing. It allows you to write code like this:
class SineWave(artisan.Artifact):
'sin(2πf⋅t + φ) for t ∈ [0, 1sec), sampled at 44.1kHz.'
class Spec(Protocol):
f: float; 'Frequency'
φ: float = 0.0; 'Phase shift'
def __init__(self, spec: Spec) -> None:
self.t = np.linspace(0, 1, 44100)
self.x = np.sin(2 * np.pi * spec.f * self.t + spec.φ)
to generate file trees like this:
├── SineWave_0000/
│ ├── _meta_.json
│ ├── t.cbor
│ └── x.cbor
└── SineWave_0001/
├── _meta_.json
├── t.cbor
└── x.cbor
that can be viewed as customizable, live-updated, interactive documents like this:
– artisan-ui screenshot –
to facilitate an explorable, explainable, composable-component-based approach to scientific, analytical, and artistic programming. Complete documentation is available on Read the Docs.
Installation
> pip install artisan-builder
Artisan works with CPython and PyPy 3.6+.
Development
To install the project’s dependencies:
Install Python 3.6+.
Install Poetry.
Run poetry install –no-root.
To run the test suite:
> poetry run pytest
To build the HTML documentation:
> poetry run task build-docs
To build the HTML documentation with live-previewing:
> poetry run task serve-docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file artisan-builder-0.3.0.tar.gz.
File metadata
- Download URL: artisan-builder-0.3.0.tar.gz
- Upload date:
- Size: 27.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.9 CPython/3.8.5 Linux/5.4.0-51-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41c724242e17de627d9999e5f12b916f612302f7a5211e516447d6accb6be9f5
|
|
| MD5 |
ddde8a82b6728829c878debb3c93175a
|
|
| BLAKE2b-256 |
39cfe5c9061b29d5550e7f86b8fb9bcff5ab67aec18e0d33a9d1c90d7f53a6b7
|
File details
Details for the file artisan_builder-0.3.0-py3-none-any.whl.
File metadata
- Download URL: artisan_builder-0.3.0-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.9 CPython/3.8.5 Linux/5.4.0-51-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdf3ea69f297f7c811448e6fd2c3ccbdeb876f5cbf774082d8a3499e1b8e667b
|
|
| MD5 |
7fe66e32eda9d23cbe5b654aa05b8cad
|
|
| BLAKE2b-256 |
6f9a020e5bb3030c061feb2d0839367395fb5999f37cd6a62484b9a68d102a97
|