juniper-data-client
Python HTTP client for the juniper-data dataset-generation service.
juniper-data-client is a thin, synchronous HTTP client for fetching datasets from a juniper-data
instance. It exposes a single JuniperDataClient class whose methods correspond to the REST surface:
generator schemas, dataset creation, tag-based filtering, batch operations, the named-version
registry, and download of the resulting NPZ artifacts as ready-to-train numpy arrays. It is the
canonical dataset-fetch interface used by juniper-cascor (training) and juniper-canopy
(visualisation), and it reads the platform's shared X_train / y_train / X_val / y_val /
X_test / y_test NPZ schema (all float32). val is
presence-conditional: validate_npz_contract skips a split the artifact does not
carry. Fake producers emit it (#187); live artifacts may omit it.
Part of the Juniper platform. juniper-data-client is the Python HTTP client for the juniper-data dataset service in Juniper — a multi-package ML research platform built around constructive (Cascade-Correlation) and recurrent neural networks. Point it at any running juniper-data instance.
Install
pip install juniper-data-client
Optional extras: [observability] adds X-Request-ID propagation via juniper-observability; [test]
and [dev] install the test and lint/type-check toolchains.
Quick start
from juniper_data_client import JuniperDataClient
with JuniperDataClient("http://localhost:8100") as client:
print(client.health_check()["status"])
result = client.create_spiral_dataset(n_spirals=2, n_points_per_spiral=100, noise=0.1, seed=42)
arrays = client.download_artifact_npz(result["dataset_id"])
print("train:", len(arrays["X_train"]), "test:", len(arrays["X_test"]))
The artifacts come back as a dict of float32 numpy arrays, ready for torch.from_numpy(...).
API
| Method | Purpose |
|---|---|
health_check() / is_ready() / wait_for_ready(...) |
Liveness / readiness probes |
list_generators() / get_generator_schema(name) |
Discover available generators + their schemas |
create_dataset(generator, params, ...) |
Create a dataset from any generator |
create_spiral_dataset(...) |
Convenience wrapper for the spiral generator |
download_artifact_npz(dataset_id) / download_artifact_bytes(dataset_id) |
Download as numpy arrays / raw bytes |
get_dataset_metadata(id) / get_preview(id, n) / delete_dataset(id) |
Inspect / preview / delete |
list_datasets(limit, offset) |
Paginated dataset listing |
list_versions(name) / get_latest(name) |
Named-version registry |
batch_create(...) / batch_delete(...) / batch_update_tags(...) / batch_export(...) |
Batch operations |
Status
Beta on PyPI. The current version is shown by the badge above; see CHANGELOG.md.
Documentation
docs/QUICK_START.md— installation and verification guidedocs/REFERENCE.md— full API reference, configuration, and error model
License
MIT — see LICENSE.
Metadata
Release files for juniper-data-client 0.5.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 | |
|---|---|---|---|
| juniper_data_client-0.5.0.tar.gz | 87.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| juniper_data_client-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 125.8 kB
Release files / juniper_data_client-0.5.0.tar.gz
| Download URL | juniper_data_client-0.5.0.tar.gz |
|---|---|
| Size | 87.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5c62da57d4a623cd365e6f4ee4dc8b14ef656ad7bf3cbc9c20f6a816e76dd3b
|
|
BLAKE2b-256 checksum How to use checksums |
07736719ebe72a1c91c5b3dde0e35b77a7841ebc832ab3e7e09ec7bbdf19e775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / juniper_data_client-0.5.0-py3-none-any.whl
| Download URL | juniper_data_client-0.5.0-py3-none-any.whl |
|---|---|
| Size | 37.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66f1c744bff71627389dc87451880021f014e1a97c4499112c3112e0a448a367
|
|
BLAKE2b-256 checksum How to use checksums |
70e333863b806e146a0755364ae09f4f0f22df9a3c680b1cc16df77825741bde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log