proteomics-core 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,22 @@
1
+ # Changelog
2
+
3
+ All notable changes for `proteomics-core` are recorded here.
4
+
5
+ ## Unreleased
6
+
7
+ ## 0.3.8 - 2026-07-01
8
+
9
+ ### Added
10
+
11
+ - Added the `proteomics-core` distribution as the short install and import
12
+ alias for `bijux-proteomics-core`.
13
+ - Added alias-package contract and architecture docs that explain why the
14
+ short distribution is a forwarding surface rather than a second owner.
15
+
16
+ ### Changed
17
+
18
+ - Aligned the fallback version and canonical dependency floors with the
19
+ `0.3.8` release line.
20
+ - Routed the alias through governed compatibility helpers, lazy imports, and
21
+ clean-checkout verification so the short name stays a thin surface over the
22
+ canonical core package.
@@ -0,0 +1 @@
1
+ ../../LICENSE
@@ -0,0 +1 @@
1
+ ../../NOTICE
@@ -0,0 +1,192 @@
1
+ Metadata-Version: 2.4
2
+ Name: proteomics-core
3
+ Version: 0.3.8
4
+ Summary: Install and import 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/proteomics-core/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
+ Requires-Dist: bijux-proteomics-foundation<0.4.0,>=0.3.8
32
+ Description-Content-Type: text/markdown
33
+
34
+ # proteomics-core
35
+
36
+ <!-- bijux-proteomics-badges:generated:start -->
37
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-3776AB?logo=python&logoColor=white)](https://pypi.org/project/proteomics-core/)
38
+ [![Typing: typed](https://img.shields.io/badge/typing-typed%20(PEP%20561)-0A7BBB)](https://pypi.org/project/proteomics-core/)
39
+ [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-0F766E)](https://github.com/bijux/bijux-proteomics/blob/main/LICENSE)
40
+ [![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)
41
+ [![GitHub Repository](https://img.shields.io/badge/github-bijux%2Fbijux--proteomics-181717?logo=github)](https://github.com/bijux/bijux-proteomics)
42
+
43
+ [![proteomics-core](https://img.shields.io/pypi/v/proteomics-core?label=proteomics--core&logo=pypi)](https://pypi.org/project/proteomics-core/)
44
+ [![agentic-proteins](https://img.shields.io/pypi/v/agentic-proteins?label=agentic--proteins&logo=pypi)](https://pypi.org/project/agentic-proteins/)
45
+ [![bijux-proteomics-foundation](https://img.shields.io/pypi/v/bijux-proteomics-foundation?label=foundation&logo=pypi)](https://pypi.org/project/bijux-proteomics-foundation/)
46
+ [![bijux-proteomics-core](https://img.shields.io/pypi/v/bijux-proteomics-core?label=core&logo=pypi)](https://pypi.org/project/bijux-proteomics-core/)
47
+ [![bijux-proteomics-runtime](https://img.shields.io/pypi/v/bijux-proteomics-runtime?label=runtime&logo=pypi)](https://pypi.org/project/bijux-proteomics-runtime/)
48
+ [![bijux-proteomics-intelligence](https://img.shields.io/pypi/v/bijux-proteomics-intelligence?label=intelligence&logo=pypi)](https://pypi.org/project/bijux-proteomics-intelligence/)
49
+ [![bijux-proteomics-knowledge](https://img.shields.io/pypi/v/bijux-proteomics-knowledge?label=knowledge&logo=pypi)](https://pypi.org/project/bijux-proteomics-knowledge/)
50
+ [![bijux-proteomics-lab](https://img.shields.io/pypi/v/bijux-proteomics-lab?label=lab&logo=pypi)](https://pypi.org/project/bijux-proteomics-lab/)
51
+
52
+ [![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)
53
+ [![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)
54
+ [![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)
55
+ [![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)
56
+ [![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)
57
+ [![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)
58
+
59
+ [![proteomics-core docs](https://img.shields.io/badge/docs-proteomics--core-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
60
+ [![agentic-proteins docs](https://img.shields.io/badge/docs-agentic--proteins-2563EB?logo=materialformkdocs&logoColor=white)](https://bijux.io/bijux-proteomics/02-agentic-proteins/)
61
+ [![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/)
62
+ [![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/)
63
+ [![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/)
64
+ [![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/)
65
+ [![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/)
66
+ [![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/)
67
+ <!-- bijux-proteomics-badges:generated:end -->
68
+
69
+ `proteomics-core` is the compatibility alias for the canonical core owner
70
+ `bijux-proteomics-core`.
71
+ It is the install and import alias for bijux-proteomics-core.
72
+
73
+ Use this package when you want a shorter distribution and import name while
74
+ keeping the same scientific processing owner and behavior.
75
+
76
+ ## Alias at a glance
77
+
78
+ - Use `proteomics-core` when you need a family-specific short name without
79
+ changing who owns the scientific surface.
80
+ - Start with the
81
+ [canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
82
+ because every export in this package forwards into that owner surface.
83
+ - Route behavior changes to `bijux-proteomics-core`; keep this package focused
84
+ on compatibility naming and import forwarding.
85
+
86
+ ## 0.3.8 Release Highlights
87
+
88
+ - The alias now points explicitly at the current core handbook and stops
89
+ sounding like an independent scientific package.
90
+ - Release guidance, boundaries, and verification text now make the forwarding
91
+ contract easier to audit before publication.
92
+
93
+ ## Installation
94
+
95
+ ```bash
96
+ pip install proteomics-core
97
+ ```
98
+
99
+ ## Public APIs
100
+
101
+ The alias forwards core scientific imports through `proteomics_core`:
102
+
103
+ ```python
104
+ from proteomics_core import parse_fasta_document
105
+
106
+ report = parse_fasta_document(">sp|P11111|PTM1 Protein 1\nMPEPTIDEK\n")
107
+
108
+ assert report.total_records == 1
109
+ assert len(report.accepted_records) == 1
110
+ assert report.accepted_records[0].canonical_accession == "P11111"
111
+ ```
112
+
113
+ ## Package identity
114
+
115
+ - Distribution name: `proteomics-core`
116
+ - Import root: `proteomics_core`
117
+ - Canonical owner package: `bijux-proteomics-core`
118
+ - Canonical owner import root: `bijux_proteomics`
119
+
120
+ ## Package boundaries
121
+
122
+ - this package owns compatibility naming for the core package surface
123
+ - all scientific semantics remain owned by `bijux-proteomics-core`
124
+ - new exports must appear in the canonical owner before they appear here
125
+
126
+ ## What this package must not do
127
+
128
+ - invent independent core behavior or documentation claims
129
+ - fork canonical scientific or workflow semantics
130
+ - become a second release-policy owner for the core surface
131
+
132
+ ## Contract checkpoints
133
+
134
+ - forwarded imports must keep canonical behavior without semantic drift
135
+ - docs must keep the canonical owner explicit
136
+ - alias compatibility tests must stay green when exports or packaging change
137
+
138
+ ## Choose this package when
139
+
140
+ - you need a shorter core-specific distribution name than the canonical owner
141
+ - migration constraints prefer `proteomics_core` imports
142
+ - packaging or compatibility work needs a named alias for the core owner
143
+
144
+ ## Route elsewhere when
145
+
146
+ - the change alters scientific parsing, review, or workflow behavior
147
+ - the work introduces exports that are not already owned by core
148
+ - the package would stop being a forwarding alias
149
+
150
+ ## Verification route
151
+
152
+ - run alias compatibility tests before changing imports or packaging metadata
153
+ - review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
154
+ when alias claims or boundaries shift
155
+ - validate the canonical core README and tests when behavior changes are being
156
+ proposed
157
+
158
+ ## Review questions
159
+
160
+ - does the change preserve this package as a compatibility alias only
161
+ - is the canonical owner still named clearly for maintainers and consumers
162
+ - would the same behavior remain correct if consumers imported core directly
163
+
164
+ ## Escalation route
165
+
166
+ - route scientific behavior changes to `bijux-proteomics-core`
167
+ - stop and review boundaries when the alias starts gaining package-local logic
168
+ - escalate before release when package metadata or import routing could confuse
169
+ core ownership
170
+
171
+ ## Consumer impact signals
172
+
173
+ - import-path or package-name changes are high-impact because downstream code
174
+ may import this alias directly
175
+ - alias contract wording changes should still be reviewed against canonical core
176
+ - documentation-only clarifications carry lower release risk than routing or
177
+ metadata changes
178
+
179
+ ## Explicit non-goals
180
+
181
+ - this package does not own assay-processing or workflow semantics
182
+ - this package does not define runtime, intelligence, knowledge, or lab policy
183
+ - this package does not replace the canonical core release surface
184
+
185
+ ## Documentation
186
+
187
+ - Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
188
+ package `docs/*.md` under the canonical core owner surface.
189
+ - [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
190
+ - [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
191
+ - [Canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
192
+ - [Changelog](CHANGELOG.md)
@@ -0,0 +1,159 @@
1
+ # proteomics-core
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/proteomics-core/)
5
+ [![Typing: typed](https://img.shields.io/badge/typing-typed%20(PEP%20561)-0A7BBB)](https://pypi.org/project/proteomics-core/)
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
+ [![proteomics-core](https://img.shields.io/pypi/v/proteomics-core?label=proteomics--core&logo=pypi)](https://pypi.org/project/proteomics-core/)
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
+ [![proteomics-core docs](https://img.shields.io/badge/docs-proteomics--core-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
+ `proteomics-core` is the compatibility alias for the canonical core owner
37
+ `bijux-proteomics-core`.
38
+ It is the install and import alias for bijux-proteomics-core.
39
+
40
+ Use this package when you want a shorter distribution and import name while
41
+ keeping the same scientific processing owner and behavior.
42
+
43
+ ## Alias at a glance
44
+
45
+ - Use `proteomics-core` when you need a family-specific short name without
46
+ changing who owns the scientific surface.
47
+ - Start with the
48
+ [canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
49
+ because every export in this package forwards into that owner surface.
50
+ - Route behavior changes to `bijux-proteomics-core`; keep this package focused
51
+ on compatibility naming and import forwarding.
52
+
53
+ ## 0.3.8 Release Highlights
54
+
55
+ - The alias now points explicitly at the current core handbook and stops
56
+ sounding like an independent scientific package.
57
+ - Release guidance, boundaries, and verification text now make the forwarding
58
+ contract easier to audit before publication.
59
+
60
+ ## Installation
61
+
62
+ ```bash
63
+ pip install proteomics-core
64
+ ```
65
+
66
+ ## Public APIs
67
+
68
+ The alias forwards core scientific imports through `proteomics_core`:
69
+
70
+ ```python
71
+ from proteomics_core import parse_fasta_document
72
+
73
+ report = parse_fasta_document(">sp|P11111|PTM1 Protein 1\nMPEPTIDEK\n")
74
+
75
+ assert report.total_records == 1
76
+ assert len(report.accepted_records) == 1
77
+ assert report.accepted_records[0].canonical_accession == "P11111"
78
+ ```
79
+
80
+ ## Package identity
81
+
82
+ - Distribution name: `proteomics-core`
83
+ - Import root: `proteomics_core`
84
+ - Canonical owner package: `bijux-proteomics-core`
85
+ - Canonical owner import root: `bijux_proteomics`
86
+
87
+ ## Package boundaries
88
+
89
+ - this package owns compatibility naming for the core package surface
90
+ - all scientific semantics remain owned by `bijux-proteomics-core`
91
+ - new exports must appear in the canonical owner before they appear here
92
+
93
+ ## What this package must not do
94
+
95
+ - invent independent core behavior or documentation claims
96
+ - fork canonical scientific or workflow semantics
97
+ - become a second release-policy owner for the core surface
98
+
99
+ ## Contract checkpoints
100
+
101
+ - forwarded imports must keep canonical behavior without semantic drift
102
+ - docs must keep the canonical owner explicit
103
+ - alias compatibility tests must stay green when exports or packaging change
104
+
105
+ ## Choose this package when
106
+
107
+ - you need a shorter core-specific distribution name than the canonical owner
108
+ - migration constraints prefer `proteomics_core` imports
109
+ - packaging or compatibility work needs a named alias for the core owner
110
+
111
+ ## Route elsewhere when
112
+
113
+ - the change alters scientific parsing, review, or workflow behavior
114
+ - the work introduces exports that are not already owned by core
115
+ - the package would stop being a forwarding alias
116
+
117
+ ## Verification route
118
+
119
+ - run alias compatibility tests before changing imports or packaging metadata
120
+ - review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
121
+ when alias claims or boundaries shift
122
+ - validate the canonical core README and tests when behavior changes are being
123
+ proposed
124
+
125
+ ## Review questions
126
+
127
+ - does the change preserve this package as a compatibility alias only
128
+ - is the canonical owner still named clearly for maintainers and consumers
129
+ - would the same behavior remain correct if consumers imported core directly
130
+
131
+ ## Escalation route
132
+
133
+ - route scientific behavior changes to `bijux-proteomics-core`
134
+ - stop and review boundaries when the alias starts gaining package-local logic
135
+ - escalate before release when package metadata or import routing could confuse
136
+ core ownership
137
+
138
+ ## Consumer impact signals
139
+
140
+ - import-path or package-name changes are high-impact because downstream code
141
+ may import this alias directly
142
+ - alias contract wording changes should still be reviewed against canonical core
143
+ - documentation-only clarifications carry lower release risk than routing or
144
+ metadata changes
145
+
146
+ ## Explicit non-goals
147
+
148
+ - this package does not own assay-processing or workflow semantics
149
+ - this package does not define runtime, intelligence, knowledge, or lab policy
150
+ - this package does not replace the canonical core release surface
151
+
152
+ ## Documentation
153
+
154
+ - Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
155
+ package `docs/*.md` under the canonical core owner surface.
156
+ - [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
157
+ - [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
158
+ - [Canonical core package docs](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
159
+ - [Changelog](CHANGELOG.md)
@@ -0,0 +1,63 @@
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 = "proteomics-core"
7
+ dynamic = ["version"]
8
+ description = "Install and import 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-foundation>=0.3.8,<0.4.0",
31
+ "bijux-proteomics-core>=0.3.8,<0.4.0",
32
+ ]
33
+
34
+ [project.urls]
35
+ Homepage = "https://bijux.io/bijux-proteomics/"
36
+ Documentation = "https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/"
37
+ Repository = "https://github.com/bijux/bijux-proteomics"
38
+ Issues = "https://github.com/bijux/bijux-proteomics/issues"
39
+ Changelog = "https://github.com/bijux/bijux-proteomics/blob/main/packages/proteomics-core/CHANGELOG.md"
40
+ Security = "https://github.com/bijux/bijux-proteomics/blob/main/SECURITY.md"
41
+
42
+ [project.scripts]
43
+ proteomics-core = "proteomics_core.cli:main"
44
+
45
+ [tool.hatch.version]
46
+ source = "vcs"
47
+ tag-pattern = "^v(?P<version>.*)$"
48
+ fallback-version = "0.3.8"
49
+ 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 }
50
+
51
+ [tool.hatch.build]
52
+ include = [
53
+ "README.md",
54
+ "CHANGELOG.md",
55
+ "src/proteomics_core/py.typed",
56
+ ]
57
+ force-include = { "LICENSE" = "LICENSE", "NOTICE" = "NOTICE" }
58
+
59
+ [tool.hatch.build.targets.wheel]
60
+ packages = ["src/proteomics_core"]
61
+
62
+ [tool.hatch.build.targets.wheel.package-data]
63
+ "proteomics_core" = ["py.typed"]