The Regeindary tool is a means of importing publicly-available data from heterogeneous civil society and other organizational registries (for example, United States nonprofit records, the England and Wales charity register, United Nations recognized NGOs and the B Corps directory) and putting them in a standardized form that is queryable in a MongoDB database. An "entity" (i.e. "organization") may be linked to multiple "filings" (i.e. a 990 tax return or another form of "annual report").
A note on naming: "Regeindary" is a loose portmanteau of the words "registry" and "standard" that also evokes the terms "legendary", "repository", and "EIN" (as in "Employer Identification Number").
Because of each registry structures its data differently, each registry has a script unique to it for retrieving its data. Each registry that already is or is planned to be a part of the Regeindary tool is listed below.
- Australia
- B Corps
- Canada
- England and Wales
- Ireland
- New Zealand
- Northern Ireland
- Norway
- United Nations Registered NGOs
- United States
- Higher Education Institutions
- IRS Registered Nonprofits
- Python (developing/testing on 3.12.4)
- MongoDB (developing/testing on 8.0.0)
- Recommended: MongoDB Compass or Studio 3T for MongoDB for graphically navigating the final product
- After installing the above dependencies to your device, installing Regeindary should be as simple as downloading this repository
- With
/scripts
as your working directory, runinterface.py
- Select option
[2] Retrieve Registries
and select[A] Run All
(you may be asked to select more) - After completion, select
[4] Match Filings with Entities
- The
/schemas
folder contains JSON Schema files that define how entities and filings for those entities are to be organized. - The
/scripts
folder contains the Python code that operates Regeindary. Each subdirectory contains customized code for a specific registry, and amapping.json
file provides guidance on how to match fields and values from the original data into the aggregated target database.
Kaleb Nyquist (LinkedIn, GitHub, Twitter, Website)
Placeholder
Placeholder
Placeholder