# oc_ocdm
[<img src="https://img.shields.io/badge/powered%20by-OpenCitations-%239931FC?labelColor=2D22DE" />](http://opencitations.net)
[![Run tests](https://github.com/opencitations/oc_ocdm/actions/workflows/run_tests.yml/badge.svg)](https://github.com/opencitations/oc_ocdm/actions/workflows/run_tests.yml)
![Coverage](https://raw.githubusercontent.com/opencitations/oc_ocdm/master/oc_ocdm/test/coverage/coverage.svg)
[![Documentation Status](https://readthedocs.org/projects/oc-ocdm/badge/?version=latest)](https://oc-ocdm.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/oc-ocdm.svg)](https://badge.fury.io/py/oc-ocdm)
![PyPI](https://img.shields.io/pypi/pyversions/oc_meta)
[![DOI](https://zenodo.org/badge/322327342.svg)](https://zenodo.org/badge/latestdoi/322327342)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)
Documentation can be found here: [https://oc-ocdm.readthedocs.io](https://oc-ocdm.readthedocs.io).
**oc_ocdm** is a Python ≥3.7 library that enables the user to import, produce, modify and export RDF data
structures which are compliant with the [OCDM v2.0.1](https://figshare.com/articles/Metadata_for_the_OpenCitations_Corpus/3443876) specification.
## User's guide
This package can be simply installed with **pip**:
``` bash
pip install oc_ocdm
```
**Please, have a look at the notebooks [available here](https://github.com/opencitations/oc_ocdm/blob/master/notebooks/).**
## Developer's guide
### First steps
1. Install Poetry:
``` bash
pip install poetry
```
2. Clone this repository:
``` bash
git clone https://github.com/iosonopersia/oc_ocdm
cd ./oc_ocdm
```
3. Install all the dependencies:
``` bash
poetry install
```
4. Build the package (_output dir:_ `dist`):
``` bash
poetry build
```
5. Globally install the package (_alternatively, you can also install it inside a virtual-env,
by providing the full path to the .tar.gz archive_):
``` bash
pip install ./dist/oc_ocdm-<VERSION>.tar.gz
```
6. If everything went the right way, than you should be able to use the `oc_ocdm` library in your Python modules as follows:
``` python
from oc_ocdm.graph import GraphSet
from oc_ocdm.graph.entities.bibliographic import AgentRole
# ...
```
### How to run the tests
Just run the following command inside the root project folder:
``` bash
poetry run test
```
### How to manage the project using Poetry
See [Poetry commands documentation](https://python-poetry.org/docs/cli/).
**AAA: when adding a non-dev dependency via `poetry add`, always remember to add
that same dependency to the `autodoc_mock_imports` list in `docs/source/conf.py`**
(otherwise "Read the Docs" won't be able to compile the documentation correctly!).
### How to publish the package onto Pypi
``` bash
poetry publish --build
```
### Install dependencies needed for the documentation
``` bash
pip install Sphinx sphinx_rtd_theme
```
### How to generate the documentation
``` bash
rm ./docs/source/modules/*
sphinx-apidoc -o ./docs/source/modules oc_ocdm *test*
```
### How to build the documentation
___
**Warning! In order to avoid getting the following `WARNING: html_static_path entry '_static' does not exist`, you'll
need to manually create an empty `_static` folder with the command:**
``` bash
mkdir docs/source/_static
```
___
1. Always remember to move inside the `docs` folder:
``` bash
cd docs
```
2. Use the Makefile provided to build the docs:
+ _on Windows_
```
make.bat html
```
+ _on Linux and MacOs_
```
make html
```
3. Open the `build/html/index.html` file with a web browser of your choice!
## Acknowledgements
This work has been funded by the project “Open Biomedical Citations in Context Corpus”
(Wellcome Trust, Grant n. 214471/Z/18/Z) and the project “Wikipedia Citations in Wikidata”
(Wikimedia Foundation, https://meta.wikimedia.org/wiki/Wikicite/grant/Wikipedia_Citations_in_Wikidata).
We would like to thank (in alphabetic order) Fabio Mariani (@FabioMariani), Arcangelo
Massari (@arcangelo7), and Gabriele Pisciotta (@GabrielePisciotta) for the constructive feedback.
Raw data
{
"_id": null,
"home_page": "https://opencitations.net",
"name": "oc-ocdm",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7.4,<4.0.0",
"maintainer_email": "",
"keywords": "opencitations,openscience,datamodel,mapping",
"author": "Silvio Peroni",
"author_email": "essepuntato@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2a/14/27505e76bbebe090f1be91de3d3f3a30cf4e2ccd35da97a9bf58b4f632f0/oc_ocdm-7.3.1.tar.gz",
"platform": null,
"description": "# oc_ocdm\n[<img src=\"https://img.shields.io/badge/powered%20by-OpenCitations-%239931FC?labelColor=2D22DE\" />](http://opencitations.net)\n[![Run tests](https://github.com/opencitations/oc_ocdm/actions/workflows/run_tests.yml/badge.svg)](https://github.com/opencitations/oc_ocdm/actions/workflows/run_tests.yml)\n![Coverage](https://raw.githubusercontent.com/opencitations/oc_ocdm/master/oc_ocdm/test/coverage/coverage.svg)\n[![Documentation Status](https://readthedocs.org/projects/oc-ocdm/badge/?version=latest)](https://oc-ocdm.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/oc-ocdm.svg)](https://badge.fury.io/py/oc-ocdm)\n![PyPI](https://img.shields.io/pypi/pyversions/oc_meta)\n\n[![DOI](https://zenodo.org/badge/322327342.svg)](https://zenodo.org/badge/latestdoi/322327342)\n[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](https://opensource.org/licenses/ISC)\n\nDocumentation can be found here: [https://oc-ocdm.readthedocs.io](https://oc-ocdm.readthedocs.io).\n\n**oc_ocdm** is a Python ≥3.7 library that enables the user to import, produce, modify and export RDF data\nstructures which are compliant with the [OCDM v2.0.1](https://figshare.com/articles/Metadata_for_the_OpenCitations_Corpus/3443876) specification.\n\n## User's guide\nThis package can be simply installed with **pip**:\n``` bash\n pip install oc_ocdm\n```\n**Please, have a look at the notebooks [available here](https://github.com/opencitations/oc_ocdm/blob/master/notebooks/).**\n\n## Developer's guide\n\n### First steps\n 1. Install Poetry:\n``` bash\n pip install poetry\n```\n 2. Clone this repository:\n``` bash\n git clone https://github.com/iosonopersia/oc_ocdm\n cd ./oc_ocdm\n```\n 3. Install all the dependencies:\n``` bash\n poetry install\n```\n 4. Build the package (_output dir:_ `dist`):\n``` bash\n poetry build\n```\n 5. Globally install the package (_alternatively, you can also install it inside a virtual-env,\n by providing the full path to the .tar.gz archive_):\n``` bash\n pip install ./dist/oc_ocdm-<VERSION>.tar.gz\n```\n 6. If everything went the right way, than you should be able to use the `oc_ocdm` library in your Python modules as follows:\n``` python\n from oc_ocdm.graph import GraphSet\n from oc_ocdm.graph.entities.bibliographic import AgentRole\n # ...\n```\n\n### How to run the tests\nJust run the following command inside the root project folder:\n``` bash\n poetry run test\n```\n\n### How to manage the project using Poetry\nSee [Poetry commands documentation](https://python-poetry.org/docs/cli/).\n\n**AAA: when adding a non-dev dependency via `poetry add`, always remember to add\nthat same dependency to the `autodoc_mock_imports` list in `docs/source/conf.py`**\n(otherwise \"Read the Docs\" won't be able to compile the documentation correctly!).\n\n### How to publish the package onto Pypi\n``` bash\n poetry publish --build\n```\n### Install dependencies needed for the documentation\n``` bash\n pip install Sphinx sphinx_rtd_theme\n```\n### How to generate the documentation\n``` bash\n rm ./docs/source/modules/*\n sphinx-apidoc -o ./docs/source/modules oc_ocdm *test*\n```\n\n### How to build the documentation\n___\n**Warning! In order to avoid getting the following `WARNING: html_static_path entry '_static' does not exist`, you'll\nneed to manually create an empty `_static` folder with the command:**\n``` bash\n mkdir docs/source/_static\n```\n___\n 1. Always remember to move inside the `docs` folder:\n``` bash\n cd docs\n```\n 2. Use the Makefile provided to build the docs:\n + _on Windows_\n ```\n make.bat html\n ```\n + _on Linux and MacOs_\n ```\n make html\n ```\n 3. Open the `build/html/index.html` file with a web browser of your choice!\n\n## Acknowledgements\nThis work has been funded by the project \u201cOpen Biomedical Citations in Context Corpus\u201d\n(Wellcome Trust, Grant n. 214471/Z/18/Z) and the project \u201cWikipedia Citations in Wikidata\u201d\n(Wikimedia Foundation, https://meta.wikimedia.org/wiki/Wikicite/grant/Wikipedia_Citations_in_Wikidata).\n\nWe would like to thank (in alphabetic order) Fabio Mariani (@FabioMariani), Arcangelo\nMassari (@arcangelo7), and Gabriele Pisciotta (@GabrielePisciotta) for the constructive feedback.\n",
"bugtrack_url": null,
"license": "ISC",
"summary": "Object mapping library for manipulating RDF graphs that are compliant with the OpenCitations datamodel.",
"version": "7.3.1",
"project_urls": {
"Documentation": "https://oc-ocdm.readthedocs.io",
"Homepage": "https://opencitations.net",
"Repository": "https://github.com/opencitations/oc_ocdm"
},
"split_keywords": [
"opencitations",
"openscience",
"datamodel",
"mapping"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7dea5034b230e3baee97650b68da7e1f7a678ea124f5d281166031d419464244",
"md5": "d616a6f424308f59d0d67e19cf6e50f6",
"sha256": "3f60535e8038652e1a0a9d4975f74f7ea22da1a16393e2a2e2e12c77f9d3a25c"
},
"downloads": -1,
"filename": "oc_ocdm-7.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d616a6f424308f59d0d67e19cf6e50f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7.4,<4.0.0",
"size": 169518,
"upload_time": "2023-09-15T20:24:59",
"upload_time_iso_8601": "2023-09-15T20:24:59.511062Z",
"url": "https://files.pythonhosted.org/packages/7d/ea/5034b230e3baee97650b68da7e1f7a678ea124f5d281166031d419464244/oc_ocdm-7.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2a1427505e76bbebe090f1be91de3d3f3a30cf4e2ccd35da97a9bf58b4f632f0",
"md5": "670ad5c838e9cf0251ced9515e3dcac7",
"sha256": "f87f777bdf0941cf856866eb28bddfe927ba4c76694750c6e8391fca01684548"
},
"downloads": -1,
"filename": "oc_ocdm-7.3.1.tar.gz",
"has_sig": false,
"md5_digest": "670ad5c838e9cf0251ced9515e3dcac7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7.4,<4.0.0",
"size": 84909,
"upload_time": "2023-09-15T20:25:01",
"upload_time_iso_8601": "2023-09-15T20:25:01.921216Z",
"url": "https://files.pythonhosted.org/packages/2a/14/27505e76bbebe090f1be91de3d3f3a30cf4e2ccd35da97a9bf58b4f632f0/oc_ocdm-7.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-15 20:25:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "opencitations",
"github_project": "oc_ocdm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "oc-ocdm"
}