# DBnomics Data Model
In DBnomics, once data has been downloaded from providers, it is converted in a common format: the DBnomics data model.
This Python package provides:
- model classes defining DBnomics entities (provider, dataset, series, etc.) with their business logic and validation rules
- a data storage abstraction to load and save those entities
- adapters implementing the data storage abstraction (e.g. `dbnomics_data_model.storage.adapters.filesystem`)
This package is used in particular by the convert script of fetchers in order to save data.
## Documentation
Please read <https://db.nomics.world/docs/data-model/>
## Validate data
To validate a directory containing data written by (or compatible with) the "filesystem" adapter:
```sh
dbnomics-validate-storage <storage_dir>
```
This script outputs the data validation errors it finds.
## Run tests
To run unit tests:
```sh
pytest
```
Code quality:
```sh
flake8 .
```
See also: <https://git.nomics.world/dbnomics-fetchers/documentation/wikis/code-style>
## Publish a new version
For package maintainers:
```bash
git tag x.y.z
git push
git push --tags
```
GitLab CI will publish the package to <https://pypi.org/project/dbnomics-data-model/> (see [`.gitlab-ci.yml`](./.gitlab-ci.yml)).
Raw data
{
"_id": null,
"home_page": "https://git.nomics.world/dbnomics/dbnomics-data-model",
"name": "dbnomics-data-model",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "DBnomics Team",
"author_email": "contact@nomics.world",
"download_url": "https://files.pythonhosted.org/packages/38/c8/f3d9b5edd17bed4cc10a5cfb114507c18703154f7ba4f333ead12ef2b044/dbnomics_data_model-0.13.35.tar.gz",
"platform": null,
"description": "# DBnomics Data Model\n\nIn DBnomics, once data has been downloaded from providers, it is converted in a common format: the DBnomics data model.\n\nThis Python package provides:\n\n- model classes defining DBnomics entities (provider, dataset, series, etc.) with their business logic and validation rules\n- a data storage abstraction to load and save those entities\n- adapters implementing the data storage abstraction (e.g. `dbnomics_data_model.storage.adapters.filesystem`)\n\nThis package is used in particular by the convert script of fetchers in order to save data.\n\n## Documentation\n\nPlease read <https://db.nomics.world/docs/data-model/>\n\n## Validate data\n\nTo validate a directory containing data written by (or compatible with) the \"filesystem\" adapter:\n\n```sh\ndbnomics-validate-storage <storage_dir>\n```\n\nThis script outputs the data validation errors it finds.\n\n## Run tests\n\nTo run unit tests:\n\n```sh\npytest\n```\n\nCode quality:\n\n```sh\nflake8 .\n```\n\nSee also: <https://git.nomics.world/dbnomics-fetchers/documentation/wikis/code-style>\n\n## Publish a new version\n\nFor package maintainers:\n\n```bash\ngit tag x.y.z\ngit push\ngit push --tags\n```\n\nGitLab CI will publish the package to <https://pypi.org/project/dbnomics-data-model/> (see [`.gitlab-ci.yml`](./.gitlab-ci.yml)).\n",
"bugtrack_url": null,
"license": "AGPL-3.0-or-later",
"summary": "Provide classes for DBnomics entities and a storage abstraction",
"version": "0.13.35",
"project_urls": {
"Homepage": "https://git.nomics.world/dbnomics/dbnomics-data-model",
"Repository": "https://git.nomics.world/dbnomics/dbnomics-data-model"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "179c2d762f44c6e4d3fa2a276b5dbb30ce7c953e01180964b8a1165d6bbbb99c",
"md5": "3281f454f79e8da819c77dce0dac13f7",
"sha256": "f9bd34420fe6fa6d573dc89979af5ecbccfc702cb1d7eff9bc0f46fc8df5c35a"
},
"downloads": -1,
"filename": "dbnomics_data_model-0.13.35-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3281f454f79e8da819c77dce0dac13f7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 63899,
"upload_time": "2023-06-12T16:25:10",
"upload_time_iso_8601": "2023-06-12T16:25:10.185779Z",
"url": "https://files.pythonhosted.org/packages/17/9c/2d762f44c6e4d3fa2a276b5dbb30ce7c953e01180964b8a1165d6bbbb99c/dbnomics_data_model-0.13.35-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "38c8f3d9b5edd17bed4cc10a5cfb114507c18703154f7ba4f333ead12ef2b044",
"md5": "0c7ab8174cd9e3028921a59e367ef8a6",
"sha256": "d83f36ceb8b95e6e83b0655a89689a8d25dd6e1e8d321d53c3b07323a2f86160"
},
"downloads": -1,
"filename": "dbnomics_data_model-0.13.35.tar.gz",
"has_sig": false,
"md5_digest": "0c7ab8174cd9e3028921a59e367ef8a6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 49457,
"upload_time": "2023-06-12T16:25:12",
"upload_time_iso_8601": "2023-06-12T16:25:12.324611Z",
"url": "https://files.pythonhosted.org/packages/38/c8/f3d9b5edd17bed4cc10a5cfb114507c18703154f7ba4f333ead12ef2b044/dbnomics_data_model-0.13.35.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-12 16:25:12",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dbnomics-data-model"
}