Skip to content

Commit 246dc2d

Browse files
deeenesclaude
andcommitted
Update README, About page, and add Codecov to CI
Replace template placeholder README with real content: badges (tests, codecov, docs, pypi, license), features, installation, quick start examples, data licensing note, and NAR 2026 citation. CI workflow now generates coverage XML and uploads to Codecov. Drops Python 3.9 from the test matrix (requires-python >= 3.10). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent dd1d3eb commit 246dc2d

3 files changed

Lines changed: 87 additions & 50 deletions

File tree

.github/workflows/ci-testing-unit.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
strategy:
99
matrix:
10-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
10+
python-version: ['3.10', '3.11', '3.12', '3.13']
1111
steps:
1212
- uses: actions/checkout@v4
1313
- uses: ./.github/actions/setup
@@ -16,9 +16,10 @@ jobs:
1616
- name: Run tests with coverage
1717
run: |
1818
source .venv/bin/activate
19-
pytest --cov=omnipath_client tests/
20-
- name: Upload coverage report
21-
uses: actions/upload-artifact@v4
19+
pytest --cov=omnipath_client --cov-report=xml tests/
20+
- name: Upload coverage to Codecov
21+
if: matrix.python-version == '3.12'
22+
uses: codecov/codecov-action@v5
2223
with:
23-
name: coverage-report-${{ matrix.python-version }}
24-
path: .coverage*
24+
files: coverage.xml
25+
fail_ci_if_error: false

README.md

Lines changed: 66 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,89 @@
1-
![project-banner](./docs/assets/project-banner-readme.png)
2-
31
# omnipath-client
42

