A database of public bodies (or organizations):
Government-run or controlled organizations or entities which may or may not have distinct corporate existence
Examples are:
Visit the site: https://publicbodies.org/
Data is stored in CSVs partitioned by country or region (e.g. EU) in the data folder. Files are named by two-letter ISO code.
Please just add a CSV file and submit a pull request or open an issue.
The set of fields required in the CSV file can be seen in the field list on:
public-body-schema.json. You can also check out
the existing data in data/
for hints. To learn more about Data
Packages, visit https://specs.frictionlessdata.io/.
If you can, developing a bot to automatically and periodically collect the data is even better.
The website is a Jekyll site. To get it running locally:
Install Docker.
Get the code
git clone https://github.com/okfn/publicbodies
cd publicbodies
Run Jekyll
cd website
export JEKYLL_VERSION=4.2.0
docker run --rm --volume="$PWD:/srv/jekyll" -it jekyll/minimal:$JEKYLL_VERSION jekyll build --baseurl $PWD/_site/ --watch
The built website will appear on the website/_site
folder.
The list of outstanding issues is at: https://github.com/okfn/publicbodies/issues
Data is kept automatically up-to-date by bots that collect and update
data once a week. The scripts are kept on the
scripts/import directory, followed by the international
place code (e.g. br
for Brazil, it
for Italy).
The script MUST be runnable from a command line interface. It should
display the available options if run with the --help
parameter, and
output data to the file chosen by the --output
parameter. For example:
python3 scripts/import/br/import_br.py --help
usage: import_br.py [-h] [--output file_name]
Imports Brazilian public body data from the official source and complements it
with data from several auxiliary sources. Official source: [SIORG's open data
API](https://dados.gov.br/dataset/siorg)
optional arguments:
-h, --help show this help message and exit
--output file_name filename for the data output as CSV
When making requests, bots MUST use the Public Bodies Bot user agent string to identify themselves to servers:
PublicBodiesBot (https://github.com/okfn/publicbodies)
If using Python, use the same libraries already defined in scrips/requirements.txt, in order to keep the project dependencies tidy, and only add new ones if strictly necessary.
After creating a new bot, make sure to add it to the update data workflow so that it runs regularly and keeps the data up-to-date.
Details of the automated data extraction to build the original database.
Data sources: