Skip to main content

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:

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)

Source distribution for artisan-builder 0.3.0
File Size Uploaded Provenance
artisan-builder-0.3.0.tar.gz 27.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for artisan-builder 0.3.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page