5-
- [ ] TODO: Add badges to your project.
6-
7-
[![Tests](https://img.shields.io/github/actions/workflow/status/saezlab/omnipath-client/test.yml?branch=master)](https://github.com/saezlab/omnipath-client/actions/workflows/test.yml)
3+
[![Tests](https://img.shields.io/github/actions/workflow/status/saezlab/omnipath-client/ci-testing-unit.yml?branch=master&label=tests)](https://github.com/saezlab/omnipath-client/actions/workflows/ci-testing-unit.yml)
4+
[![Codecov](https://img.shields.io/codecov/c/github/saezlab/omnipath-client)](https://codecov.io/gh/saezlab/omnipath-client)
85
[![Docs](https://img.shields.io/badge/docs-MkDocs-blue)](https://saezlab.github.io/omnipath-client/)
9-
![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)
10-
![PyPI](https://img.shields.io/pypi/v/omnipath-client)
11-
![Python](https://img.shields.io/pypi/pyversions/omnipath-client)
12-
![License](https://img.shields.io/github/license/saezlab/omnipath-client)
13-
![Issues](https://img.shields.io/github/issues/saezlab/omnipath-client)
14-
![Last Commit](https://img.shields.io/github/last-commit/saezlab/omnipath-client)
15-
16-
## Description
17-
18-
The new implementation for the OmniPath Python client
6+
[![PyPI](https://img.shields.io/pypi/v/omnipath-client)](https://pypi.org/project/omnipath-client/)
7+
[![Python](https://img.shields.io/pypi/pyversions/omnipath-client)](https://pypi.org/project/omnipath-client/)
8+
[![License](https://img.shields.io/github/license/saezlab/omnipath-client)](https://github.com/saezlab/omnipath-client/blob/master/LICENSE)
9+
10+
Python client for the [OmniPath](https://omnipathdb.org/) molecular biology
11+
prior-knowledge web API.
12+
13+
## Features
14+
15+
- Export **entities**, **interactions**, and **associations** (complexes,
16+
pathways, reactions) as DataFrames
17+
- **Ontology** term lookup, search, and hierarchy trees
18+
- Multi-backend output: [polars](https://pola.rs/) (default),
19+
[pandas](https://pandas.pydata.org/), or
20+
[pyarrow](https://arrow.apache.org/docs/python/)
21+
- Optional graph conversion to [annnet](https://github.com/saezlab/annnet)
22+
objects
23+
- Query validation against the API schema
24+
- Caching via [download-manager](https://github.com/saezlab/download-manager)
1925

2026
## Installation
2127

22-
- [ ] TODO: Add installation instructions for your project, if applicable.
23-
2428
```bash
25-
# Example
26-
pip install <name-of-my-project>
29+
pip install omnipath-client
2730
```
2831

29-
## Usage
32+
With polars (recommended default backend):
33+
34+
```bash
35+
pip install omnipath-client polars
36+
```
3037

31-
- [ ] TODO: Add usage instructions for your project.
38+
## Quick start
3239

3340
```python
34-
import foobar
41+
import omnipath_client as op
3542

36-
# returns 'words'
37-
foobar.pluralize("word")
43+
# All interactions as a polars DataFrame
44+
df = op.interactions()
3845

39-
# returns 'geese'
40-
foobar.pluralize("goose")
46+
# Directed interactions only
47+
df = op.interactions(direction='directed')
4148

42-
# returns 'phenomenon'
43-
foobar.singularize("phenomena")
49+
# Human entities
50+
df = op.entities(taxonomy_ids=['9606'])
51+
52+
# Interactions as an annnet graph
53+
g = op.interactions(as_graph=True)
54+
55+
# Ontology term lookup
56+
result = op.ontology_terms(['GO:0006915', 'MI:0326'])
57+
58+
# Choose a different backend
59+
df = op.entities(backend='pandas')
4460
```
4561

46-
## Contributing
62+
For more examples, see the [quickstart guide](https://saezlab.github.io/omnipath-client/quickstart/).
4763

48-
Pull requests are welcome. For major changes, please open an issue first
49-
to discuss what you would like to change.
64+
## Documentation
5065

51-
Please make sure to update tests as appropriate.
66+
Full documentation: [saezlab.github.io/omnipath-client](https://saezlab.github.io/omnipath-client/)
5267

53-
- [ ] TODO: add contribution guidelines. All of them can be modified in the mkdocs documentation (./docs/community)
68+
## Data licensing
5469

55-
## License
70+
The data served by OmniPath is combined from many original resources, each
71+
with their own license terms. The OmniPath client software is BSD-3-Clause,
72+
but the **data** is subject to the licenses of the original sources. Some
73+
resources restrict commercial use. Tools and documentation for managing
74+
license-based access control will be provided in a future release.
5675

57-
[MIT](https://choosealicense.com/licenses/mit/)
76+
## Citation
77+
78+
If you use OmniPath in your research, please cite:
79+
80+
> Türei D, Schaul J, Palacio-Escat N, *et al.* (2026)
81+
> OmniPath: integrated knowledgebase for multi-omics analysis.
82+
> *Nucleic Acids Research* 54(D1):D652-D660.
83+
> [doi:10.1093/nar/gkaf1126](https://doi.org/10.1093/nar/gkaf1126)
84+
85+
## License
5886

59-
- [ ] TODO: Modify this based on the license you choose.
60-
- [ ] TODO: Modify the LICENSE file based on the license you choose.
87+
The client software is licensed under
88+
[BSD-3-Clause](https://github.com/saezlab/omnipath-client/blob/master/LICENSE).
89+
See [Data licensing](#data-licensing) above for information about the data.

docs/about.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,25 @@ omnipath-client is developed by the
1010
- **API**: [dev.omnipathdb.org](https://dev.omnipathdb.org/)
1111
- **Issues**: [github.com/saezlab/omnipath-client/issues](https://github.com/saezlab/omnipath-client/issues)
1212

13+
## Data licensing
14+
15+
The data served by OmniPath is combined from many original resources, each
16+
with their own license terms. The OmniPath client software is BSD-3-Clause,
17+
but the **data** is subject to the licenses of the original sources. Some
18+
resources restrict commercial use. Tools and documentation for managing
19+
license-based access control will be provided in a future release.
20+
1321
## License
1422

15-
BSD-3-Clause. See the
23+
The client software is licensed under BSD-3-Clause. See the
1624
[LICENSE](https://github.com/saezlab/omnipath-client/blob/master/LICENSE)
1725
file for details.
1826

1927
## Citation
2028

21-
If you use OmniPath data in your research, please cite:
29+
If you use OmniPath in your research, please cite:
2230

23-
> Turei D, Valdeolivas A, Gul L, Palacio-Escat N, Klein M, Ivanova O,
24-
> Olbei M, Gabor A, Theis F, Korcsmaros T, Saez-Rodriguez J. (2021)
25-
> Integrated intra- and intercellular signaling knowledge for multicellular
26-
> omics analysis. *Molecular Systems Biology* 17:e9923.
27-
> [doi:10.15252/msb.20209923](https://doi.org/10.15252/msb.20209923)
31+
> Türei D, Schaul J, Palacio-Escat N, *et al.* (2026)
32+
> OmniPath: integrated knowledgebase for multi-omics analysis.
33+
> *Nucleic Acids Research* 54(D1):D652-D660.
34+
> [doi:10.1093/nar/gkaf1126](https://doi.org/10.1093/nar/gkaf1126)

0 commit comments

Comments
 (0)