orthodb 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
orthodb-0.1.3/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Gustavo Madeira Santana
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
orthodb-0.1.3/PKG-INFO ADDED
@@ -0,0 +1,186 @@
1
+ Metadata-Version: 2.4
2
+ Name: orthodb
3
+ Version: 0.1.3
4
+ Summary: Agent-friendly CLI for cached OrthoDB downloads and live API queries.
5
+ Author: Gustavo Madeira Santana
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/gumadeiras/orthodb-cli
8
+ Project-URL: Repository, https://github.com/gumadeiras/orthodb-cli
9
+ Project-URL: Issues, https://github.com/gumadeiras/orthodb-cli/issues
10
+ Keywords: orthodb,orthologs,bioinformatics,cli
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Provides-Extra: release
21
+ Requires-Dist: build>=1.2.2; extra == "release"
22
+ Requires-Dist: twine>=6.1.0; extra == "release"
23
+ Dynamic: license-file
24
+
25
+ # orthodb
26
+
27
+ Agent-friendly CLI for OrthoDB v12.
28
+
29
+ Repo:
30
+
31
+ ```text
32
+ https://github.com/gumadeiras/orthodb-cli
33
+ ```
34
+
35
+ Goals:
36
+
37
+ - cache official OrthoDB flat files locally with checksums
38
+ - answer common lookups from cached data when available
39
+ - fall back to the live OrthoDB URL API when local data is missing or too large
40
+ - emit machine-readable JSON by default for API responses and cache metadata
41
+ - stay easy to package for Homebrew
42
+
43
+ ## Install
44
+
45
+ Homebrew:
46
+
47
+ ```bash
48
+ brew tap gumadeiras/tap
49
+ brew install orthodb
50
+ ```
51
+
52
+ PyPI with `pipx`:
53
+
54
+ ```bash
55
+ pipx install orthodb
56
+ ```
57
+
58
+ PyPI with plain `pip`:
59
+
60
+ ```bash
61
+ python3 -m pip install orthodb
62
+ ```
63
+
64
+ From source:
65
+
66
+ ```bash
67
+ python3 -m venv .venv
68
+ . .venv/bin/activate
69
+ python -m pip install -e .
70
+ ```
71
+
72
+ ## Examples
73
+
74
+ ```bash
75
+ orthodb version
76
+ orthodb search p450 --level 33208 --singlecopy 0.8 --take 2
77
+ orthodb group 4977at9604
78
+ orthodb orthologs 4977at9604 --species 9606_0,10090_0
79
+ orthodb fasta 4977at9604 --species 9606_0 --output group.fa
80
+ orthodb cache manifest
81
+ orthodb cache download species
82
+ orthodb cache plan orthologs
83
+ orthodb cache index species
84
+ orthodb cache sync minimal --index
85
+ orthodb resolve 4977at9604
86
+ orthodb local species "Homo sapiens"
87
+ orthodb local og "olfactory"
88
+ orthodb export ogs --query "olfactory receptor" --limit 10
89
+ ```
90
+
91
+ `/blast`, `/fasta`, and `/tab` calls are rate-limited to one request per
92
+ second, matching OrthoDB's published API guidance.
93
+
94
+ ## Cache
95
+
96
+ Default cache root:
97
+
98
+ ```text
99
+ $XDG_CACHE_HOME/orthodb-cli
100
+ ```
101
+
102
+ or:
103
+
104
+ ```text
105
+ ~/.cache/orthodb-cli
106
+ ```
107
+
108
+ Override with:
109
+
110
+ ```bash
111
+ orthodb --cache-dir /path/to/cache cache status
112
+ ```
113
+
114
+ The flat-file manifest is read from:
115
+
116
+ ```text
117
+ https://data.orthodb.org/current/download/odb_data_dump
118
+ ```
119
+
120
+ Large data files are intentionally not auto-downloaded. Use
121
+ `orthodb cache manifest` first, then download a named dataset.
122
+
123
+ Curated sync profiles:
124
+
125
+ - `minimal`: species, levels, level-to-species
126
+ - `annotations`: minimal metadata plus OG annotations
127
+ - `orthologs`: OG tables, skipping multi-GB files unless `--include-large`
128
+
129
+ Build a local SQLite index from downloaded files:
130
+
131
+ ```bash
132
+ orthodb cache index all
133
+ orthodb cache db
134
+ ```
135
+
136
+ Indexed local queries:
137
+
138
+ ```bash
139
+ orthodb local species "Homo sapiens"
140
+ orthodb local og "Cytochrome P450"
141
+ orthodb local gene P12345
142
+ orthodb local orthologs 4977at9604
143
+ orthodb export species --query "Homo sapiens" --limit 2
144
+ ```
145
+
146
+ `export` emits newline-delimited JSON from the local SQLite index, capped by
147
+ `--limit`.
148
+
149
+ Resolve IDs before choosing a query path:
150
+
151
+ ```bash
152
+ orthodb resolve 4977at9604
153
+ orthodb resolve 9606_0:0017fc
154
+ orthodb resolve P12345
155
+ ```
156
+
157
+ ## Release
158
+
159
+ Current release: `v0.1.1`.
160
+
161
+ Tag pushes like `vX.Y.Z` run the release workflow: build artifacts, create a
162
+ GitHub release, publish to PyPI, and update `gumadeiras/homebrew-tap`.
163
+
164
+ Release prerequisites:
165
+
166
+ - PyPI trusted publishing configured for this repo.
167
+ - `HOMEBREW_TAP_TOKEN` repository secret can write to
168
+ `gumadeiras/homebrew-tap`.
169
+
170
+ Release artifacts are attached to GitHub releases for Homebrew packaging:
171
+
172
+ ```text
173
+ https://github.com/gumadeiras/orthodb-cli/releases
174
+ ```
175
+
176
+ ## Source Notes
177
+
178
+ Primary references:
179
+
180
+ - OrthoDB v12 user guide and URL API: <https://www.ezlab.org/orthodb_v12_userguide.html#api>
181
+ - OrthoDB current flat files: <https://data.orthodb.org/current/download/odb_data_dump>
182
+ - OrthoDB-py: <https://gitlab.com/ezlab/orthodb_py>
183
+
184
+ The official Python package is useful reference material, but this CLI uses
185
+ direct HTTP calls and local flat files for a smaller runtime surface and simpler
186
+ Homebrew packaging.
@@ -0,0 +1,162 @@
1
+ # orthodb
2
+
3
+ Agent-friendly CLI for OrthoDB v12.
4
+
5
+ Repo:
6
+
7
+ ```text
8
+ https://github.com/gumadeiras/orthodb-cli
9
+ ```
10
+
11
+ Goals:
12
+
13
+ - cache official OrthoDB flat files locally with checksums
14
+ - answer common lookups from cached data when available
15
+ - fall back to the live OrthoDB URL API when local data is missing or too large
16
+ - emit machine-readable JSON by default for API responses and cache metadata
17
+ - stay easy to package for Homebrew
18
+
19
+ ## Install
20
+
21
+ Homebrew:
22
+
23
+ ```bash
24
+ brew tap gumadeiras/tap
25
+ brew install orthodb
26
+ ```
27
+
28
+ PyPI with `pipx`:
29
+
30
+ ```bash
31
+ pipx install orthodb
32
+ ```
33
+
34
+ PyPI with plain `pip`:
35
+
36
+ ```bash
37
+ python3 -m pip install orthodb
38
+ ```
39
+
40
+ From source:
41
+
42
+ ```bash
43
+ python3 -m venv .venv
44
+ . .venv/bin/activate
45
+ python -m pip install -e .
46
+ ```
47
+
48
+ ## Examples
49
+
50
+ ```bash
51
+ orthodb version
52
+ orthodb search p450 --level 33208 --singlecopy 0.8 --take 2
53
+ orthodb group 4977at9604
54
+ orthodb orthologs 4977at9604 --species 9606_0,10090_0
55
+ orthodb fasta 4977at9604 --species 9606_0 --output group.fa
56
+ orthodb cache manifest
57
+ orthodb cache download species
58
+ orthodb cache plan orthologs
59
+ orthodb cache index species
60
+ orthodb cache sync minimal --index
61
+ orthodb resolve 4977at9604
62
+ orthodb local species "Homo sapiens"
63
+ orthodb local og "olfactory"
64
+ orthodb export ogs --query "olfactory receptor" --limit 10
65
+ ```
66
+
67
+ `/blast`, `/fasta`, and `/tab` calls are rate-limited to one request per
68
+ second, matching OrthoDB's published API guidance.
69
+
70
+ ## Cache
71
+
72
+ Default cache root:
73
+
74
+ ```text
75
+ $XDG_CACHE_HOME/orthodb-cli
76
+ ```
77
+
78
+ or:
79
+
80
+ ```text
81
+ ~/.cache/orthodb-cli
82
+ ```
83
+
84
+ Override with:
85
+
86
+ ```bash
87
+ orthodb --cache-dir /path/to/cache cache status
88
+ ```
89
+
90
+ The flat-file manifest is read from:
91
+
92
+ ```text
93
+ https://data.orthodb.org/current/download/odb_data_dump
94
+ ```
95
+
96
+ Large data files are intentionally not auto-downloaded. Use
97
+ `orthodb cache manifest` first, then download a named dataset.
98
+
99
+ Curated sync profiles:
100
+
101
+ - `minimal`: species, levels, level-to-species
102
+ - `annotations`: minimal metadata plus OG annotations
103
+ - `orthologs`: OG tables, skipping multi-GB files unless `--include-large`
104
+
105
+ Build a local SQLite index from downloaded files:
106
+
107
+ ```bash
108
+ orthodb cache index all
109
+ orthodb cache db
110
+ ```
111
+
112
+ Indexed local queries:
113
+
114
+ ```bash
115
+ orthodb local species "Homo sapiens"
116
+ orthodb local og "Cytochrome P450"
117
+ orthodb local gene P12345
118
+ orthodb local orthologs 4977at9604
119
+ orthodb export species --query "Homo sapiens" --limit 2
120
+ ```
121
+
122
+ `export` emits newline-delimited JSON from the local SQLite index, capped by
123
+ `--limit`.
124
+
125
+ Resolve IDs before choosing a query path:
126
+
127
+ ```bash
128
+ orthodb resolve 4977at9604
129
+ orthodb resolve 9606_0:0017fc
130
+ orthodb resolve P12345
131
+ ```
132
+
133
+ ## Release
134
+
135
+ Current release: `v0.1.1`.
136
+
137
+ Tag pushes like `vX.Y.Z` run the release workflow: build artifacts, create a
138
+ GitHub release, publish to PyPI, and update `gumadeiras/homebrew-tap`.
139
+
140
+ Release prerequisites:
141
+
142
+ - PyPI trusted publishing configured for this repo.
143
+ - `HOMEBREW_TAP_TOKEN` repository secret can write to
144
+ `gumadeiras/homebrew-tap`.
145
+
146
+ Release artifacts are attached to GitHub releases for Homebrew packaging:
147
+
148
+ ```text
149
+ https://github.com/gumadeiras/orthodb-cli/releases
150
+ ```
151
+
152
+ ## Source Notes
153
+
154
+ Primary references:
155
+
156
+ - OrthoDB v12 user guide and URL API: <https://www.ezlab.org/orthodb_v12_userguide.html#api>
157
+ - OrthoDB current flat files: <https://data.orthodb.org/current/download/odb_data_dump>
158
+ - OrthoDB-py: <https://gitlab.com/ezlab/orthodb_py>
159
+
160
+ The official Python package is useful reference material, but this CLI uses
161
+ direct HTTP calls and local flat files for a smaller runtime surface and simpler
162
+ Homebrew packaging.
@@ -0,0 +1,45 @@
1
+ [build-system]
2
+ requires = ["setuptools>=69"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "orthodb"
7
+ dynamic = ["version"]
8
+ description = "Agent-friendly CLI for cached OrthoDB downloads and live API queries."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = "MIT"
12
+ authors = [{ name = "Gustavo Madeira Santana" }]
13
+ keywords = ["orthodb", "orthologs", "bioinformatics", "cli"]
14
+ dependencies = []
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Environment :: Console",
18
+ "Intended Audience :: Science/Research",
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Topic :: Scientific/Engineering :: Bio-Informatics",
22
+ ]
23
+
24
+ [project.optional-dependencies]
25
+ release = [
26
+ "build>=1.2.2",
27
+ "twine>=6.1.0",
28
+ ]
29
+
30
+ [project.urls]
31
+ Homepage = "https://github.com/gumadeiras/orthodb-cli"
32
+ Repository = "https://github.com/gumadeiras/orthodb-cli"
33
+ Issues = "https://github.com/gumadeiras/orthodb-cli/issues"
34
+
35
+ [project.scripts]
36
+ orthodb = "orthodb_cli.cli:main"
37
+
38
+ [tool.setuptools]
39
+ package-dir = {"" = "src"}
40
+
41
+ [tool.setuptools.dynamic]
42
+ version = {attr = "orthodb_cli.__version__"}
43
+
44
+ [tool.setuptools.packages.find]
45
+ where = ["src"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,186 @@
1
+ Metadata-Version: 2.4
2
+ Name: orthodb
3
+ Version: 0.1.3
4
+ Summary: Agent-friendly CLI for cached OrthoDB downloads and live API queries.
5
+ Author: Gustavo Madeira Santana
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/gumadeiras/orthodb-cli
8
+ Project-URL: Repository, https://github.com/gumadeiras/orthodb-cli
9
+ Project-URL: Issues, https://github.com/gumadeiras/orthodb-cli/issues
10
+ Keywords: orthodb,orthologs,bioinformatics,cli
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
17
+ Requires-Python: >=3.11
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Provides-Extra: release
21
+ Requires-Dist: build>=1.2.2; extra == "release"
22
+ Requires-Dist: twine>=6.1.0; extra == "release"
23
+ Dynamic: license-file
24
+
25
+ # orthodb
26
+
27
+ Agent-friendly CLI for OrthoDB v12.
28
+
29
+ Repo:
30
+
31
+ ```text
32
+ https://github.com/gumadeiras/orthodb-cli
33
+ ```
34
+
35
+ Goals:
36
+
37
+ - cache official OrthoDB flat files locally with checksums
38
+ - answer common lookups from cached data when available
39
+ - fall back to the live OrthoDB URL API when local data is missing or too large
40
+ - emit machine-readable JSON by default for API responses and cache metadata
41
+ - stay easy to package for Homebrew
42
+
43
+ ## Install
44
+
45
+ Homebrew:
46
+
47
+ ```bash
48
+ brew tap gumadeiras/tap
49
+ brew install orthodb
50
+ ```
51
+
52
+ PyPI with `pipx`:
53
+
54
+ ```bash
55
+ pipx install orthodb
56
+ ```
57
+
58
+ PyPI with plain `pip`:
59
+
60
+ ```bash
61
+ python3 -m pip install orthodb
62
+ ```
63
+
64
+ From source:
65
+
66
+ ```bash
67
+ python3 -m venv .venv
68
+ . .venv/bin/activate
69
+ python -m pip install -e .
70
+ ```
71
+
72
+ ## Examples
73
+
74
+ ```bash
75
+ orthodb version
76
+ orthodb search p450 --level 33208 --singlecopy 0.8 --take 2
77
+ orthodb group 4977at9604
78
+ orthodb orthologs 4977at9604 --species 9606_0,10090_0
79
+ orthodb fasta 4977at9604 --species 9606_0 --output group.fa
80
+ orthodb cache manifest
81
+ orthodb cache download species
82
+ orthodb cache plan orthologs
83
+ orthodb cache index species
84
+ orthodb cache sync minimal --index
85
+ orthodb resolve 4977at9604
86
+ orthodb local species "Homo sapiens"
87
+ orthodb local og "olfactory"
88
+ orthodb export ogs --query "olfactory receptor" --limit 10
89
+ ```
90
+
91
+ `/blast`, `/fasta`, and `/tab` calls are rate-limited to one request per
92
+ second, matching OrthoDB's published API guidance.
93
+
94
+ ## Cache
95
+
96
+ Default cache root:
97
+
98
+ ```text
99
+ $XDG_CACHE_HOME/orthodb-cli
100
+ ```
101
+
102
+ or:
103
+
104
+ ```text
105
+ ~/.cache/orthodb-cli
106
+ ```
107
+
108
+ Override with:
109
+
110
+ ```bash
111
+ orthodb --cache-dir /path/to/cache cache status
112
+ ```
113
+
114
+ The flat-file manifest is read from:
115
+
116
+ ```text
117
+ https://data.orthodb.org/current/download/odb_data_dump
118
+ ```
119
+
120
+ Large data files are intentionally not auto-downloaded. Use
121
+ `orthodb cache manifest` first, then download a named dataset.
122
+
123
+ Curated sync profiles:
124
+
125
+ - `minimal`: species, levels, level-to-species
126
+ - `annotations`: minimal metadata plus OG annotations
127
+ - `orthologs`: OG tables, skipping multi-GB files unless `--include-large`
128
+
129
+ Build a local SQLite index from downloaded files:
130
+
131
+ ```bash
132
+ orthodb cache index all
133
+ orthodb cache db
134
+ ```
135
+
136
+ Indexed local queries:
137
+
138
+ ```bash
139
+ orthodb local species "Homo sapiens"
140
+ orthodb local og "Cytochrome P450"
141
+ orthodb local gene P12345
142
+ orthodb local orthologs 4977at9604
143
+ orthodb export species --query "Homo sapiens" --limit 2
144
+ ```
145
+
146
+ `export` emits newline-delimited JSON from the local SQLite index, capped by
147
+ `--limit`.
148
+
149
+ Resolve IDs before choosing a query path:
150
+
151
+ ```bash
152
+ orthodb resolve 4977at9604
153
+ orthodb resolve 9606_0:0017fc
154
+ orthodb resolve P12345
155
+ ```
156
+
157
+ ## Release
158
+
159
+ Current release: `v0.1.1`.
160
+
161
+ Tag pushes like `vX.Y.Z` run the release workflow: build artifacts, create a
162
+ GitHub release, publish to PyPI, and update `gumadeiras/homebrew-tap`.
163
+
164
+ Release prerequisites:
165
+
166
+ - PyPI trusted publishing configured for this repo.
167
+ - `HOMEBREW_TAP_TOKEN` repository secret can write to
168
+ `gumadeiras/homebrew-tap`.
169
+
170
+ Release artifacts are attached to GitHub releases for Homebrew packaging:
171
+
172
+ ```text
173
+ https://github.com/gumadeiras/orthodb-cli/releases
174
+ ```
175
+
176
+ ## Source Notes
177
+
178
+ Primary references:
179
+
180
+ - OrthoDB v12 user guide and URL API: <https://www.ezlab.org/orthodb_v12_userguide.html#api>
181
+ - OrthoDB current flat files: <https://data.orthodb.org/current/download/odb_data_dump>
182
+ - OrthoDB-py: <https://gitlab.com/ezlab/orthodb_py>
183
+
184
+ The official Python package is useful reference material, but this CLI uses
185
+ direct HTTP calls and local flat files for a smaller runtime surface and simpler
186
+ Homebrew packaging.
@@ -0,0 +1,21 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/orthodb.egg-info/PKG-INFO
5
+ src/orthodb.egg-info/SOURCES.txt
6
+ src/orthodb.egg-info/dependency_links.txt
7
+ src/orthodb.egg-info/entry_points.txt
8
+ src/orthodb.egg-info/requires.txt
9
+ src/orthodb.egg-info/top_level.txt
10
+ src/orthodb_cli/__init__.py
11
+ src/orthodb_cli/cache.py
12
+ src/orthodb_cli/cli.py
13
+ src/orthodb_cli/client.py
14
+ src/orthodb_cli/db.py
15
+ src/orthodb_cli/errors.py
16
+ src/orthodb_cli/identify.py
17
+ src/orthodb_cli/local.py
18
+ tests/test_cache.py
19
+ tests/test_client.py
20
+ tests/test_db.py
21
+ tests/test_identify.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ orthodb = orthodb_cli.cli:main
@@ -0,0 +1,4 @@
1
+
2
+ [release]
3
+ build>=1.2.2
4
+ twine>=6.1.0
@@ -0,0 +1 @@
1
+ orthodb_cli
@@ -0,0 +1,3 @@
1
+ """Command-line tools for OrthoDB."""
2
+
3
+ __version__ = "0.1.3"