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.6.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.6.0
File Size Uploaded
juniper_data_client-0.6.0.tar.gz 120.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for juniper-data-client 0.6.0
File Interpreter ABI Platform
juniper_data_client-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 159.7 kB

Release files / juniper_data_client-0.6.0.tar.gz

Download URL juniper_data_client-0.6.0.tar.gz
Size 120.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7b9512888759f1f61426cb59ace8e87e645274888a576e667c8d978864117a98
BLAKE2b-256 checksum
How to use checksums
7569e7cff40264a7b9196baca1d740675c9bf0370be5e25757688d45325fdd23
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 Oct 17, 2026.

Transparency log

Release files / juniper_data_client-0.6.0-py3-none-any.whl

Download URL juniper_data_client-0.6.0-py3-none-any.whl
Size 39.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf9028fd9867a70a5297959cb7ee6ea85d238c4bf94bcb5f9acf6767b08f6360
BLAKE2b-256 checksum
How to use checksums
ba9cb1dae269e9460167d21bdda948a380bbcc25ac40ace5b9e15abb8ce48678
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 Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

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