The data this site is built on is published on npm as magick-data: tables of plain rows, the links between them, and the code that joins them. This page lists what the package holds. Each table has a page of its own with every row and what each field means.

Three ways in

The package can be read whole, a table at a time, or as a few tables joined. Each costs something different in bundle size and in the types a compiler has to work through; the package's README gives the figures.

The barrel holds 26 of the 29 tables, assembled, so that every link is a row rather than an id. It leaves out enochianTablet, christianChoir and seventyTwoAngel, which link to no table and which no table links to.

import data from "magick-data";

data.sephirah.tiferet.planet?.symbol; // "☉"

One table, by its own subpath, is the rows as written, with links left as ids:

import sephirot from "magick-data/kabbalah/sephirot";

sephirot.tiferet.planetId; // "sol", an id rather than a row

A scoped assemble() joins only the tables you name, and following a link outside them is a type error:

import planet from "magick-data/astrology/planets";
import sephirah from "magick-data/kabbalah/sephirot";
import { assemble } from "magick-data/tools";

const scoped = assemble({ planet, sephirah });
scoped.sephirah.tiferet.planet?.symbol; // "☉"

The data is under CC BY 4.0, except where the package's README says no rights are asserted, as over public-domain texts and plain facts: use it anywhere, as long as you credit Magick.ly. The licences are set out on the open-source page.

The tables

Each table is listed by the name assemble() and the graph give it, with its rows, its subpath and the tables it links to. A row is a plain object, and a link is an id that names a row of another table.

Texts and derived values

These subpaths hold texts, or values computed from the tables, rather than rows of a table. Most are shown on a page of the site.

Helpers

magick-data/tools exports all five; assemble, rowOf and pathTarget have subpaths of their own as well.

JSON

For a reader that is not JavaScript, every table and text is plain JSON too, at magick-data/json/ and the path of its source (magick-data/json/kabbalah/sephirot.json), and the graph of how the tables link is magick-data/graph.json. The JSON holds the rows as written, with links as ids.

Not in the package

The Enochian dictionary is not published. Its entries cite two works whose rights are not ours to give, so it stays in the app.