Skip to main content
Astra is the first-party package family for Kairo. Astra packages give you the practical capabilities every business application needs, HTTP, JSON, data access, cryptography, and more, without bundling them into the core language. You add what you use.

How to use an Astra package

Add the package to [dependencies] in your kairo.toml, then import the modules you need.

Package catalog

Astra is co-developed with Kairo v0.1. Packages listed here are either shipping, in preview, or planned. Check each package’s own manifest for the exact version and status.

Web and networking

Astra.Net.Http

HTTP client and server primitives. Requests, responses, headers, streaming.

Astra.Net.WebSocket

WebSocket client and server support.

Data and serialization

Astra.Json

JSON encoding and decoding with explicit schemas.

Astra.Data

Data access abstractions and query building.

Astra.Data.Sql

SQL-backed implementations of Astra.Data.

System and I/O

Astra.Fs

Filesystem read and write primitives.

Astra.Env

Environment variables and process configuration.

Security

Astra.Crypto

Hashing, signing, and cryptographic primitives.

Astra.Auth

Authentication and authorization building blocks.

Application platform

Astra.UIX

UI and user-experience primitives for Kairo applications.

Astra.Diagnostics

Structured logging and diagnostic emission.

Design principles for Astra

  • Explicit. Astra packages never inject globals. You import them by name.
  • Versioned. Every Astra package has an explicit version in your manifest and lock file.
  • Value-first. Astra APIs prefer value types and Result<T, E> over hidden state and thrown errors.
  • Portable Core. Astra packages depend on Kairo Core; they do not require a specific host beyond what they document.
Prefer the smallest set of Astra packages your application actually needs. Each added dependency is a promise you’re keeping in your lock file.

Relationship to the standard library

The standard library is layered: Core is always available, Pulse runtime services are imported by name, and Astra packages are opt-in dependencies. Astra sits at the outermost, most-optional layer.

Next steps

Standard library

Where Astra fits in the three-layer library model.

Dependencies

Declaring and locking Astra package versions.