Metadata-Version: 2.1
Name: followthemoney
Version: 3.0.2
Summary: UNKNOWN
Home-page: https://followthemoney.readthedocs.io/
Author: Organized Crime and Corruption Reporting Project
Author-email: data@occrp.org
License: MIT
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
Requires-Dist: babel (<3.0.0,>=2.9.1)
Requires-Dist: pyyaml (<7.0.0,>=5.0.0)
Requires-Dist: types-PyYAML
Requires-Dist: sqlalchemy2-stubs
Requires-Dist: banal (<1.1.0,>=1.0.1)
Requires-Dist: click (<9.0.0,>=8.0)
Requires-Dist: stringcase (<2.0.0,>=1.2.0)
Requires-Dist: requests (<3.0.0,>=2.21.0)
Requires-Dist: fuzzywuzzy[speedup] (<1.0.0,>=0.18.0)
Requires-Dist: python-levenshtein (<1.0.0,>=0.12.0)
Requires-Dist: normality (<3.0.0,>=2.1.1)
Requires-Dist: sqlalchemy (<2.0.0,>=1.2.0)
Requires-Dist: countrynames (<2.0.0,>=1.13.0)
Requires-Dist: languagecodes (<2.0.0,>=1.1.0)
Requires-Dist: prefixdate (<1.0.0,>=0.4.0)
Requires-Dist: fingerprints (<2.0.0,>=1.0.1)
Requires-Dist: phonenumbers (<9.0.0,>=8.12.22)
Requires-Dist: python-stdnum (<2.0.0,>=1.16)
Requires-Dist: pantomime (<1.0.0,>=0.5.1)
Requires-Dist: pytz (>=2021.1)
Requires-Dist: rdflib (<6.2.0,>=6.1.0)
Requires-Dist: networkx (<2.9,>=2.5)
Requires-Dist: openpyxl (<4.0.0,>=3.0.5)
Requires-Dist: orjson (<4.0,>=3.7)
Provides-Extra: dev
Requires-Dist: pip (>=10.0.0) ; extra == 'dev'
Requires-Dist: bump2version ; extra == 'dev'
Requires-Dist: wheel (>=0.29.0) ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: types-PyYAML ; extra == 'dev'
Requires-Dist: types-requests ; extra == 'dev'
Requires-Dist: types-setuptools ; extra == 'dev'
Requires-Dist: flake8 (>=2.6.0) ; extra == 'dev'
Requires-Dist: transifex-client ; extra == 'dev'
Requires-Dist: responses (>=0.9.0) ; extra == 'dev'
Requires-Dist: coverage (>=4.1) ; extra == 'dev'
Requires-Dist: recommonmark (>=0.4.0) ; extra == 'dev'

# 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://docs.alephdata.org/developers/followthemoney

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://docs.alephdata.org/developers/ftm

Besides the introductions, there is also a full reference documentation for the
library and the contained ontology: 

* https://followthemoney.readthedocs.io/

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).

## 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 test
bumpversion patch
git push --tags
```

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`.


