Official React companion for
@astroway/sdk— natal charts, synastry, transits, Vedic dashas, AI horoscopes. Provider + hooks, zero extra dependencies.
npm install @astroway/react @astroway/sdk react@astroway/sdk and react (>=18) are peer dependencies — bring your own.
import { AstrowayProvider, useNatalChart } from '@astroway/react';
function App() {
return (
<AstrowayProvider options={{ apiKey: import.meta.env.VITE_AW_KEY }}>
<Chart />
</AstrowayProvider>
);
}
function Chart() {
const { data, error, loading } = useNatalChart({
date: '1990-01-15',
time: '14:30:00',
timezoneOffset: 3,
latitude: 50.45,
longitude: 30.52,
});
if (loading) return <p>Computing chart…</p>;
if (error) return <p>Error: {error.message}</p>;
return <pre>{JSON.stringify(data, null, 2)}</pre>;
}Wrap your tree once near the root. Pass either a pre-built client or inline options:
<AstrowayProvider options={{ apiKey: 'aw_live_…' }}>
<AstrowayProvider client={existingAstrowayInstance}>Returns the wrapped Astroway instance — escape hatch for one-off imperative calls inside event handlers / effects.
Generic query hook. Pass a (aw) => Promise<T> factory; returns { data, error, loading }. Pass null to skip:
const { data, error, loading } = useAstrowayQuery(
useCallback((aw) => aw.synastry.aspectGrid({ a: bodyA, b: bodyB }), [bodyA, bodyB]),
);Wrap the factory in useCallback (or memoise its body) — the effect re-runs on factory identity change, exactly like react-query's queryFn.
Convenience hook for POST /v1/chart. Pass null to skip the call (useful while waiting on form input).
@astroway/react follows the same SemVer commitment as @astroway/sdk. Pre-1.0 minors may add hooks; alpha/beta/rc patches won't remove or rename existing ones.
0.1.0-alpha.x—useAstrowayQuery,useNatalChart. (current)0.1.0-alpha.2+—useTransits,useSynastry,useVedicDashatyped convenience hooks.0.1.0-beta.1— Suspense-compatible variants.0.1.0-rc.1— Server-component compatibility (Next.js App Router, "use client" boundaries).0.1.0— stable surface freeze.
- 📦 npm: https://www.npmjs.com/package/@astroway/react
- 📦 SDK:
@astroway/sdk - 📘 API docs: https://api.astroway.info/docs/api/
- 💰 Pricing: https://api.astroway.info/pricing/
- 🌐 Website: https://astroway.info
MIT — see LICENSE.