Skip to main content

juniper-data-client

PyPI Python 3.12+ License: MIT

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

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)

Source distribution for juniper-data-client 0.5.0
File Size Uploaded
juniper_data_client-0.5.0.tar.gz 87.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for juniper-data-client 0.5.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

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