Maven
/meɪvən/ – a trusted expert who seeks to pass timely and relevant knowledge on to others.
Maven's goal is to reduce the time data scientists spend on data cleaning and preparation by providing easy access to open datasets in both raw and processed formats.
Maven was built to:
- Improve availability and integrity of open data by eliminating data issues, adding common identifiers, and reshaping data to become model-ready.
- Source data in its rawest form from the most authoritative data provider available with all transformations available as open source code to enhance integrity and trust.
- Honour data licences wherever possible whilst avoiding potential issues relating to re-distribution of data (especially open datasets where no clear licence is provided) by performing all data retrieval and processing on-device.
Install
pip install maven
Usage
import maven
maven.get('general-election/UK/2017/results', data_directory='./data/')
Datasets
Data dictionaries for all datasets are available by clicking on the dataset's name.
Running tests
To run tests against an installed version (either pip install .
or pip install maven
):
$ cd /path/to/repo
$ pytest
To run tests whilst in development:
$ cd /path/to/repo
$ python -m pytest
Licences
Name | Description | Attribution Statement |
---|
Open Parliament Licence | Free to copy, publish, distribute, transmit, adapt and exploit commercially or non-commercially. See URL for full details. | Contains Parliamentary information licensed under the Open Parliament Licence v3.0. |
Open Government Licence | Free to copy, publish, distribute, transmit, adapt and exploit commercially and non-commercially. See URL for full details. | Contains public sector information licensed under the Open Government Licence v2.0. |
Contributing
Maven was designed for your contributions!
- Check for open issues or open a fresh issue to start a discussion around your idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- For new datasets ensure the processed dataset is fully documented with a data dictionary. For new features and bugs, please write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published. 😄