# Follow the Money
[![ftm-build](https://github.com/alephdata/followthemoney/actions/workflows/build.yml/badge.svg)](https://github.com/alephdata/followthemoney/actions/workflows/build.yml)
This repository contains a pragmatic data model for the entities most
commonly used in investigative reporting: people, companies, assets,
payments, court cases, etc.
The purpose of this is not to model reality in an ideal data model, but
rather to have a working data structure for researchers.
`followthemoney` also contains code used to validate and normalize many
of the elements of data, and to map tabular data into the model.
## Documentation
For a general introduction to `followthemoney`, check the high-level introduction:
* https://followthemoney.tech
Part of this package is a command-line tool that can be used to process and
transform data in various ways. You can find a tutorial here:
* https://followthemoney.tech/docs/cli/
Besides the introductions, there is also a full reference documentation for the
library and the contained ontology:
* https://followthemoney.tech/explorer/
There's also a number of viewers for the RDF schema definitions generated
from FollowTheMoney, e.g.:
* [LODE documentation](http://150.146.207.114/lode/extract?url=https%3A%2F%2Falephdata.github.io%2Ffollowthemoney%2Fns%2Fftm.xml&owlapi=true&imported=true&lang=en)
* [WebVOWL](https://service.tib.eu/webvowl/#iri=https://alephdata.github.io/followthemoney/ns/ftm.xml)
* RDF/OWL specification in [XML](https://alephdata.github.io/followthemoney/ns/ftm.xml).
## Development environment
For local development with a virtualenv:
```bash
python3 -mvenv .env
source .env/bin/activate
pip install -e ".[dev]"
```
Now you can run the tests with
```bash
make test
```
## Releasing
We release a lot of version of `followthemoney` because even small changes
to the code base require a pypi release to begin being used in `aleph`. To
this end, here's the steps for making a release:
```bash
git pull --rebase
make build
make test
git add . && git commit -m "Updating translation files"
bumpversion patch
git push --atomic origin main $(git describe --tags --abbrev=0)
```
This will create a new patch release and upload a distribution of it. If
the changes are more significant, you can run `bumpversion` with the `minor`
or `major` arguments.
When the schema is updated, please update the docs, ideally including the
diagrams. For the RDF namespace and JavaScript version of the model,
run `make generate`.
Raw data
{
"_id": null,
"home_page": "https://followthemoney.tech/",
"name": "followthemoney",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Organized Crime and Corruption Reporting Project",
"author_email": "data@occrp.org",
"download_url": "https://files.pythonhosted.org/packages/43/d4/2d9a4e3bcbd16c8ec56fc3d50c2429d5b06f9a120935c5d544138029cd9f/followthemoney-3.7.4.tar.gz",
"platform": null,
"description": "# Follow the Money\n\n[![ftm-build](https://github.com/alephdata/followthemoney/actions/workflows/build.yml/badge.svg)](https://github.com/alephdata/followthemoney/actions/workflows/build.yml)\n\nThis repository contains a pragmatic data model for the entities most\ncommonly used in investigative reporting: people, companies, assets,\npayments, court cases, etc.\n\nThe purpose of this is not to model reality in an ideal data model, but\nrather to have a working data structure for researchers.\n\n`followthemoney` also contains code used to validate and normalize many\nof the elements of data, and to map tabular data into the model.\n\n## Documentation\n\nFor a general introduction to `followthemoney`, check the high-level introduction:\n\n* https://followthemoney.tech\n\nPart of this package is a command-line tool that can be used to process and\ntransform data in various ways. You can find a tutorial here:\n\n* https://followthemoney.tech/docs/cli/\n\nBesides the introductions, there is also a full reference documentation for the\nlibrary and the contained ontology: \n\n* https://followthemoney.tech/explorer/\n\nThere's also a number of viewers for the RDF schema definitions generated\nfrom FollowTheMoney, e.g.:\n\n* [LODE documentation](http://150.146.207.114/lode/extract?url=https%3A%2F%2Falephdata.github.io%2Ffollowthemoney%2Fns%2Fftm.xml&owlapi=true&imported=true&lang=en)\n* [WebVOWL](https://service.tib.eu/webvowl/#iri=https://alephdata.github.io/followthemoney/ns/ftm.xml)\n* RDF/OWL specification in [XML](https://alephdata.github.io/followthemoney/ns/ftm.xml).\n\n## Development environment\n\nFor local development with a virtualenv:\n\n```bash\npython3 -mvenv .env\nsource .env/bin/activate\npip install -e \".[dev]\"\n```\n\nNow you can run the tests with\n\n```bash\nmake test\n```\n\n## Releasing\n\nWe release a lot of version of `followthemoney` because even small changes\nto the code base require a pypi release to begin being used in `aleph`. To\nthis end, here's the steps for making a release:\n\n```bash\ngit pull --rebase\nmake build\nmake test\ngit add . && git commit -m \"Updating translation files\"\nbumpversion patch\ngit push --atomic origin main $(git describe --tags --abbrev=0)\n```\n\nThis will create a new patch release and upload a distribution of it. If\nthe changes are more significant, you can run `bumpversion` with the `minor`\nor `major` arguments.\n\nWhen the schema is updated, please update the docs, ideally including the\ndiagrams. For the RDF namespace and JavaScript version of the model, \nrun `make generate`.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": null,
"version": "3.7.4",
"project_urls": {
"Homepage": "https://followthemoney.tech/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a6e07d37b66b918645beed1bf3ba06a20228a9ac6c21e0751248f66665458e49",
"md5": "1138715febff7b35ea99669d4adc6068",
"sha256": "1e77d1aaafe30b59242e61f78a62a90a07037147021532f01a3bb5c915b74d27"
},
"downloads": -1,
"filename": "followthemoney-3.7.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1138715febff7b35ea99669d4adc6068",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 478540,
"upload_time": "2024-10-15T09:00:25",
"upload_time_iso_8601": "2024-10-15T09:00:25.532034Z",
"url": "https://files.pythonhosted.org/packages/a6/e0/7d37b66b918645beed1bf3ba06a20228a9ac6c21e0751248f66665458e49/followthemoney-3.7.4-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "43d42d9a4e3bcbd16c8ec56fc3d50c2429d5b06f9a120935c5d544138029cd9f",
"md5": "b1e9e0f72e44a6d3dde2639acf675032",
"sha256": "3b5717b0757f8f5d3b484ebbbe014ce744b431477063842fc0732fee8ac2cdce"
},
"downloads": -1,
"filename": "followthemoney-3.7.4.tar.gz",
"has_sig": false,
"md5_digest": "b1e9e0f72e44a6d3dde2639acf675032",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 406031,
"upload_time": "2024-10-15T09:00:29",
"upload_time_iso_8601": "2024-10-15T09:00:29.045966Z",
"url": "https://files.pythonhosted.org/packages/43/d4/2d9a4e3bcbd16c8ec56fc3d50c2429d5b06f9a120935c5d544138029cd9f/followthemoney-3.7.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-15 09:00:29",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "followthemoney"
}