Skip to main content

A tool to ingest data from various sources and formats, create imagery or video based on that data, and send the results to various locations for dissemination.

Project description

Zyra

PyPI version Docs Chat with Zyra Assistant DOI

Zyra Presentation

Zyra is an open-source Python framework for modular, reproducible data workflows — helping you import, process, visualize, and export scientific and environmental data.

Highlights

  • Modular pieces: connectors, processors, visualizers, and utilities.
  • CLI-first & streaming-friendly: compose stages with pipes and configs.
  • Install what you need: keep core small; add extras per stage.

Quickstart

Install

pip install zyra

Try the CLI

zyra --help

Minimal example

# Acquire → Process → Visualize
zyra acquire http https://example.com/sample.grib2 -o sample.grib2
zyra process convert-format sample.grib2 netcdf --stdout > sample.nc
zyra visualize heatmap --input sample.nc --var VAR --output plot.png

More Examples per Module

See module-level READMEs under src/zyra/ for focused examples and options:

  • Connectors/Ingest: src/zyra/connectors/ingest/README.md
  • Processing: src/zyra/processing/README.md
  • API (service): src/zyra/api/README.md
  • MCP Tools: src/zyra/api/mcp_tools/README.md

Learn More (Wiki)

Stage Map

Swarm Orchestration

  • zyra swarm --plan samples/swarm/mock_basic.yaml --dry-run prints the instantiated agents.
  • Remove --dry-run to execute mock simulate→narrate agents; use --memory provenance.db to persist provenance and --guardrails schema.rail to enforce structured outputs.
  • Guardrail validation requires the optional extra: pip install "zyra[guardrails]" (or poetry install --with guardrails) before using --guardrails schema.rail.
  • To exercise the skeleton simulate/decide flow end-to-end, try zyra swarm --plan samples/swarm/simulate_decide.yaml --dry-run (or drop --dry-run to run the mock pipeline).
  • Add --log-events to echo provenance events live, and --dump-memory provenance.db to inspect existing runs without executing new stages.
  • Target specific stages or experiment with partial DAGs using --agents acquire,visualize,narrate; unknown stage names are rejected early so typos do not silently skip work.
  • Control concurrency explicitly with --parallel/--no-parallel (the latter forces max-workers=1) and use --max-workers N when you want a fixed pool size.
  • Override LLM settings for proposal/narrate stages with --provider mock|openai|ollama|gemini|vertex, --model <name>, and --base-url <endpoint> instead of editing .env or wizard config files. Gemini runs with either GOOGLE_API_KEY (Generative Language API) or Vertex credentials (VERTEX_PROJECT, GOOGLE_APPLICATION_CREDENTIALS, etc.).
  • A real-world example lives in samples/swarm/drought_animation.yaml; run it with poetry run zyra swarm --plan samples/swarm/drought_animation.yaml --memory drought.db. Create data/drought/ ahead of time, place earth_vegetation.jpg in your working directory (or adjust the manifest), and ensure Pillow is installed for process pad-missing.
  • Preview planner output (JSON manifest with augmentation suggestions) before running: poetry run zyra plan --intent "mock swarm plan".
  • Plans are YAML/JSON manifests listing agents, dependencies (depends_on), and CLI args; see samples/swarm/ to get started.

Import (acquire/ingest)

Process (transform)

Simulate

Decide (optimize)

Visualize (render)

Narrate

Verify

Export (disseminate; legacy: decimate)

LLM Providers for Wizard/Narrate

Zyra’s Wizard, narrative swarm, and discovery semantic search all share the same provider configuration. Install google-auth when needed with pip install "zyra[llm]" (or poetry install --with llm). Key options:

Provider Configuration
OpenAI OPENAI_API_KEY, optional OPENAI_BASE_URL
Ollama Local server on http://localhost:11434 (override with OLLAMA_BASE_URL)
Gemini (Generative Language API) Set GOOGLE_API_KEY; optional GENLANG_BASE_URL, VERTEX_MODEL (default gemini-2.5-flash)
Gemini (Vertex AI) Provide VERTEX_PROJECT (aliases: GOOGLE_PROJECT_ID, GOOGLE_CLOUD_PROJECT), VERTEX_LOCATION (default us-central1), and Application Default Credentials (GOOGLE_APPLICATION_CREDENTIALS pointing to a service-account JSON). Optional VERTEX_MODEL, VERTEX_ENDPOINT, VERTEX_PUBLISHER.
Mock No credentials needed; deterministic offline responses. Useful for testing.

Example ~/.zyra_wizard.yaml targeting Gemini via Vertex:

provider: gemini
model: gemini-2.5-flash
project: my-vertex-project
location: us-central1

API & Reference Docs

Contributing

License

Apache-2.0 — see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zyra-0.1.47.tar.gz (20.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zyra-0.1.47-py3-none-any.whl (20.3 MB view details)

Uploaded Python 3

File details

Details for the file zyra-0.1.47.tar.gz.

File metadata

  • Download URL: zyra-0.1.47.tar.gz
  • Upload date:
  • Size: 20.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zyra-0.1.47.tar.gz
Algorithm Hash digest
SHA256 edddb521883868ec78b9196263905de36d4bc8c72668a9ce6e2804d188a810ef
MD5 6c301745221ff1ec9095a544b614a301
BLAKE2b-256 879d61a2f8029aab7250d6fec119856419b0c4f150ad953fb30349eebc627ee9

See more details on using hashes here.

File details

Details for the file zyra-0.1.47-py3-none-any.whl.

File metadata

  • Download URL: zyra-0.1.47-py3-none-any.whl
  • Upload date:
  • Size: 20.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for zyra-0.1.47-py3-none-any.whl
Algorithm Hash digest
SHA256 8e487759e95a1e041543cc0f99dd81deeb81b41e2528bab52c7bf16f53a12d27
MD5 54b9932f94b9b934e587dbb8ad0d5da9
BLAKE2b-256 bab61d81a3a2cb15e7af8464d053f078512edeaba0be21915e78f97806740e70

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page