proteomics-lab 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.
- proteomics_lab-0.3.8/.gitignore +62 -0
- proteomics_lab-0.3.8/CHANGELOG.md +22 -0
- proteomics_lab-0.3.8/LICENSE +1 -0
- proteomics_lab-0.3.8/NOTICE +1 -0
- proteomics_lab-0.3.8/PKG-INFO +227 -0
- proteomics_lab-0.3.8/README.md +194 -0
- proteomics_lab-0.3.8/pyproject.toml +60 -0
- proteomics_lab-0.3.8/src/proteomics_lab/py.typed +1 -0
|
@@ -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-lab` are recorded here.
|
|
4
|
+
|
|
5
|
+
## Unreleased
|
|
6
|
+
|
|
7
|
+
## 0.3.8 - 2026-07-01
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added the `proteomics-lab` distribution as the short install and import alias
|
|
12
|
+
for `bijux-proteomics-lab`.
|
|
13
|
+
- Added alias-package contract and README guidance that points readers to the
|
|
14
|
+
canonical assay-planning and outcome-learning 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 and clean-checkout
|
|
21
|
+
verification so the short distribution stays a forwarding layer over the
|
|
22
|
+
lab package.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../../LICENSE
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../../NOTICE
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: proteomics-lab
|
|
3
|
+
Version: 0.3.8
|
|
4
|
+
Summary: Install and import alias package for bijux-proteomics-lab.
|
|
5
|
+
Project-URL: Homepage, https://bijux.io/bijux-proteomics/
|
|
6
|
+
Project-URL: Documentation, https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/
|
|
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-lab/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: compatibility,lab,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-foundation<0.4.0,>=0.3.8
|
|
31
|
+
Requires-Dist: bijux-proteomics-lab<0.4.0,>=0.3.8
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
# proteomics-lab
|
|
35
|
+
|
|
36
|
+
<!-- bijux-proteomics-badges:generated:start -->
|
|
37
|
+
[](https://pypi.org/project/proteomics-lab/)
|
|
38
|
+
[-0A7BBB)](https://pypi.org/project/proteomics-lab/)
|
|
39
|
+
[](https://github.com/bijux/bijux-proteomics/blob/main/LICENSE)
|
|
40
|
+
[](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml?query=branch%3Amain)
|
|
41
|
+
[](https://github.com/bijux/bijux-proteomics)
|
|
42
|
+
|
|
43
|
+
[](https://pypi.org/project/proteomics-lab/)
|
|
44
|
+
[](https://pypi.org/project/agentic-proteins/)
|
|
45
|
+
[](https://pypi.org/project/bijux-proteomics-foundation/)
|
|
46
|
+
[](https://pypi.org/project/bijux-proteomics-core/)
|
|
47
|
+
[](https://pypi.org/project/bijux-proteomics-runtime/)
|
|
48
|
+
[](https://pypi.org/project/bijux-proteomics-intelligence/)
|
|
49
|
+
[](https://pypi.org/project/bijux-proteomics-knowledge/)
|
|
50
|
+
[](https://pypi.org/project/bijux-proteomics-lab/)
|
|
51
|
+
|
|
52
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fagentic-proteins)
|
|
53
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-foundation)
|
|
54
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-core)
|
|
55
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-intelligence)
|
|
56
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-knowledge)
|
|
57
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-lab)
|
|
58
|
+
|
|
59
|
+
[](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
60
|
+
[](https://bijux.io/bijux-proteomics/02-agentic-proteins/)
|
|
61
|
+
[](https://bijux.io/bijux-proteomics/03-bijux-proteomics-foundation/)
|
|
62
|
+
[](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
|
|
63
|
+
[](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/)
|
|
64
|
+
[](https://bijux.io/bijux-proteomics/05-bijux-proteomics-intelligence/)
|
|
65
|
+
[](https://bijux.io/bijux-proteomics/06-bijux-proteomics-knowledge/)
|
|
66
|
+
[](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
67
|
+
<!-- bijux-proteomics-badges:generated:end -->
|
|
68
|
+
|
|
69
|
+
`proteomics-lab` is the compatibility alias for the canonical lab owner
|
|
70
|
+
`bijux-proteomics-lab`.
|
|
71
|
+
It is the install and import alias for bijux-proteomics-lab.
|
|
72
|
+
|
|
73
|
+
Use this package when you want a shorter distribution and import name for assay
|
|
74
|
+
planning and handoff behavior without creating a second owner.
|
|
75
|
+
|
|
76
|
+
## Alias at a glance
|
|
77
|
+
|
|
78
|
+
- Use `proteomics-lab` when you want a shorter package name for assay
|
|
79
|
+
planning, readiness, and handoff entrypoints.
|
|
80
|
+
- Start with the
|
|
81
|
+
[canonical lab package docs](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
82
|
+
because this package only forwards into that owner surface.
|
|
83
|
+
- Route lab behavior to `bijux-proteomics-lab`; keep this package focused on
|
|
84
|
+
compatibility naming and import forwarding.
|
|
85
|
+
|
|
86
|
+
## 0.3.8 Release Highlights
|
|
87
|
+
|
|
88
|
+
- The alias now sends readers to the current lab handbook instead of sounding
|
|
89
|
+
like a second operational owner.
|
|
90
|
+
- Release guidance and compatibility wording now make the forwarding contract
|
|
91
|
+
explicit before a reader reaches the deeper sections.
|
|
92
|
+
|
|
93
|
+
## Installation
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install proteomics-lab
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Public APIs
|
|
100
|
+
|
|
101
|
+
The alias forwards the canonical lab planning surface through `proteomics_lab`:
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
from bijux_proteomics.domain.assays import AssayRequirement
|
|
105
|
+
from bijux_proteomics.domain.program_spec import create_program_spec
|
|
106
|
+
from bijux_proteomics.domain.reviews import ReviewGate
|
|
107
|
+
from proteomics_lab import build_advisory_assay_plan
|
|
108
|
+
|
|
109
|
+
program = create_program_spec(
|
|
110
|
+
program_id="prog-readme",
|
|
111
|
+
name="binder rescue",
|
|
112
|
+
objective="recover binding while preserving folding",
|
|
113
|
+
target_id="protein:p11111",
|
|
114
|
+
target_name="PTM1",
|
|
115
|
+
sequence="MPEPTIDEK",
|
|
116
|
+
organism="human",
|
|
117
|
+
mechanism="stabilize productive packing",
|
|
118
|
+
).model_copy(
|
|
119
|
+
update={
|
|
120
|
+
"assay_panel": [
|
|
121
|
+
AssayRequirement(
|
|
122
|
+
assay_id="primary-binding",
|
|
123
|
+
purpose="confirm target engagement",
|
|
124
|
+
readout="binding_score",
|
|
125
|
+
sample_kind="biophysical",
|
|
126
|
+
blocking=True,
|
|
127
|
+
)
|
|
128
|
+
],
|
|
129
|
+
"review_gates": [
|
|
130
|
+
ReviewGate(
|
|
131
|
+
gate_id="pre-synthesis",
|
|
132
|
+
name="Pre-synthesis review",
|
|
133
|
+
required_roles=["scientist"],
|
|
134
|
+
decision_inputs=["evidence_bundle"],
|
|
135
|
+
)
|
|
136
|
+
],
|
|
137
|
+
}
|
|
138
|
+
)
|
|
139
|
+
plan = build_advisory_assay_plan(program)
|
|
140
|
+
|
|
141
|
+
assert plan.program_id == "prog-readme"
|
|
142
|
+
assert plan.recommendations[0].assay_id == "primary-binding"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Package identity
|
|
146
|
+
|
|
147
|
+
- Distribution name: `proteomics-lab`
|
|
148
|
+
- Import root: `proteomics_lab`
|
|
149
|
+
- Canonical owner package: `bijux-proteomics-lab`
|
|
150
|
+
- Canonical owner import root: `bijux_proteomics_lab`
|
|
151
|
+
|
|
152
|
+
## Package boundaries
|
|
153
|
+
|
|
154
|
+
- this package owns compatibility naming for the lab surface
|
|
155
|
+
- assay planning, handoffs, and execution-adjacent lab policy remain owned by
|
|
156
|
+
`bijux-proteomics-lab`
|
|
157
|
+
- new lab behavior must land in the canonical owner before alias exports change
|
|
158
|
+
|
|
159
|
+
## What this package must not do
|
|
160
|
+
|
|
161
|
+
- define a second assay-planning or handoff owner
|
|
162
|
+
- drift away from canonical lab behavior
|
|
163
|
+
- become an independent release surface for lab semantics
|
|
164
|
+
|
|
165
|
+
## Contract checkpoints
|
|
166
|
+
|
|
167
|
+
- alias exports must keep forwarding to canonical lab behavior
|
|
168
|
+
- docs must keep the canonical lab owner explicit
|
|
169
|
+
- compatibility changes must stay covered by alias-package tests
|
|
170
|
+
|
|
171
|
+
## Choose this package when
|
|
172
|
+
|
|
173
|
+
- you need a shorter import and distribution name for lab entrypoints
|
|
174
|
+
- migration constraints prefer `proteomics_lab`
|
|
175
|
+
- packaging or compatibility work needs a named alias for the lab owner
|
|
176
|
+
|
|
177
|
+
## Route elsewhere when
|
|
178
|
+
|
|
179
|
+
- the change alters assay-planning, handoff, or lab-policy semantics
|
|
180
|
+
- the work adds behavior not already owned by the canonical package
|
|
181
|
+
- the alias would stop being forwarding-only
|
|
182
|
+
|
|
183
|
+
## Verification route
|
|
184
|
+
|
|
185
|
+
- run alias compatibility tests before changing lab imports or metadata
|
|
186
|
+
- review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
|
|
187
|
+
when alias claims or routing language change
|
|
188
|
+
- validate the canonical lab README and tests when behavior changes are
|
|
189
|
+
proposed
|
|
190
|
+
|
|
191
|
+
## Review questions
|
|
192
|
+
|
|
193
|
+
- does the change preserve this package as an alias only
|
|
194
|
+
- is the canonical lab owner still explicit in docs and behavior
|
|
195
|
+
- would the same outcome remain correct if consumers imported the canonical
|
|
196
|
+
package directly
|
|
197
|
+
|
|
198
|
+
## Escalation route
|
|
199
|
+
|
|
200
|
+
- route lab behavior changes to `bijux-proteomics-lab`
|
|
201
|
+
- stop and review boundaries when package-local assay semantics start appearing
|
|
202
|
+
- escalate before release when routing or metadata drift could confuse the lab
|
|
203
|
+
owner
|
|
204
|
+
|
|
205
|
+
## Consumer impact signals
|
|
206
|
+
|
|
207
|
+
- import-path or package-name changes are high-impact because downstream
|
|
208
|
+
operational tooling may depend on them directly
|
|
209
|
+
- alias documentation changes should still be reviewed against the canonical
|
|
210
|
+
lab owner
|
|
211
|
+
- wording-only clarifications carry lower release risk than routing or behavior
|
|
212
|
+
changes
|
|
213
|
+
|
|
214
|
+
## Explicit non-goals
|
|
215
|
+
|
|
216
|
+
- this package does not own core scientific semantics
|
|
217
|
+
- this package does not create a second assay-planning or handoff owner
|
|
218
|
+
- this package does not replace the canonical lab release surface
|
|
219
|
+
|
|
220
|
+
## Documentation
|
|
221
|
+
|
|
222
|
+
- Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
|
|
223
|
+
package `docs/*.md` under the canonical lab owner surface.
|
|
224
|
+
- [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
|
|
225
|
+
- [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
|
|
226
|
+
- [Canonical lab package docs](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
227
|
+
- [Changelog](CHANGELOG.md)
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# proteomics-lab
|
|
2
|
+
|
|
3
|
+
<!-- bijux-proteomics-badges:generated:start -->
|
|
4
|
+
[](https://pypi.org/project/proteomics-lab/)
|
|
5
|
+
[-0A7BBB)](https://pypi.org/project/proteomics-lab/)
|
|
6
|
+
[](https://github.com/bijux/bijux-proteomics/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/bijux/bijux-proteomics/actions/workflows/verify.yml?query=branch%3Amain)
|
|
8
|
+
[](https://github.com/bijux/bijux-proteomics)
|
|
9
|
+
|
|
10
|
+
[](https://pypi.org/project/proteomics-lab/)
|
|
11
|
+
[](https://pypi.org/project/agentic-proteins/)
|
|
12
|
+
[](https://pypi.org/project/bijux-proteomics-foundation/)
|
|
13
|
+
[](https://pypi.org/project/bijux-proteomics-core/)
|
|
14
|
+
[](https://pypi.org/project/bijux-proteomics-runtime/)
|
|
15
|
+
[](https://pypi.org/project/bijux-proteomics-intelligence/)
|
|
16
|
+
[](https://pypi.org/project/bijux-proteomics-knowledge/)
|
|
17
|
+
[](https://pypi.org/project/bijux-proteomics-lab/)
|
|
18
|
+
|
|
19
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fagentic-proteins)
|
|
20
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-foundation)
|
|
21
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-core)
|
|
22
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-intelligence)
|
|
23
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-knowledge)
|
|
24
|
+
[](https://github.com/bijux/bijux-proteomics/pkgs/container/bijux-proteomics%2Fbijux-proteomics-lab)
|
|
25
|
+
|
|
26
|
+
[](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
27
|
+
[](https://bijux.io/bijux-proteomics/02-agentic-proteins/)
|
|
28
|
+
[](https://bijux.io/bijux-proteomics/03-bijux-proteomics-foundation/)
|
|
29
|
+
[](https://bijux.io/bijux-proteomics/04-bijux-proteomics-core/)
|
|
30
|
+
[](https://bijux.io/bijux-proteomics/09-bijux-proteomics-runtime/)
|
|
31
|
+
[](https://bijux.io/bijux-proteomics/05-bijux-proteomics-intelligence/)
|
|
32
|
+
[](https://bijux.io/bijux-proteomics/06-bijux-proteomics-knowledge/)
|
|
33
|
+
[](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
34
|
+
<!-- bijux-proteomics-badges:generated:end -->
|
|
35
|
+
|
|
36
|
+
`proteomics-lab` is the compatibility alias for the canonical lab owner
|
|
37
|
+
`bijux-proteomics-lab`.
|
|
38
|
+
It is the install and import alias for bijux-proteomics-lab.
|
|
39
|
+
|
|
40
|
+
Use this package when you want a shorter distribution and import name for assay
|
|
41
|
+
planning and handoff behavior without creating a second owner.
|
|
42
|
+
|
|
43
|
+
## Alias at a glance
|
|
44
|
+
|
|
45
|
+
- Use `proteomics-lab` when you want a shorter package name for assay
|
|
46
|
+
planning, readiness, and handoff entrypoints.
|
|
47
|
+
- Start with the
|
|
48
|
+
[canonical lab package docs](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
49
|
+
because this package only forwards into that owner surface.
|
|
50
|
+
- Route lab behavior to `bijux-proteomics-lab`; keep this package focused on
|
|
51
|
+
compatibility naming and import forwarding.
|
|
52
|
+
|
|
53
|
+
## 0.3.8 Release Highlights
|
|
54
|
+
|
|
55
|
+
- The alias now sends readers to the current lab handbook instead of sounding
|
|
56
|
+
like a second operational owner.
|
|
57
|
+
- Release guidance and compatibility wording now make the forwarding contract
|
|
58
|
+
explicit before a reader reaches the deeper sections.
|
|
59
|
+
|
|
60
|
+
## Installation
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pip install proteomics-lab
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Public APIs
|
|
67
|
+
|
|
68
|
+
The alias forwards the canonical lab planning surface through `proteomics_lab`:
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
from bijux_proteomics.domain.assays import AssayRequirement
|
|
72
|
+
from bijux_proteomics.domain.program_spec import create_program_spec
|
|
73
|
+
from bijux_proteomics.domain.reviews import ReviewGate
|
|
74
|
+
from proteomics_lab import build_advisory_assay_plan
|
|
75
|
+
|
|
76
|
+
program = create_program_spec(
|
|
77
|
+
program_id="prog-readme",
|
|
78
|
+
name="binder rescue",
|
|
79
|
+
objective="recover binding while preserving folding",
|
|
80
|
+
target_id="protein:p11111",
|
|
81
|
+
target_name="PTM1",
|
|
82
|
+
sequence="MPEPTIDEK",
|
|
83
|
+
organism="human",
|
|
84
|
+
mechanism="stabilize productive packing",
|
|
85
|
+
).model_copy(
|
|
86
|
+
update={
|
|
87
|
+
"assay_panel": [
|
|
88
|
+
AssayRequirement(
|
|
89
|
+
assay_id="primary-binding",
|
|
90
|
+
purpose="confirm target engagement",
|
|
91
|
+
readout="binding_score",
|
|
92
|
+
sample_kind="biophysical",
|
|
93
|
+
blocking=True,
|
|
94
|
+
)
|
|
95
|
+
],
|
|
96
|
+
"review_gates": [
|
|
97
|
+
ReviewGate(
|
|
98
|
+
gate_id="pre-synthesis",
|
|
99
|
+
name="Pre-synthesis review",
|
|
100
|
+
required_roles=["scientist"],
|
|
101
|
+
decision_inputs=["evidence_bundle"],
|
|
102
|
+
)
|
|
103
|
+
],
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
plan = build_advisory_assay_plan(program)
|
|
107
|
+
|
|
108
|
+
assert plan.program_id == "prog-readme"
|
|
109
|
+
assert plan.recommendations[0].assay_id == "primary-binding"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Package identity
|
|
113
|
+
|
|
114
|
+
- Distribution name: `proteomics-lab`
|
|
115
|
+
- Import root: `proteomics_lab`
|
|
116
|
+
- Canonical owner package: `bijux-proteomics-lab`
|
|
117
|
+
- Canonical owner import root: `bijux_proteomics_lab`
|
|
118
|
+
|
|
119
|
+
## Package boundaries
|
|
120
|
+
|
|
121
|
+
- this package owns compatibility naming for the lab surface
|
|
122
|
+
- assay planning, handoffs, and execution-adjacent lab policy remain owned by
|
|
123
|
+
`bijux-proteomics-lab`
|
|
124
|
+
- new lab behavior must land in the canonical owner before alias exports change
|
|
125
|
+
|
|
126
|
+
## What this package must not do
|
|
127
|
+
|
|
128
|
+
- define a second assay-planning or handoff owner
|
|
129
|
+
- drift away from canonical lab behavior
|
|
130
|
+
- become an independent release surface for lab semantics
|
|
131
|
+
|
|
132
|
+
## Contract checkpoints
|
|
133
|
+
|
|
134
|
+
- alias exports must keep forwarding to canonical lab behavior
|
|
135
|
+
- docs must keep the canonical lab owner explicit
|
|
136
|
+
- compatibility changes must stay covered by alias-package tests
|
|
137
|
+
|
|
138
|
+
## Choose this package when
|
|
139
|
+
|
|
140
|
+
- you need a shorter import and distribution name for lab entrypoints
|
|
141
|
+
- migration constraints prefer `proteomics_lab`
|
|
142
|
+
- packaging or compatibility work needs a named alias for the lab owner
|
|
143
|
+
|
|
144
|
+
## Route elsewhere when
|
|
145
|
+
|
|
146
|
+
- the change alters assay-planning, handoff, or lab-policy semantics
|
|
147
|
+
- the work adds behavior not already owned by the canonical package
|
|
148
|
+
- the alias would stop being forwarding-only
|
|
149
|
+
|
|
150
|
+
## Verification route
|
|
151
|
+
|
|
152
|
+
- run alias compatibility tests before changing lab imports or metadata
|
|
153
|
+
- review `docs/ARCHITECTURE.md`, `docs/BOUNDARIES.md`, and `docs/CONTRACTS.md`
|
|
154
|
+
when alias claims or routing language change
|
|
155
|
+
- validate the canonical lab README and tests when behavior changes are
|
|
156
|
+
proposed
|
|
157
|
+
|
|
158
|
+
## Review questions
|
|
159
|
+
|
|
160
|
+
- does the change preserve this package as an alias only
|
|
161
|
+
- is the canonical lab owner still explicit in docs and behavior
|
|
162
|
+
- would the same outcome remain correct if consumers imported the canonical
|
|
163
|
+
package directly
|
|
164
|
+
|
|
165
|
+
## Escalation route
|
|
166
|
+
|
|
167
|
+
- route lab behavior changes to `bijux-proteomics-lab`
|
|
168
|
+
- stop and review boundaries when package-local assay semantics start appearing
|
|
169
|
+
- escalate before release when routing or metadata drift could confuse the lab
|
|
170
|
+
owner
|
|
171
|
+
|
|
172
|
+
## Consumer impact signals
|
|
173
|
+
|
|
174
|
+
- import-path or package-name changes are high-impact because downstream
|
|
175
|
+
operational tooling may depend on them directly
|
|
176
|
+
- alias documentation changes should still be reviewed against the canonical
|
|
177
|
+
lab owner
|
|
178
|
+
- wording-only clarifications carry lower release risk than routing or behavior
|
|
179
|
+
changes
|
|
180
|
+
|
|
181
|
+
## Explicit non-goals
|
|
182
|
+
|
|
183
|
+
- this package does not own core scientific semantics
|
|
184
|
+
- this package does not create a second assay-planning or handoff owner
|
|
185
|
+
- this package does not replace the canonical lab release surface
|
|
186
|
+
|
|
187
|
+
## Documentation
|
|
188
|
+
|
|
189
|
+
- Release guidance lives in this `README.md`, this package `CHANGELOG.md`, and
|
|
190
|
+
package `docs/*.md` under the canonical lab owner surface.
|
|
191
|
+
- [Product architecture](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/product-architecture/)
|
|
192
|
+
- [Cross-package ownership](https://bijux.io/bijux-proteomics/01-bijux-proteomics/foundation/cross-package-ownership/)
|
|
193
|
+
- [Canonical lab package docs](https://bijux.io/bijux-proteomics/07-bijux-proteomics-lab/)
|
|
194
|
+
- [Changelog](CHANGELOG.md)
|
|
@@ -0,0 +1,60 @@
|
|
|
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-lab"
|
|
7
|
+
dynamic = ["version"]
|
|
8
|
+
description = "Install and import alias package for bijux-proteomics-lab."
|
|
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", "lab", "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-lab>=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/07-bijux-proteomics-lab/"
|
|
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-lab/CHANGELOG.md"
|
|
40
|
+
Security = "https://github.com/bijux/bijux-proteomics/blob/main/SECURITY.md"
|
|
41
|
+
|
|
42
|
+
[tool.hatch.version]
|
|
43
|
+
source = "vcs"
|
|
44
|
+
tag-pattern = "^v(?P<version>.*)$"
|
|
45
|
+
fallback-version = "0.3.8"
|
|
46
|
+
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 }
|
|
47
|
+
|
|
48
|
+
[tool.hatch.build]
|
|
49
|
+
include = [
|
|
50
|
+
"README.md",
|
|
51
|
+
"CHANGELOG.md",
|
|
52
|
+
"src/proteomics_lab/py.typed",
|
|
53
|
+
]
|
|
54
|
+
force-include = { "LICENSE" = "LICENSE", "NOTICE" = "NOTICE" }
|
|
55
|
+
|
|
56
|
+
[tool.hatch.build.targets.wheel]
|
|
57
|
+
packages = ["src/proteomics_lab"]
|
|
58
|
+
|
|
59
|
+
[tool.hatch.build.targets.wheel.package-data]
|
|
60
|
+
"proteomics_lab" = ["py.typed"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|