bijux-proteomics 0.3.8__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.
@@ -0,0 +1,62 @@
1
+ # Bijux shared
2
+ .DS_Store
3
+ .idea/
4
+ .vscode/
5
+ .tox/
6
+ .tox
7
+ .venv/
8
+ .venv
9
+ .venv-esm/
10
+ .coverage
11
+ .coverage.*
12
+ **/.coverage
13
+ **/.coverage.*
14
+ .python-version
15
+ .mypy_cache/
16
+ .pytest_cache/
17
+ .ruff_cache/
18
+ .hypothesis/
19
+ .hypothesis
20
+ .benchmarks
21
+ .nox/
22
+ .cache/
23
+ .tmp/
24
+ .github/tmp/
25
+ site/
26
+ build/
27
+ dist/
28
+ htmlcov/
29
+ **/coverage.xml
30
+ node_modules/
31
+ *.egg-info/
32
+ pip-wheel-metadata/
33
+
34
+ artifacts/
35
+ artifacts
36
+ packages/*/artifacts/
37
+ packages/*/artifacts
38
+
39
+ **/__pycache__/
40
+ **/.pytest_cache/
41
+ **/.ruff_cache/
42
+ **/.mypy_cache/
43
+ **/.pytype/
44
+ **/.hypothesis/
45
+ **/.hypothesis
46
+ **/.benchmarks/
47
+ **/.benchmarks
48
+ **/.tox/
49
+ **/.tox
50
+ **/.venv/
51
+ **/.venv
52
+ **/.nox/
53
+ **/.cache/
54
+ **/site/
55
+ **/build/
56
+ **/dist/
57
+ **/htmlcov/
58
+ **/*.egg-info/
59
+ **/*.pyc
60
+ **/*.pyo
61
+ *.swp
62
+ *.swo
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes for `bijux-proteomics` are recorded here.
4
+
5
+ ## Unreleased
6
+
7
+ ## 0.3.8 - 2026-07-01
8
+
9
+ ### Added
10
+
11
+ - Added the `bijux-proteomics` distribution as an install and command alias for
12
+ `bijux-proteomics-core`.
13
+ - Added explicit package-contract and README guidance that points users from
14
+ the top-level alias back to the canonical core owner and the numbered
15
+ handbook routes.
16
+
17
+ ### Changed
18
+
19
+ - Aligned the fallback version and canonical dependency floor with the
20
+ `0.3.8` release line.
21
+ - Routed alias imports and command entrypoints through governed compatibility
22
+ helpers with lazy loading and clean-checkout compatibility coverage instead
23
+ of root shim behavior.
@@ -0,0 +1 @@
1
+ ../../LICENSE
@@ -0,0 +1 @@
1
+ ../../NOTICE
@@ -0,0 +1,206 @@
1
+ Metadata-Version: 2.4
2
+ Name: bijux-proteomics
3
+ Version: 0.3.8
4
+ Summary: Install and command alias package for bijux-proteomics-core.
5
+ Project-URL: Homepage, https://bijux.io/bijux-proteomics/
6
+ Project-URL: Documentation, https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/
7
+ Project-URL: Repository, https://github.com/bijux/bijux-proteomics
8
+ Project-URL: Issues, https://github.com/bijux/bijux-proteomics/issues
9
+ Project-URL: Changelog, https://github.com/bijux/bijux-proteomics/blob/main/packages/bijux-proteomics/CHANGELOG.md
10
+ Project-URL: Security, https://github.com/bijux/bijux-proteomics/blob/main/SECURITY.md
11
+ Author-email: Bijan Mousavi <bijan@bijux.io>
12
+ Maintainer-email: Bijan Mousavi <bijan@bijux.io>
13
+ License: Apache-2.0
14
+ License-File: LICENSE
15
+ License-File: NOTICE
16
+ Keywords: bioinformatics,compatibility,packaging,proteomics
17
+ Classifier: Development Status :: 3 - Alpha
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Intended Audience :: Science/Research
20
+ Classifier: License :: OSI Approved :: Apache Software License
21
+ Classifier: Operating System :: OS Independent
22
+ Classifier: Programming Language :: Python :: 3
23
+ Classifier: Programming Language :: Python :: 3 :: Only
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Typing :: Typed
29
+ Requires-Python: <4,>=3.11
30
+ Requires-Dist: bijux-proteomics-core<0.4.0,>=0.3.8
31
+ Description-Content-Type: text/markdown
32
+
33
+ # bijux-proteomics
34
+
35
+ <!-- bijux-proteomics-badges:generated:start -->
36
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](https://pypi.org/project/bijux-proteomics/)
37
+ [![Typing: typed](https://img.shields.io/badge/typing-typed%20(PEP%20561)-0A7BBB)](https://pypi.org/project/bijux-proteomics/)
38
+ [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-0F766E)](https://github.com/bijux/bijux-proteomics/blob/main/LICENSE)
39
+ [![CI Status](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml/badge.svg?branch=main)](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml?query=branch%3Amain)
40
+ [![GitHub Repository](https://img.shields.io/badge/github-bijux%2Fbijux--proteomics-181717?logo=github)](https://github.com/bijux/bijux-proteomics)
41
+
42
+ [![bijux-proteomics](https://img.shields.io/pypi/v/bijux-proteomics?label=bijux--proteomics&logo=pypi)](https://pypi.org/project/bijux-proteomics/)
43
+ [![agentic-proteins](https://img.shields.io/pypi/v/agentic-proteins?label=agentic--proteins&logo=pypi)](https://pypi.org/project/agentic-proteins/)
44
+ [![bijux-proteomics-foundation](https://img.shields.io/pypi/v/bijux-proteomics-foundation?label=foundation&logo=pypi)](https://pypi.org/project/bijux-proteomics-foundation/)
45
+ [![bijux-proteomics-core](https://img.shields.io/pypi/v/bijux-proteomics-core?label=core&logo=pypi)](https://pypi.org/project/bijux-proteomics-core/)
46
+ [![bijux-proteomics-runtime](https://img.shields.io/pypi/v/bijux-proteomics-runtime?label=runtime&logo=pypi)](https://pypi.org/project/bijux-proteomics-runtime/)
47
+ [![bijux-proteomics-intelligence](https://img.shields.io/pypi/v/bijux-proteomics-intelligence?label=intelligence&logo=pypi)](https://pypi.org/project/bijux-proteomics-intelligence/)
48
+ [![bijux-proteomics-knowledge](https://img.shields.io/pypi/v/bijux-proteomics-knowledge?label=knowledge&logo=pypi)](https://pypi.org/project/bijux-proteomics-knowledge/)
49
+ [![bijux-proteomics-lab](https://img.shields.io/pypi/v/bijux-proteomics-lab?label=lab&logo=pypi)](https://pypi.org/project/bijux-proteomics-lab/)
50
+
51
+ [![agentic-proteins](https://img.shields.io/badge/agentic--proteins-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fagentic-proteins)
52
+ [![bijux-proteomics-foundation](https://img.shields.io/badge/foundation-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-foundation)
53
+ [![bijux-proteomics-core](https://img.shields.io/badge/core-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-core)
54
+ [![bijux-proteomics-intelligence](https://img.shields.io/badge/intelligence-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-intelligence)
55
+ [![bijux-proteomics-knowledge](https://img.shields.io/badge/knowledge-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-knowledge)
56
+ [![bijux-proteomics-lab](https://img.shields.io/badge/lab-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-lab)
57
+
58
+ [![bijux-proteomics docs](https://img.shields.io/badge/docs-bijux--proteomics-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
59
+ [![agentic-proteins docs](https://img.shields.io/badge/docs-agentic--proteins-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/02-agentic-proteins/)
60
+ [![bijux-proteomics-foundation docs](https://img.shields.io/badge/docs-foundation-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/03-bijux-proteomics-foundation/)
61
+ [![bijux-proteomics-core docs](https://img.shields.io/badge/docs-core-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
62
+ [![bijux-proteomics-runtime docs](https://img.shields.io/badge/docs-runtime-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/)
63
+ [![bijux-proteomics-intelligence docs](https://img.shields.io/badge/docs-intelligence-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/05-bijux-proteomics-intelligence/)
64
+ [![bijux-proteomics-knowledge docs](https://img.shields.io/badge/docs-knowledge-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/06-bijux-proteomics-knowledge/)
65
+ [![bijux-proteomics-lab docs](https://img.shields.io/badge/docs-lab-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
66
+ <!-- bijux-proteomics-badges:generated:end -->
67
+
68
+ `bijux-proteomics` is the distribution-name alias for the canonical core owner
69
+ `bijux-proteomics-core`.
70
+ It is the install and command alias for bijux-proteomics-core, while the
71
+ public Python import surface remains the canonical `bijux_proteomics`
72
+ namespace shipped by core.
73
+
74
+ Use this package when you need the flagship install name on PyPI while keeping
75
+ all scientific behavior owned by the canonical core package.
76
+
77
+ ## Alias at a glance
78
+
79
+ - Use `bijux-proteomics` when packaging, documentation, or deployment needs
80
+ the flagship distribution name rather than the canonical owner package name.
81
+ - Start scientific feature discovery from the
82
+ [canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
83
+ because this package forwards into the core owner surface.
84
+ - Route all new scientific behavior to `bijux-proteomics-core`; keep this
85
+ package focused on install-name compatibility and publication metadata.
86
+
87
+ ## 0.3.8 Release Highlights
88
+
89
+ - The flagship distribution name now routes readers directly to the current
90
+ core scientific surface instead of implying a second owner package.
91
+ - The alias follows the `0.3.8` release line while the canonical
92
+ `bijux-proteomics-core` package continues to own FASTA, digestion, search,
93
+ quantification, PTM, QC, and workflow-planning behavior.
94
+
95
+ ## Installation
96
+
97
+ ```bash
98
+ pip install bijux-proteomics
99
+ ```
100
+
101
+ ## Public APIs
102
+
103
+ The distribution alias installs the canonical core package, so the public
104
+ Python surface remains `bijux_proteomics`:
105
+
106
+ ```python
107
+ from bijux_proteomics import parse_fasta_document
108
+
109
+ report = parse_fasta_document(">sp|P11111|PTM1 Protein 1\nMPEPTIDEK\n")
110
+
111
+ assert report.total_records == 1
112
+ assert len(report.accepted_records) == 1
113
+ assert report.accepted_records[0].canonical_accession == "P11111"
114
+ ```
115
+
116
+ ## Package identity
117
+
118
+ - Distribution name: `bijux-proteomics`
119
+ - Import root: `bijux_proteomics`
120
+ - Private metadata helper: `bijux_proteomics_alias`
121
+ - Canonical owner package: `bijux-proteomics-core`
122
+ - Canonical owner docs: `packages/bijux-proteomics-core/README.md`
123
+
124
+ ## Package boundaries
125
+
126
+ - this package owns distribution-name compatibility and publication metadata
127
+ - scientific parsing, quantification, review, and workflow logic remain owned
128
+ by `bijux-proteomics-core`
129
+ - new behavior must land in the canonical owner before this alias surface
130
+ changes
131
+
132
+ ## What this package must not do
133
+
134
+ - introduce independent scientific semantics or workflow logic
135
+ - fork the canonical `bijux_proteomics` import surface
136
+ - become a second release-policy owner for the core package
137
+
138
+ ## Contract checkpoints
139
+
140
+ - the install alias must continue to resolve to the canonical core owner
141
+ - docs must state clearly that `bijux-proteomics-core` owns the behavior
142
+ - compatibility changes must stay covered by alias-package tests
143
+
144
+ ## Choose this package when
145
+
146
+ - you want the flagship `bijux-proteomics` distribution name on PyPI
147
+ - deployment tooling depends on the canonical install alias rather than the
148
+ owner package name
149
+ - packaging or documentation work needs the install alias without changing core
150
+ behavior
151
+
152
+ ## Route elsewhere when
153
+
154
+ - the change alters scientific parsing, review, workflow, or result semantics
155
+ - the work needs a new Python export that is not already owned by core
156
+ - the change would make this package more than a distribution alias
157
+
158
+ ## Verification route
159
+
160
+ - run the alias compatibility tests before treating install-name changes as
161
+ safe
162
+ - review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
163
+ when the alias claims shift
164
+ - check the canonical core README and tests when the proposed change touches
165
+ user-facing scientific behavior
166
+
167
+ ## Review questions
168
+
169
+ - does the change preserve this package as a distribution alias only
170
+ - is the canonical owner still explicit in both docs and behavior
171
+ - would the change still make sense if all scientific logic stayed in core
172
+
173
+ ## Escalation route
174
+
175
+ - route the work to `bijux-proteomics-core` when any scientific behavior needs
176
+ to change
177
+ - stop and review alias boundaries when the proposal starts adding
178
+ package-specific behavior
179
+ - escalate before release when dependency or metadata changes could confuse
180
+ canonical owner selection
181
+
182
+ ## Consumer impact signals
183
+
184
+ - treat install-name, dependency, or metadata changes as high-impact because
185
+ they affect package resolution
186
+ - expect review from core owners when alias docs or expectations shift
187
+ - expect a smaller release burden when the change only clarifies routing or
188
+ compatibility wording
189
+
190
+ ## Explicit non-goals
191
+
192
+ - this package does not own assay-processing or workflow semantics
193
+ - this package does not define runtime, intelligence, knowledge, or lab policy
194
+ - this package does not replace the canonical core release surface
195
+
196
+ ## Documentation
197
+
198
+ - Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
199
+ package `docs/*.md` under the canonical owner surface.
200
+ - [Product overview](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-overview/)
201
+ - [Workflow families](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/workflow-families/)
202
+ - [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
203
+ - [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
204
+ - [Execution overview](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/execution-overview/)
205
+ - [Canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
206
+ - [Changelog](CHANGELOG.md)
@@ -0,0 +1,174 @@
1
+ # bijux-proteomics
2
+
3
+ <!-- bijux-proteomics-badges:generated:start -->
4
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](https://pypi.org/project/bijux-proteomics/)
5
+ [![Typing: typed](https://img.shields.io/badge/typing-typed%20(PEP%20561)-0A7BBB)](https://pypi.org/project/bijux-proteomics/)
6
+ [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-0F766E)](https://github.com/bijux/bijux-proteomics/blob/main/LICENSE)
7
+ [![CI Status](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml/badge.svg?branch=main)](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml?query=branch%3Amain)
8
+ [![GitHub Repository](https://img.shields.io/badge/github-bijux%2Fbijux--proteomics-181717?logo=github)](https://github.com/bijux/bijux-proteomics)
9
+
10
+ [![bijux-proteomics](https://img.shields.io/pypi/v/bijux-proteomics?label=bijux--proteomics&logo=pypi)](https://pypi.org/project/bijux-proteomics/)
11
+ [![agentic-proteins](https://img.shields.io/pypi/v/agentic-proteins?label=agentic--proteins&logo=pypi)](https://pypi.org/project/agentic-proteins/)
12
+ [![bijux-proteomics-foundation](https://img.shields.io/pypi/v/bijux-proteomics-foundation?label=foundation&logo=pypi)](https://pypi.org/project/bijux-proteomics-foundation/)
13
+ [![bijux-proteomics-core](https://img.shields.io/pypi/v/bijux-proteomics-core?label=core&logo=pypi)](https://pypi.org/project/bijux-proteomics-core/)
14
+ [![bijux-proteomics-runtime](https://img.shields.io/pypi/v/bijux-proteomics-runtime?label=runtime&logo=pypi)](https://pypi.org/project/bijux-proteomics-runtime/)
15
+ [![bijux-proteomics-intelligence](https://img.shields.io/pypi/v/bijux-proteomics-intelligence?label=intelligence&logo=pypi)](https://pypi.org/project/bijux-proteomics-intelligence/)
16
+ [![bijux-proteomics-knowledge](https://img.shields.io/pypi/v/bijux-proteomics-knowledge?label=knowledge&logo=pypi)](https://pypi.org/project/bijux-proteomics-knowledge/)
17
+ [![bijux-proteomics-lab](https://img.shields.io/pypi/v/bijux-proteomics-lab?label=lab&logo=pypi)](https://pypi.org/project/bijux-proteomics-lab/)
18
+
19
+ [![agentic-proteins](https://img.shields.io/badge/agentic--proteins-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fagentic-proteins)
20
+ [![bijux-proteomics-foundation](https://img.shields.io/badge/foundation-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-foundation)
21
+ [![bijux-proteomics-core](https://img.shields.io/badge/core-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-core)
22
+ [![bijux-proteomics-intelligence](https://img.shields.io/badge/intelligence-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-intelligence)
23
+ [![bijux-proteomics-knowledge](https://img.shields.io/badge/knowledge-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-knowledge)
24
+ [![bijux-proteomics-lab](https://img.shields.io/badge/lab-ghcr-181717?logo=github)](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-lab)
25
+
26
+ [![bijux-proteomics docs](https://img.shields.io/badge/docs-bijux--proteomics-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
27
+ [![agentic-proteins docs](https://img.shields.io/badge/docs-agentic--proteins-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/02-agentic-proteins/)
28
+ [![bijux-proteomics-foundation docs](https://img.shields.io/badge/docs-foundation-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/03-bijux-proteomics-foundation/)
29
+ [![bijux-proteomics-core docs](https://img.shields.io/badge/docs-core-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
30
+ [![bijux-proteomics-runtime docs](https://img.shields.io/badge/docs-runtime-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/)
31
+ [![bijux-proteomics-intelligence docs](https://img.shields.io/badge/docs-intelligence-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/05-bijux-proteomics-intelligence/)
32
+ [![bijux-proteomics-knowledge docs](https://img.shields.io/badge/docs-knowledge-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/06-bijux-proteomics-knowledge/)
33
+ [![bijux-proteomics-lab docs](https://img.shields.io/badge/docs-lab-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
34
+ <!-- bijux-proteomics-badges:generated:end -->
35
+
36
+ `bijux-proteomics` is the distribution-name alias for the canonical core owner
37
+ `bijux-proteomics-core`.
38
+ It is the install and command alias for bijux-proteomics-core, while the
39
+ public Python import surface remains the canonical `bijux_proteomics`
40
+ namespace shipped by core.
41
+
42
+ Use this package when you need the flagship install name on PyPI while keeping
43
+ all scientific behavior owned by the canonical core package.
44
+
45
+ ## Alias at a glance
46
+
47
+ - Use `bijux-proteomics` when packaging, documentation, or deployment needs
48
+ the flagship distribution name rather than the canonical owner package name.
49
+ - Start scientific feature discovery from the
50
+ [canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
51
+ because this package forwards into the core owner surface.
52
+ - Route all new scientific behavior to `bijux-proteomics-core`; keep this
53
+ package focused on install-name compatibility and publication metadata.
54
+
55
+ ## 0.3.8 Release Highlights
56
+
57
+ - The flagship distribution name now routes readers directly to the current
58
+ core scientific surface instead of implying a second owner package.
59
+ - The alias follows the `0.3.8` release line while the canonical
60
+ `bijux-proteomics-core` package continues to own FASTA, digestion, search,
61
+ quantification, PTM, QC, and workflow-planning behavior.
62
+
63
+ ## Installation
64
+
65
+ ```bash
66
+ pip install bijux-proteomics
67
+ ```
68
+
69
+ ## Public APIs
70
+
71
+ The distribution alias installs the canonical core package, so the public
72
+ Python surface remains `bijux_proteomics`:
73
+
74
+ ```python
75
+ from bijux_proteomics import parse_fasta_document
76
+
77
+ report = parse_fasta_document(">sp|P11111|PTM1 Protein 1\nMPEPTIDEK\n")
78
+
79
+ assert report.total_records == 1
80
+ assert len(report.accepted_records) == 1
81
+ assert report.accepted_records[0].canonical_accession == "P11111"
82
+ ```
83
+
84
+ ## Package identity
85
+
86
+ - Distribution name: `bijux-proteomics`
87
+ - Import root: `bijux_proteomics`
88
+ - Private metadata helper: `bijux_proteomics_alias`
89
+ - Canonical owner package: `bijux-proteomics-core`
90
+ - Canonical owner docs: `packages/bijux-proteomics-core/README.md`
91
+
92
+ ## Package boundaries
93
+
94
+ - this package owns distribution-name compatibility and publication metadata
95
+ - scientific parsing, quantification, review, and workflow logic remain owned
96
+ by `bijux-proteomics-core`
97
+ - new behavior must land in the canonical owner before this alias surface
98
+ changes
99
+
100
+ ## What this package must not do
101
+
102
+ - introduce independent scientific semantics or workflow logic
103
+ - fork the canonical `bijux_proteomics` import surface
104
+ - become a second release-policy owner for the core package
105
+
106
+ ## Contract checkpoints
107
+
108
+ - the install alias must continue to resolve to the canonical core owner
109
+ - docs must state clearly that `bijux-proteomics-core` owns the behavior
110
+ - compatibility changes must stay covered by alias-package tests
111
+
112
+ ## Choose this package when
113
+
114
+ - you want the flagship `bijux-proteomics` distribution name on PyPI
115
+ - deployment tooling depends on the canonical install alias rather than the
116
+ owner package name
117
+ - packaging or documentation work needs the install alias without changing core
118
+ behavior
119
+
120
+ ## Route elsewhere when
121
+
122
+ - the change alters scientific parsing, review, workflow, or result semantics
123
+ - the work needs a new Python export that is not already owned by core
124
+ - the change would make this package more than a distribution alias
125
+
126
+ ## Verification route
127
+
128
+ - run the alias compatibility tests before treating install-name changes as
129
+ safe
130
+ - review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
131
+ when the alias claims shift
132
+ - check the canonical core README and tests when the proposed change touches
133
+ user-facing scientific behavior
134
+
135
+ ## Review questions
136
+
137
+ - does the change preserve this package as a distribution alias only
138
+ - is the canonical owner still explicit in both docs and behavior
139
+ - would the change still make sense if all scientific logic stayed in core
140
+
141
+ ## Escalation route
142
+
143
+ - route the work to `bijux-proteomics-core` when any scientific behavior needs
144
+ to change
145
+ - stop and review alias boundaries when the proposal starts adding
146
+ package-specific behavior
147
+ - escalate before release when dependency or metadata changes could confuse
148
+ canonical owner selection
149
+
150
+ ## Consumer impact signals
151
+
152
+ - treat install-name, dependency, or metadata changes as high-impact because
153
+ they affect package resolution
154
+ - expect review from core owners when alias docs or expectations shift
155
+ - expect a smaller release burden when the change only clarifies routing or
156
+ compatibility wording
157
+
158
+ ## Explicit non-goals
159
+
160
+ - this package does not own assay-processing or workflow semantics
161
+ - this package does not define runtime, intelligence, knowledge, or lab policy
162
+ - this package does not replace the canonical core release surface
163
+
164
+ ## Documentation
165
+
166
+ - Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
167
+ package `docs/*.md` under the canonical owner surface.
168
+ - [Product overview](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-overview/)
169
+ - [Workflow families](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/workflow-families/)
170
+ - [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
171
+ - [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
172
+ - [Execution overview](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/execution-overview/)
173
+ - [Canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
174
+ - [Changelog](CHANGELOG.md)
@@ -0,0 +1,62 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.27.0,<1.31", "hatch-vcs>=0.4.0,<1.0"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "bijux-proteomics"
7
+ dynamic = ["version"]
8
+ description = "Install and command alias package for bijux-proteomics-core."
9
+ readme = "README.md"
10
+ license = { text = "Apache-2.0" }
11
+ requires-python = ">=3.11,<4"
12
+ authors = [{ name = "Bijan Mousavi", email = "bijan@bijux.io" }]
13
+ maintainers = [{ name = "Bijan Mousavi", email = "bijan@bijux.io" }]
14
+ keywords = ["proteomics", "bioinformatics", "compatibility", "packaging"]
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Intended Audience :: Science/Research",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: Apache Software License",
20
+ "Operating System :: OS Independent",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3 :: Only",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
27
+ "Typing :: Typed",
28
+ ]
29
+ dependencies = [
30
+ "bijux-proteomics-core>=0.3.8,<0.4.0",
31
+ ]
32
+
33
+ [project.urls]
34
+ Homepage = "https://bijux.io/bijux-proteomics/"
35
+ Documentation = "https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/"
36
+ Repository = "https://github.com/bijux/bijux-proteomics"
37
+ Issues = "https://github.com/bijux/bijux-proteomics/issues"
38
+ Changelog = "https://github.com/bijux/bijux-proteomics/blob/main/packages/bijux-proteomics/CHANGELOG.md"
39
+ Security = "https://github.com/bijux/bijux-proteomics/blob/main/SECURITY.md"
40
+
41
+ [project.scripts]
42
+ bijux-proteomics = "bijux_proteomics.interfaces.cli:cli"
43
+
44
+ [tool.hatch.version]
45
+ source = "vcs"
46
+ tag-pattern = "^v(?P<version>.*)$"
47
+ fallback-version = "0.3.8"
48
+ raw-options = { git_describe_command = "git describe --dirty --tags --long --match 'v*'", local_scheme = "dirty-tag", version_scheme = "guess-next-dev", root = "../..", search_parent_directories = true }
49
+
50
+ [tool.hatch.build]
51
+ include = [
52
+ "README.md",
53
+ "CHANGELOG.md",
54
+ "src/bijux_proteomics_alias/py.typed",
55
+ ]
56
+ force-include = { "LICENSE" = "LICENSE", "NOTICE" = "NOTICE" }
57
+
58
+ [tool.hatch.build.targets.wheel]
59
+ packages = ["src/bijux_proteomics_alias"]
60
+
61
+ [tool.hatch.build.targets.wheel.package-data]
62
+ "bijux_proteomics_alias" = ["py.typed"]