# datagouv-python
[![PyPI version](https://badge.fury.io/py/datagouv-python.svg)](https://badge.fury.io/py/datagouv-python)
[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/MaximePawlakFr/datagouv-python)
Unofficial python client for `data.gouv.fr`.
Official documentation is here: https://guides.data.gouv.fr/guide-data.gouv.fr/api/reference.
Current API version supported = "1".
# Getting Started
```python
from datagouv import DatagouvClient
client = DatagouvClient(MY_API_KEY)
# Get a dataset
dataset = client.datasets.get(my_dataset_id)
dataset_resources = dataset.get('resources')
# Upload a new resource from a file
client.datasets.post_resource_file(my_dataset_id, filename)
# Update a resource file
client.datasets.put_resource_file(my_dataset_id, filename, resource_id)
# Update a resource
client.datasets.put_resource(my_dataset_id, resource)
```
## Download all resources
```python
from datagouv import ResourcesDownloader
# Get a dataset: https://meteo.data.gouv.fr/datasets/656dab84db1bdf627a40eaae
dataset_id = "656dab84db1bdf627a40eaae"
# Instanciate ResourcesDownloader
downloader = ResourcesDownloader(dataset_id)
# Download to current directory
downloader.download()
```
---
# Development
```
poetry run start
poetry run black datagouv/
poetry run flake8
```
## Build and Publish
### Steps
```bash
poetry version [patch, minor, major]
poetry install
poetry build
# todo: Update CHANGELOG
git commit -m "vX.X.X"
git tag vX.X.X
poetry publish
git push --tags
git push
```
### Commands
```bash
poetry add pytest --group dev
poetry version
poetry version -s
poetry version [patch, minor, major]
```
```bash
poetry build
```
<!--
```
python -m build
python -m twine upload --config-file .pypirc -r testpypi dist/*
python -m twine upload --config-file .pypirc -r pypi dist/*
``` -->
#### Config
```bash
# test-pypi
poetry config repositories.test-pypi https://test.pypi.org/legacy/
poetry config pypi-token.test-pypi MY_TOKEN
poetry publish -r test-pypi
# pypi
poetry config pypi-token.pypi MY_TOKEN
poetry publish
```
# Resources
* https://pypi.org/project/datagouv-python/
# Roadmap
* [ ] Handle /datasets routes
* [ ] Handle other routes
* /site
* /reuses
* /discussions
* /organizations
* /spatial
* /users
* /me
* /workers
* /tags
* /topics
* /posts
* /transfer
* /notifications
* /avatars
* /harvest
Raw data
{
"_id": null,
"home_page": "https://github.com/MaximePawlakFr/datagouv-python",
"name": "datagouv-python",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "open-data, opendata, government",
"author": "Maxime Pawlak",
"author_email": "maxime.pawlak@amatek.fr",
"download_url": "https://files.pythonhosted.org/packages/32/3b/009dc77ad611bcfed16094cf40158b867e582df8e5a43a994ad839e2fe8c/datagouv_python-0.1.4.tar.gz",
"platform": null,
"description": "# datagouv-python\n\n[![PyPI version](https://badge.fury.io/py/datagouv-python.svg)](https://badge.fury.io/py/datagouv-python)\n[![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/MaximePawlakFr/datagouv-python)\n\nUnofficial python client for `data.gouv.fr`.\n\nOfficial documentation is here: https://guides.data.gouv.fr/guide-data.gouv.fr/api/reference.\n\nCurrent API version supported = \"1\".\n\n# Getting Started\n\n```python\nfrom datagouv import DatagouvClient\n\nclient = DatagouvClient(MY_API_KEY)\n\n# Get a dataset\ndataset = client.datasets.get(my_dataset_id)\ndataset_resources = dataset.get('resources')\n\n# Upload a new resource from a file\nclient.datasets.post_resource_file(my_dataset_id, filename)\n\n# Update a resource file \nclient.datasets.put_resource_file(my_dataset_id, filename, resource_id)\n\n# Update a resource\nclient.datasets.put_resource(my_dataset_id, resource)\n\n```\n\n## Download all resources\n```python\nfrom datagouv import ResourcesDownloader\n\n# Get a dataset: https://meteo.data.gouv.fr/datasets/656dab84db1bdf627a40eaae\ndataset_id = \"656dab84db1bdf627a40eaae\"\n\n# Instanciate ResourcesDownloader\ndownloader = ResourcesDownloader(dataset_id)\n\n# Download to current directory\ndownloader.download()\n```\n\n---\n\n# Development\n\n```\npoetry run start\npoetry run black datagouv/\npoetry run flake8\n```\n\n## Build and Publish\n\n### Steps\n\n```bash\npoetry version [patch, minor, major]\npoetry install\npoetry build\n# todo: Update CHANGELOG\ngit commit -m \"vX.X.X\"\ngit tag vX.X.X\npoetry publish\ngit push --tags\ngit push\n```\n\n### Commands\n```bash\npoetry add pytest --group dev\n\npoetry version\npoetry version -s\n\npoetry version [patch, minor, major]\n```\n\n```bash\npoetry build\n```\n\n\n<!-- \n```\npython -m build\n\npython -m twine upload --config-file .pypirc -r testpypi dist/*\npython -m twine upload --config-file .pypirc -r pypi dist/*\n``` -->\n\n#### Config \n```bash\n# test-pypi\npoetry config repositories.test-pypi https://test.pypi.org/legacy/\npoetry config pypi-token.test-pypi MY_TOKEN\n\npoetry publish -r test-pypi \n\n# pypi\npoetry config pypi-token.pypi MY_TOKEN\npoetry publish\n```\n\n# Resources\n* https://pypi.org/project/datagouv-python/\n\n# Roadmap\n\n* [ ] Handle /datasets routes\n* [ ] Handle other routes\n * /site\n * /reuses\n * /discussions\n * /organizations\n * /spatial\n * /users\n * /me\n * /workers\n * /tags\n * /topics\n * /posts\n * /transfer\n * /notifications\n * /avatars\n * /harvest\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Unofficial python client for `data.gouv.fr`",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/MaximePawlakFr/datagouv-python",
"Repository": "https://github.com/MaximePawlakFr/datagouv-python"
},
"split_keywords": [
"open-data",
" opendata",
" government"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9d313f70f8391943234f9da6ec07d435c33a681aa4cb5928ac8f921dfd0ceef7",
"md5": "db2d0e4e8b5b58cca9b7210fcc31d4eb",
"sha256": "c898f39ad163b93c77a4687645c666b9bb0b572a0d55659f97d929e9889c3a10"
},
"downloads": -1,
"filename": "datagouv_python-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "db2d0e4e8b5b58cca9b7210fcc31d4eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 19497,
"upload_time": "2024-04-20T12:39:43",
"upload_time_iso_8601": "2024-04-20T12:39:43.195674Z",
"url": "https://files.pythonhosted.org/packages/9d/31/3f70f8391943234f9da6ec07d435c33a681aa4cb5928ac8f921dfd0ceef7/datagouv_python-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "323b009dc77ad611bcfed16094cf40158b867e582df8e5a43a994ad839e2fe8c",
"md5": "6ba5bdb88f0b20d393a2d65100cde2e3",
"sha256": "b65068e5d66354fc8f4f3d557584e54838139b0c4a1cf0c1b52e715692821261"
},
"downloads": -1,
"filename": "datagouv_python-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "6ba5bdb88f0b20d393a2d65100cde2e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 17866,
"upload_time": "2024-04-20T12:39:44",
"upload_time_iso_8601": "2024-04-20T12:39:44.738691Z",
"url": "https://files.pythonhosted.org/packages/32/3b/009dc77ad611bcfed16094cf40158b867e582df8e5a43a994ad839e2fe8c/datagouv_python-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-20 12:39:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MaximePawlakFr",
"github_project": "datagouv-python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "datagouv-python"
}