summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 04:32:42 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 04:32:42 +0000
commit99179d07dc8fbaa203fa340e08b53c371a76e005 (patch)
tree3db407f3af42553a686eefe8078151d5a25f4a00
parent25cdd49a23b6a1d84ef4f337b74cc329f62f9cdb (diff)
automatic import of python-prontoopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-pronto.spec652
-rw-r--r--sources1
3 files changed, 654 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..40ec981 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pronto-2.5.4.tar.gz
diff --git a/python-pronto.spec b/python-pronto.spec
new file mode 100644
index 0000000..ba01d08
--- /dev/null
+++ b/python-pronto.spec
@@ -0,0 +1,652 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pronto
+Version: 2.5.4
+Release: 1
+Summary: Python frontend to ontologies.
+License: MIT
+URL: https://github.com/althonos/pronto
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/db/5a/263f1314a3614231e9278ca84314a03625365fda02bf65193fd53497733e/pronto-2.5.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-chardet
+Requires: python3-fastobo
+Requires: python3-networkx
+Requires: python3-dateutil
+
+%description
+# `pronto` [![Stars](https://img.shields.io/github/stars/althonos/pronto.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pronto/stargazers)
+
+*A Python frontend to ontologies.*
+
+[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pronto/test.yml?branch=master&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pronto/actions)
+[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/mit/)
+[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/)
+[![Docs](https://img.shields.io/readthedocs/pronto?style=flat-square&maxAge=3600)](http://pronto.readthedocs.io/en/stable/?badge=stable)
+[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pronto?style=flat-square&maxAge=3600)](https://codecov.io/gh/althonos/pronto/)
+[![Sanity](https://img.shields.io/codacy/grade/157b5fd24e5648ea80580f28399e79a4.svg?style=flat-square&maxAge=3600)](https://codacy.com/app/althonos/pronto)
+[![PyPI](https://img.shields.io/pypi/v/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.python.org/pypi/pronto)
+[![Bioconda](https://img.shields.io/conda/vn/bioconda/pronto?style=flat-square&maxAge=3600)](https://anaconda.org/bioconda/pronto)
+[![Versions](https://img.shields.io/pypi/pyversions/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Wheel](https://img.shields.io/pypi/wheel/pronto?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/blob/master/CHANGELOG.md)
+[![GitHub issues](https://img.shields.io/github/issues/althonos/pronto.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pronto/issues)
+[![DOI](https://img.shields.io/badge/doi-10.5281%2Fzenodo.595572-purple?style=flat-square&maxAge=2678400)](https://doi.org/10.5281/zenodo.595572)
+[![Downloads](https://img.shields.io/badge/dynamic/json?style=flat-square&color=303f9f&maxAge=86400&label=downloads&query=%24.total_downloads&url=https%3A%2F%2Fapi.pepy.tech%2Fapi%2Fprojects%2Fpronto)](https://pepy.tech/project/pronto)
+
+## 🚩 Table of Contents
+
+- [Overview](#%EF%B8%8F-overview)
+- [Supported Languages](#%EF%B8%8F-supported-languages)
+- [Installing](#-installing)
+- [Examples](#-examples)
+- [API Reference](#-api-reference)
+- [License](#-license)
+
+## πŸ—ΊοΈ Overview
+
+Pronto is a Python library to parse, browse, create, and export
+ontologies, supporting several ontology languages and formats. It
+implement the specifications of the
+[Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/obo-syntax.html)
+in the form of an safe high-level interface. *If you're only interested in
+parsing OBO or OBO Graphs document, you may wish to consider
+[`fastobo`](https://pypi.org/project/fastobo) instead.*
+
+
+## 🏳️ Supported Languages
+
+- [Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/GO.format.obo-1_4.html).
+ *Because this format is fairly new, not all OBO ontologies can be parsed at the
+ moment. See the [OBO Foundry roadmap](https://github.com/orgs/fastobo/projects/2)
+ listing the compliant ontologies, and don't hesitate to contact their developers
+ to push adoption forward.*
+- [OBO Graphs](https://github.com/geneontology/obographs) in [JSON](http://json.org/)
+ format. *The format is not yet stabilized to the results may change from file
+ to file.*
+- [Ontology Web Language 2](https://www.w3.org/TR/owl2-overview/)
+ in [RDF/XML format](https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/).
+ *OWL2 ontologies are reverse translated to OBO using the mapping defined in the
+ [OBO 1.4 Semantics](http://owlcollab.github.io/oboformat/doc/obo-syntax.html).*
+
+## πŸ”§ Installing
+
+
+Installing with `pip` is the easiest:
+```console
+# pip install pronto # if you have the admin rights
+$ pip install pronto --user # install it in a user-site directory
+```
+
+There is also a `conda` recipe in the `bioconda` channel:
+```console
+$ conda install -c bioconda pronto
+```
+
+Finally, a development version can be installed from GitHub
+using `setuptools`, provided you have the right dependencies
+installed already:
+```console
+$ git clone https://github.com/althonos/pronto
+$ cd pronto
+# python setup.py install
+```
+
+## πŸ’‘ Examples
+
+If you're only reading ontologies, you'll only use the `Ontology`
+class, which is the main entry point.
+
+```python
+>>> from pronto import Ontology
+```
+
+It can be instantiated from a path to an ontology in one of the supported
+formats, even if the file is compressed:
+```python
+>>> go = Ontology("tests/data/go.obo.gz")
+```
+
+Loading a file from a persistent URL is also supported, although you may also
+want to use the `Ontology.from_obo_library` method if you're using persistent
+URLs a lot:
+```python
+>>> cl = Ontology("http://purl.obolibrary.org/obo/cl.obo")
+>>> stato = Ontology.from_obo_library("stato.owl")
+```
+
+### 🏷️ Get a term by accession
+
+`Ontology` objects can be used as mappings to access any entity
+they contain from their identifier in compact form:
+```python
+>>> cl['CL:0002116']
+Term('CL:0002116', name='B220-low CD38-positive unswitched memory B cell')
+```
+
+Note that when loading an OWL ontology, URIs will be compacted to CURIEs
+whenever possible:
+
+```python
+>>> aeo = Ontology.from_obo_library("aeo.owl")
+>>> aeo["AEO:0000078"]
+Term('AEO:0000078', name='lumen of tube')
+```
+
+### πŸ–ŠοΈ Create a new term from scratch
+
+We can load an ontology, and edit it locally. Here, we add a new protein class
+to the Protein Ontology.
+```python
+>>> pr = Ontology.from_obo_library("pr.obo")
+>>> brh = ms.create_term("PR:XXXXXXXX")
+>>> brh.name = "Bacteriorhodopsin"
+>>> brh.superclasses().add(pr["PR:000001094"]) # is a rhodopsin-like G-protein
+>>> brh.disjoint_from.add(pr["PR:000036194"]) # disjoint from eukaryotic proteins
+```
+
+### ✏️ Convert an OWL ontology to OBO format
+
+The `Ontology.dump` method can be used to serialize an ontology to any of the
+supported formats (currently OBO and OBO JSON):
+```python
+>>> edam = Ontology("http://edamontology.org/EDAM.owl")
+>>> with open("edam.obo", "wb") as f:
+... edam.dump(f, format="obo")
+```
+
+### 🌿 Find ontology terms without subclasses
+
+The `terms` method of `Ontology` instances can be used to
+iterate over all the terms in the ontology (including the
+ones that are imported). We can then use the `is_leaf`
+method of `Term` objects to check is the term is a leaf in the
+class inclusion graph.
+
+```python
+>>> ms = Ontology("ms.obo")
+>>> for term in ms.terms():
+... if term.is_leaf():
+... print(term.id)
+MS:0000000
+MS:1000001
+...
+```
+
+### 🀫 Silence warnings
+
+`pronto` is explicit about the parts of the code that are doing
+non-standard assumptions, or missing capabilities to handle certain
+constructs. It does so by raising warnings with the `warnings` module,
+which can get quite verbose.
+
+If you are fine with the inconsistencies, you can manually disable
+warning reports in your consumer code with the `filterwarnings` function:
+
+```python
+import warnings
+import pronto
+warnings.filterwarnings("ignore", category=pronto.warnings.ProntoWarning)
+```
+
+<!-- ### 🀝 Merging several ontologies -->
+
+## πŸ“– API Reference
+
+A complete API reference can be found in the
+[online documentation](https://pronto.readthedocs.io/en/latest/api.html), or
+directly from the command line using `pydoc`:
+```console
+$ pydoc pronto.Ontology
+```
+
+## πŸ“œ License
+
+This library is provided under the open-source
+[MIT license](https://choosealicense.com/licenses/mit/).
+Please cite this library if you are using it in a scientific
+context using the following DOI:
+[**10.5281/zenodo.595572**](https://doi.org/10.5281/zenodo.595572)
+
+
+%package -n python3-pronto
+Summary: Python frontend to ontologies.
+Provides: python-pronto
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pronto
+# `pronto` [![Stars](https://img.shields.io/github/stars/althonos/pronto.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pronto/stargazers)
+
+*A Python frontend to ontologies.*
+
+[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pronto/test.yml?branch=master&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pronto/actions)
+[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/mit/)
+[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/)
+[![Docs](https://img.shields.io/readthedocs/pronto?style=flat-square&maxAge=3600)](http://pronto.readthedocs.io/en/stable/?badge=stable)
+[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pronto?style=flat-square&maxAge=3600)](https://codecov.io/gh/althonos/pronto/)
+[![Sanity](https://img.shields.io/codacy/grade/157b5fd24e5648ea80580f28399e79a4.svg?style=flat-square&maxAge=3600)](https://codacy.com/app/althonos/pronto)
+[![PyPI](https://img.shields.io/pypi/v/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.python.org/pypi/pronto)
+[![Bioconda](https://img.shields.io/conda/vn/bioconda/pronto?style=flat-square&maxAge=3600)](https://anaconda.org/bioconda/pronto)
+[![Versions](https://img.shields.io/pypi/pyversions/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Wheel](https://img.shields.io/pypi/wheel/pronto?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/blob/master/CHANGELOG.md)
+[![GitHub issues](https://img.shields.io/github/issues/althonos/pronto.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pronto/issues)
+[![DOI](https://img.shields.io/badge/doi-10.5281%2Fzenodo.595572-purple?style=flat-square&maxAge=2678400)](https://doi.org/10.5281/zenodo.595572)
+[![Downloads](https://img.shields.io/badge/dynamic/json?style=flat-square&color=303f9f&maxAge=86400&label=downloads&query=%24.total_downloads&url=https%3A%2F%2Fapi.pepy.tech%2Fapi%2Fprojects%2Fpronto)](https://pepy.tech/project/pronto)
+
+## 🚩 Table of Contents
+
+- [Overview](#%EF%B8%8F-overview)
+- [Supported Languages](#%EF%B8%8F-supported-languages)
+- [Installing](#-installing)
+- [Examples](#-examples)
+- [API Reference](#-api-reference)
+- [License](#-license)
+
+## πŸ—ΊοΈ Overview
+
+Pronto is a Python library to parse, browse, create, and export
+ontologies, supporting several ontology languages and formats. It
+implement the specifications of the
+[Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/obo-syntax.html)
+in the form of an safe high-level interface. *If you're only interested in
+parsing OBO or OBO Graphs document, you may wish to consider
+[`fastobo`](https://pypi.org/project/fastobo) instead.*
+
+
+## 🏳️ Supported Languages
+
+- [Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/GO.format.obo-1_4.html).
+ *Because this format is fairly new, not all OBO ontologies can be parsed at the
+ moment. See the [OBO Foundry roadmap](https://github.com/orgs/fastobo/projects/2)
+ listing the compliant ontologies, and don't hesitate to contact their developers
+ to push adoption forward.*
+- [OBO Graphs](https://github.com/geneontology/obographs) in [JSON](http://json.org/)
+ format. *The format is not yet stabilized to the results may change from file
+ to file.*
+- [Ontology Web Language 2](https://www.w3.org/TR/owl2-overview/)
+ in [RDF/XML format](https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/).
+ *OWL2 ontologies are reverse translated to OBO using the mapping defined in the
+ [OBO 1.4 Semantics](http://owlcollab.github.io/oboformat/doc/obo-syntax.html).*
+
+## πŸ”§ Installing
+
+
+Installing with `pip` is the easiest:
+```console
+# pip install pronto # if you have the admin rights
+$ pip install pronto --user # install it in a user-site directory
+```
+
+There is also a `conda` recipe in the `bioconda` channel:
+```console
+$ conda install -c bioconda pronto
+```
+
+Finally, a development version can be installed from GitHub
+using `setuptools`, provided you have the right dependencies
+installed already:
+```console
+$ git clone https://github.com/althonos/pronto
+$ cd pronto
+# python setup.py install
+```
+
+## πŸ’‘ Examples
+
+If you're only reading ontologies, you'll only use the `Ontology`
+class, which is the main entry point.
+
+```python
+>>> from pronto import Ontology
+```
+
+It can be instantiated from a path to an ontology in one of the supported
+formats, even if the file is compressed:
+```python
+>>> go = Ontology("tests/data/go.obo.gz")
+```
+
+Loading a file from a persistent URL is also supported, although you may also
+want to use the `Ontology.from_obo_library` method if you're using persistent
+URLs a lot:
+```python
+>>> cl = Ontology("http://purl.obolibrary.org/obo/cl.obo")
+>>> stato = Ontology.from_obo_library("stato.owl")
+```
+
+### 🏷️ Get a term by accession
+
+`Ontology` objects can be used as mappings to access any entity
+they contain from their identifier in compact form:
+```python
+>>> cl['CL:0002116']
+Term('CL:0002116', name='B220-low CD38-positive unswitched memory B cell')
+```
+
+Note that when loading an OWL ontology, URIs will be compacted to CURIEs
+whenever possible:
+
+```python
+>>> aeo = Ontology.from_obo_library("aeo.owl")
+>>> aeo["AEO:0000078"]
+Term('AEO:0000078', name='lumen of tube')
+```
+
+### πŸ–ŠοΈ Create a new term from scratch
+
+We can load an ontology, and edit it locally. Here, we add a new protein class
+to the Protein Ontology.
+```python
+>>> pr = Ontology.from_obo_library("pr.obo")
+>>> brh = ms.create_term("PR:XXXXXXXX")
+>>> brh.name = "Bacteriorhodopsin"
+>>> brh.superclasses().add(pr["PR:000001094"]) # is a rhodopsin-like G-protein
+>>> brh.disjoint_from.add(pr["PR:000036194"]) # disjoint from eukaryotic proteins
+```
+
+### ✏️ Convert an OWL ontology to OBO format
+
+The `Ontology.dump` method can be used to serialize an ontology to any of the
+supported formats (currently OBO and OBO JSON):
+```python
+>>> edam = Ontology("http://edamontology.org/EDAM.owl")
+>>> with open("edam.obo", "wb") as f:
+... edam.dump(f, format="obo")
+```
+
+### 🌿 Find ontology terms without subclasses
+
+The `terms` method of `Ontology` instances can be used to
+iterate over all the terms in the ontology (including the
+ones that are imported). We can then use the `is_leaf`
+method of `Term` objects to check is the term is a leaf in the
+class inclusion graph.
+
+```python
+>>> ms = Ontology("ms.obo")
+>>> for term in ms.terms():
+... if term.is_leaf():
+... print(term.id)
+MS:0000000
+MS:1000001
+...
+```
+
+### 🀫 Silence warnings
+
+`pronto` is explicit about the parts of the code that are doing
+non-standard assumptions, or missing capabilities to handle certain
+constructs. It does so by raising warnings with the `warnings` module,
+which can get quite verbose.
+
+If you are fine with the inconsistencies, you can manually disable
+warning reports in your consumer code with the `filterwarnings` function:
+
+```python
+import warnings
+import pronto
+warnings.filterwarnings("ignore", category=pronto.warnings.ProntoWarning)
+```
+
+<!-- ### 🀝 Merging several ontologies -->
+
+## πŸ“– API Reference
+
+A complete API reference can be found in the
+[online documentation](https://pronto.readthedocs.io/en/latest/api.html), or
+directly from the command line using `pydoc`:
+```console
+$ pydoc pronto.Ontology
+```
+
+## πŸ“œ License
+
+This library is provided under the open-source
+[MIT license](https://choosealicense.com/licenses/mit/).
+Please cite this library if you are using it in a scientific
+context using the following DOI:
+[**10.5281/zenodo.595572**](https://doi.org/10.5281/zenodo.595572)
+
+
+%package help
+Summary: Development documents and examples for pronto
+Provides: python3-pronto-doc
+%description help
+# `pronto` [![Stars](https://img.shields.io/github/stars/althonos/pronto.svg?style=social&maxAge=3600&label=Star)](https://github.com/althonos/pronto/stargazers)
+
+*A Python frontend to ontologies.*
+
+[![Actions](https://img.shields.io/github/actions/workflow/status/althonos/pronto/test.yml?branch=master&logo=github&style=flat-square&maxAge=300)](https://github.com/althonos/pronto/actions)
+[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square&maxAge=2678400)](https://choosealicense.com/licenses/mit/)
+[![Source](https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/)
+[![Docs](https://img.shields.io/readthedocs/pronto?style=flat-square&maxAge=3600)](http://pronto.readthedocs.io/en/stable/?badge=stable)
+[![Coverage](https://img.shields.io/codecov/c/gh/althonos/pronto?style=flat-square&maxAge=3600)](https://codecov.io/gh/althonos/pronto/)
+[![Sanity](https://img.shields.io/codacy/grade/157b5fd24e5648ea80580f28399e79a4.svg?style=flat-square&maxAge=3600)](https://codacy.com/app/althonos/pronto)
+[![PyPI](https://img.shields.io/pypi/v/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.python.org/pypi/pronto)
+[![Bioconda](https://img.shields.io/conda/vn/bioconda/pronto?style=flat-square&maxAge=3600)](https://anaconda.org/bioconda/pronto)
+[![Versions](https://img.shields.io/pypi/pyversions/pronto.svg?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Wheel](https://img.shields.io/pypi/wheel/pronto?style=flat-square&maxAge=3600)](https://pypi.org/project/pronto/#files)
+[![Changelog](https://img.shields.io/badge/keep%20a-changelog-8A0707.svg?maxAge=2678400&style=flat-square)](https://github.com/althonos/pronto/blob/master/CHANGELOG.md)
+[![GitHub issues](https://img.shields.io/github/issues/althonos/pronto.svg?style=flat-square&maxAge=600)](https://github.com/althonos/pronto/issues)
+[![DOI](https://img.shields.io/badge/doi-10.5281%2Fzenodo.595572-purple?style=flat-square&maxAge=2678400)](https://doi.org/10.5281/zenodo.595572)
+[![Downloads](https://img.shields.io/badge/dynamic/json?style=flat-square&color=303f9f&maxAge=86400&label=downloads&query=%24.total_downloads&url=https%3A%2F%2Fapi.pepy.tech%2Fapi%2Fprojects%2Fpronto)](https://pepy.tech/project/pronto)
+
+## 🚩 Table of Contents
+
+- [Overview](#%EF%B8%8F-overview)
+- [Supported Languages](#%EF%B8%8F-supported-languages)
+- [Installing](#-installing)
+- [Examples](#-examples)
+- [API Reference](#-api-reference)
+- [License](#-license)
+
+## πŸ—ΊοΈ Overview
+
+Pronto is a Python library to parse, browse, create, and export
+ontologies, supporting several ontology languages and formats. It
+implement the specifications of the
+[Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/obo-syntax.html)
+in the form of an safe high-level interface. *If you're only interested in
+parsing OBO or OBO Graphs document, you may wish to consider
+[`fastobo`](https://pypi.org/project/fastobo) instead.*
+
+
+## 🏳️ Supported Languages
+
+- [Open Biomedical Ontologies 1.4](http://owlcollab.github.io/oboformat/doc/GO.format.obo-1_4.html).
+ *Because this format is fairly new, not all OBO ontologies can be parsed at the
+ moment. See the [OBO Foundry roadmap](https://github.com/orgs/fastobo/projects/2)
+ listing the compliant ontologies, and don't hesitate to contact their developers
+ to push adoption forward.*
+- [OBO Graphs](https://github.com/geneontology/obographs) in [JSON](http://json.org/)
+ format. *The format is not yet stabilized to the results may change from file
+ to file.*
+- [Ontology Web Language 2](https://www.w3.org/TR/owl2-overview/)
+ in [RDF/XML format](https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/).
+ *OWL2 ontologies are reverse translated to OBO using the mapping defined in the
+ [OBO 1.4 Semantics](http://owlcollab.github.io/oboformat/doc/obo-syntax.html).*
+
+## πŸ”§ Installing
+
+
+Installing with `pip` is the easiest:
+```console
+# pip install pronto # if you have the admin rights
+$ pip install pronto --user # install it in a user-site directory
+```
+
+There is also a `conda` recipe in the `bioconda` channel:
+```console
+$ conda install -c bioconda pronto
+```
+
+Finally, a development version can be installed from GitHub
+using `setuptools`, provided you have the right dependencies
+installed already:
+```console
+$ git clone https://github.com/althonos/pronto
+$ cd pronto
+# python setup.py install
+```
+
+## πŸ’‘ Examples
+
+If you're only reading ontologies, you'll only use the `Ontology`
+class, which is the main entry point.
+
+```python
+>>> from pronto import Ontology
+```
+
+It can be instantiated from a path to an ontology in one of the supported
+formats, even if the file is compressed:
+```python
+>>> go = Ontology("tests/data/go.obo.gz")
+```
+
+Loading a file from a persistent URL is also supported, although you may also
+want to use the `Ontology.from_obo_library` method if you're using persistent
+URLs a lot:
+```python
+>>> cl = Ontology("http://purl.obolibrary.org/obo/cl.obo")
+>>> stato = Ontology.from_obo_library("stato.owl")
+```
+
+### 🏷️ Get a term by accession
+
+`Ontology` objects can be used as mappings to access any entity
+they contain from their identifier in compact form:
+```python
+>>> cl['CL:0002116']
+Term('CL:0002116', name='B220-low CD38-positive unswitched memory B cell')
+```
+
+Note that when loading an OWL ontology, URIs will be compacted to CURIEs
+whenever possible:
+
+```python
+>>> aeo = Ontology.from_obo_library("aeo.owl")
+>>> aeo["AEO:0000078"]
+Term('AEO:0000078', name='lumen of tube')
+```
+
+### πŸ–ŠοΈ Create a new term from scratch
+
+We can load an ontology, and edit it locally. Here, we add a new protein class
+to the Protein Ontology.
+```python
+>>> pr = Ontology.from_obo_library("pr.obo")
+>>> brh = ms.create_term("PR:XXXXXXXX")
+>>> brh.name = "Bacteriorhodopsin"
+>>> brh.superclasses().add(pr["PR:000001094"]) # is a rhodopsin-like G-protein
+>>> brh.disjoint_from.add(pr["PR:000036194"]) # disjoint from eukaryotic proteins
+```
+
+### ✏️ Convert an OWL ontology to OBO format
+
+The `Ontology.dump` method can be used to serialize an ontology to any of the
+supported formats (currently OBO and OBO JSON):
+```python
+>>> edam = Ontology("http://edamontology.org/EDAM.owl")
+>>> with open("edam.obo", "wb") as f:
+... edam.dump(f, format="obo")
+```
+
+### 🌿 Find ontology terms without subclasses
+
+The `terms` method of `Ontology` instances can be used to
+iterate over all the terms in the ontology (including the
+ones that are imported). We can then use the `is_leaf`
+method of `Term` objects to check is the term is a leaf in the
+class inclusion graph.
+
+```python
+>>> ms = Ontology("ms.obo")
+>>> for term in ms.terms():
+... if term.is_leaf():
+... print(term.id)
+MS:0000000
+MS:1000001
+...
+```
+
+### 🀫 Silence warnings
+
+`pronto` is explicit about the parts of the code that are doing
+non-standard assumptions, or missing capabilities to handle certain
+constructs. It does so by raising warnings with the `warnings` module,
+which can get quite verbose.
+
+If you are fine with the inconsistencies, you can manually disable
+warning reports in your consumer code with the `filterwarnings` function:
+
+```python
+import warnings
+import pronto
+warnings.filterwarnings("ignore", category=pronto.warnings.ProntoWarning)
+```
+
+<!-- ### 🀝 Merging several ontologies -->
+
+## πŸ“– API Reference
+
+A complete API reference can be found in the
+[online documentation](https://pronto.readthedocs.io/en/latest/api.html), or
+directly from the command line using `pydoc`:
+```console
+$ pydoc pronto.Ontology
+```
+
+## πŸ“œ License
+
+This library is provided under the open-source
+[MIT license](https://choosealicense.com/licenses/mit/).
+Please cite this library if you are using it in a scientific
+context using the following DOI:
+[**10.5281/zenodo.595572**](https://doi.org/10.5281/zenodo.595572)
+
+
+%prep
+%autosetup -n pronto-2.5.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pronto -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.5.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..91f441c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+7ad8b9169c2ab464b4551397f9aceeb0 pronto-2.5.4.tar.gz