Artisan
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
Metadata
Release files for artisan-builder 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| artisan-builder-0.3.0.tar.gz | 27.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| artisan_builder-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.7 kB
Release files / artisan-builder-0.3.0.tar.gz
| Download URL | artisan-builder-0.3.0.tar.gz |
|---|---|
| Size | 27.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41c724242e17de627d9999e5f12b916f612302f7a5211e516447d6accb6be9f5
|
|
BLAKE2b-256 checksum How to use checksums |
39cfe5c9061b29d5550e7f86b8fb9bcff5ab67aec18e0d33a9d1c90d7f53a6b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.9 CPython/3.8.5 Linux/5.4.0-51-generic
|
Release files / artisan_builder-0.3.0-py3-none-any.whl
| Download URL | artisan_builder-0.3.0-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdf3ea69f297f7c811448e6fd2c3ccbdeb876f5cbf774082d8a3499e1b8e667b
|
|
BLAKE2b-256 checksum How to use checksums |
6f9a020e5bb3030c061feb2d0839367395fb5999f37cd6a62484b9a68d102a97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.9 CPython/3.8.5 Linux/5.4.0-51-generic
|
Security for artisan-builder 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.