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.
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 rowA 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.
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.
planet, 15 rows, magick-data/astrology/planets: The planets of astrology and of the Tree of Life: the seven classical planets, the Earth, Uranus, Neptune, the Moon's two nodes, and the three heavens of the Tree that are not planets.Links to hebrewLetter, godName and archangel. Linked from zodiac, tetragram, gdGrade, archangel, sephirah and alchemySymbol.zodiac, 12 rows, magick-data/astrology/zodiac: The twelve signs of the zodiac.Links to planet, element and tribeOfIsrael. Linked from astrologicalHouse, tetragram and kerub.astrologicalHouse, 12 rows, magick-data/astrology/houses: The twelve houses of the horoscope, each with its traditional motto and what it signifies.Links to zodiac. hebrewLetter, 27 rows, magick-data/hebrewLetters: The twenty-two letters of the Hebrew alphabet and the five final forms.Linked from planet and treeOfLifePath.enochianLetter, 21 rows, magick-data/enochian/letters: The twenty-one letters of the Enochian alphabet, with their names and sounds in the Golden Dawn's tradition and in Dee's.Links to tetragram. enochianTablet, 5 rows, magick-data/enochian/tablets: The five Enochian tablets, the four Watchtowers and the Tablet of Union, as each of five sources prints their letters.tetragram, 16 rows, magick-data/geomancy/tetragrams: The sixteen figures of geomancy, with what each means in general and in each house.Links to zodiac, element and planet. Linked from enochianLetter.geomanticHouse, 12 rows, magick-data/geomancy/houses: The twelve houses of a geomantic reading.gdGrade, 12 rows, magick-data/gd/grades: The grades of the Golden Dawn and its inner orders, from Neophyte to Ipsissimus, with the Portal.Links to element, planet, sephirah and gdDegree, and to its own rows. Linked from sephirah.gdDegree, 3 rows, magick-data/gd/degrees: The three degrees that group the Golden Dawn's grades, each with a pillar of the Tree.Linked from gdGrade.archangel, 15 rows, magick-data/kabbalah/archangels: The archangels of the planets and of the sephirot.Links to planet and sephirah. Linked from planet and sephirah.angelicOrder, 10 rows, magick-data/kabbalah/angelicOrders: The ten orders of angels of the sephirot, in the world of Yetzirah.Linked from sephirah.christianChoir, 9 rows, magick-data/kabbalah/christianChoirs: The nine choirs of angels of Pseudo-Dionysius, in the order Lenain gives them through the seventy-two genii. They are not the Kabbalistic orders of the angelicOrder table.fourWorlds, 4 rows, magick-data/kabbalah/fourWorlds: The four worlds of the Kabbalah, from Atzilut to Assiah.godName, 10 rows, magick-data/kabbalah/godNames: The ten divine names of the sephirot, in the world of Atzilut.Linked from planet and sephirah.kerub, 4 rows, magick-data/kabbalah/kerubim: The four Kerubim, one for each element.Links to zodiac and element. sephirah, 11 rows, magick-data/kabbalah/sephirot: The ten sephirot of the Tree of Life, and Da'at, with their names, colours and correspondences in the four worlds.Links to chakra, godName, planet, archangel, soul, angelicOrder, gdGrade, bodyPart, stone and scent, and to its own rows. Linked from gdGrade, archangel and treeOfLifePath.treeOfLifePath, 24 rows, magick-data/kabbalah/paths: The paths of the Tree of Life between the sephirot, in both the Hermetic and the Hebrew attributions of the letters.Links to hebrewLetter and sephirah, and to its own rows. soul, 6 rows, magick-data/kabbalah/souls: The parts of the soul in the Kabbalah, from Yechidah to Guph, the body.Linked from sephirah.tribeOfIsrael, 14 rows, magick-data/kabbalah/tribesOfIsrael: The tribes of Israel: Jacob's twelve sons, and Ephraim and Manasseh, the sons of Joseph.Linked from zodiac.seventyTwoAngel, 72 rows, magick-data/kabbalah/seventyTwoAngels: The seventy-two genii of the Shem HaMephorash, from Lenain's La Science Cabalistique (1823), in his French and in English.chakra, 7 rows, magick-data/chakras: The seven chakras of the modern seven-chakra system, from the root to the crown.Linked from sephirah.bodyPart, 12 rows, magick-data/body/parts: The parts of the body that the sephirot correspond to.Linked from sephirah.stone, 12 rows, magick-data/materia/stones: The precious stones of the sephirot.Linked from sephirah.scent, 11 rows, magick-data/materia/scents: The perfumes of the sephirot.Linked from sephirah.alchemySymbol, 10 rows, magick-data/alchemy/symbols: The alchemical symbols the Golden Dawn teaches at the Zelator grade: the three principles and the seven metals.Links to planet. alchemyTerm, 6 rows, magick-data/alchemy/terms: The alchemical terms the Golden Dawn teaches at the Zelator grade, with its phrases for each.element, 5 rows, magick-data/alchemy/elements: The four elements and spirit.Links to elemental. Linked from zodiac, tetragram, gdGrade, kerub and elemental.elemental, 4 rows, magick-data/alchemy/elementals: The four kinds of elementals, the spirits of the elements: gnomes, sylphs, undines and salamanders.Links to element. Linked from element.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.
import * as keys from "magick-data/enochian/keys";import * as tabletNotes from "magick-data/enochian/tabletNotes";import * as text from "magick-data/kabbalah/seventyTwoAngels/text";import * as derived from "magick-data/kabbalah/seventyTwoAngels/derived";import * as volume from "magick-data/kabbalah/lenain/volume";import * as notes from "magick-data/kabbalah/lenain/notes";import * as pieces from "magick-data/kabbalah/lenain/pieces";import * as firstTable from "magick-data/kabbalah/lenain/firstTable";import evidence from "magick-data/json/kabbalah/lenain/evidence.json" with { type: "json" };import * as kameas from "magick-data/astrology/kameas";magick-data/tools exports all five; assemble, rowOf and pathTarget have subpaths of their own as well.
assemble(tables) joins the tables it is given, turning each link into the row it names. It never throws: what it cannot join, it records as a problem. Calling it twice with the same tables returns the same object, and its rows are frozen.problemsOf(assembled) lists those problems: a link that names no row, a link one way that the other row does not return, an inverse that should name one row but would name several, and an accessor that would hide a field.accessorName(field, link) names the accessor a link gives: planetId gives planet, and planetIds gives planets.rowOf(table, id) is one row by an id that is only a string, or undefined, so that an unknown id is a value the caller must handle.pathTarget(table, path) says which table and field a dotted path such as gdGrade.planet.symbol ends at, by walking the graph. It imports every table, so it is for builds and tests rather than pages.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.
The Enochian dictionary is not published. Its entries cite two works whose rights are not ours to give, so it stays in the app.