Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
bfc2f6e
add: frontend plan
bibymaths Jun 10, 2026
4c042d8
add: frontend plan renamed
bibymaths Jun 10, 2026
b01db87
Standardize dashboard-ready output contract
bibymaths Jun 10, 2026
e08ad03
Add dashboard result browser
bibymaths Jun 10, 2026
5af71a2
Add dashboard CLI launcher
bibymaths Jun 10, 2026
9c0d76b
Add dashboard upload and configuration UI
bibymaths Jun 10, 2026
992d58d
Integrate workflow-specific dashboard panels
bibymaths Jun 10, 2026
fa8ba1b
Add dashboard tests and documentation
bibymaths Jun 10, 2026
b3234ec
Fix networkmodel custom config handling
bibymaths Jun 10, 2026
9565a25
Fix dashboard input extension validation
bibymaths Jun 10, 2026
5604439
Fix ProtWise custom config handling
bibymaths Jun 10, 2026
63fb6bb
Add dashboard user, developer, and troubleshooting guides
bibymaths Jun 11, 2026
9aafe61
Fix dashboard result discovery for reports and child runs
bibymaths Jun 11, 2026
95f1b82
Restrict dashboard config inputs to TOML
bibymaths Jun 11, 2026
b30ecc0
Serialize run metadata with JSON-safe arrays
bibymaths Jun 11, 2026
b1e65cb
Fix advanced analysis dashboard commands
bibymaths Jun 11, 2026
ac87e70
Merge pull request #67 from bibymaths/codex/standardize-dashboard-rea…
bibymaths Jun 11, 2026
3898b16
fixed: console display, posterior log, workflow testing for frontend
bibymaths Jun 11, 2026
4cced1f
fixed the frontend no code dashboard, testing networmodel and protwis…
bibymaths Jun 11, 2026
4a037b6
add backward alias for old pymooo results to display in legacy mode a…
bibymaths Jun 11, 2026
0a20779
fix: cached rhs in model ode solving, and forward simulation script
bibymaths Jun 11, 2026
519e9de
fix: formatting python code
bibymaths Jun 12, 2026
310a225
add: density plots for posterior with gaussian smoothing
bibymaths Jun 12, 2026
5140ccf
fix: directories path
bibymaths Jun 12, 2026
e2e3016
fix: posterior params conversion fix
bibymaths Jun 12, 2026
ab909f2
fix: network sweep and forward simulation
bibymaths Jun 12, 2026
25c635e
fixing: phosphosite dynamics 4th panel in forward simulation
bibymaths Jun 12, 2026
84a734a
Fix forward phosphosite ODE panel
bibymaths Jun 12, 2026
98769f7
Merge pull request #68 from bibymaths/codex/fix-phosphosite-state-dyn…
bibymaths Jun 12, 2026
70887de
fixed: phosphosite dynamics 4th panel in forward simulation & data fi…
bibymaths Jun 12, 2026
3ba6ab1
chore: update changelog and docs config file
bibymaths Jun 12, 2026
a845fec
add: memory issue fixing
bibymaths Jun 16, 2026
1cb05b3
Make combinatorial model memory safe
bibymaths Jun 16, 2026
bcc3213
Fix combinatorial S-rate export cache shape
bibymaths Jun 16, 2026
ca663d5
Merge pull request #69 from bibymaths/codex/implement-memory-safe-fix…
bibymaths Jun 16, 2026
0504c1f
fix: combinatorial model state phase explosion down to O(1) runtime, …
bibymaths Jun 16, 2026
b931c96
fix: ambiguity in model loading for forward simulation-KO/WT dashboard
bibymaths Jun 17, 2026
159063a
done: made a project presentation using the sample results.
bibymaths Jun 17, 2026
bb9c6c8
chore and fix: cleanup config file, fix mrna modality missing scenari…
bibymaths Jun 18, 2026
078c0c0
updated: changelog, organic testing, publishing workflow for github a…
bibymaths Jun 18, 2026
5a992a7
Defer ODE input validation until runtime
bibymaths Jun 18, 2026
a3724c9
Make imports safe with empty output paths
bibymaths Jun 18, 2026
9649ebe
Merge pull request #70 from bibymaths/codex/fix-import-time-issues-wi…
bibymaths Jun 18, 2026
33055da
add: coverage, update readme with workflow, extension planning for fu…
bibymaths Jun 18, 2026
cef449e
bump to v0.5.0
bibymaths Jun 18, 2026
490a294
updated changelog before PR and release v0.5.0
bibymaths Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 46 additions & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,58 @@
name: Publish to PyPI
name: Create GitHub Release

on:
release:
types: [ created ]
push:
tags:
- "v*"

permissions:
contents: write

jobs:
build-and-publish:
release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
- name: Set up Pixi
uses: prefix-dev/setup-pixi@v0.9.3
with:
python-version: '3.x'
pixi-version: latest
cache: true

- name: Install Pixi environment
run: pixi install

- name: Run tests
run: |
pixi run test || echo "No Pixi test task configured; skipping tests."

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Do not mask release test failures

In the tag-release workflow, this || echo makes the test step succeed for any non-zero pixi run test exit, including real pytest failures and the default-environment case where pytest is not installed. Because the archive and gh release create steps run unconditionally after this, a broken tag can still publish a GitHub release instead of stopping at the test gate.

Useful? React with 👍 / 👎.


- name: Create release archive
run: |
mkdir -p release_assets

git archive \
--format=tar.gz \
--prefix=phoskintime-${GITHUB_REF_NAME}/ \
-o release_assets/phoskintime-${GITHUB_REF_NAME}.tar.gz \
HEAD

- name: Install Poetry
- name: Copy reproducibility files
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.local/bin" >> $GITHUB_PATH
cp pixi.toml release_assets/
if [ -f pixi.lock ]; then cp pixi.lock release_assets/; fi
if [ -f README.md ]; then cp README.md release_assets/; fi
if [ -f LICENSE ]; then cp LICENSE release_assets/; fi
if [ -f CITATION.cff ]; then cp CITATION.cff release_assets/; fi
if [ -f .zenodo.json ]; then cp .zenodo.json release_assets/; fi

- name: Build and publish
- name: Create GitHub release and upload assets
env:
GH_TOKEN: ${{ github.token }}
run: |
poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }}
poetry publish --build
gh release create "$GITHUB_REF_NAME" \
release_assets/* \
--title "$GITHUB_REF_NAME" \
--generate-notes
38 changes: 23 additions & 15 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,34 @@ on:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
- name: Set up Pixi
uses: prefix-dev/setup-pixi@v0.9.6
with:
pixi-version: latest
cache: true

- name: Install dev environment
run: pixi install -e dev

- name: Run tests with coverage
run: pixi run -e dev coverage-all

- name: Upload coverage reports
uses: actions/upload-artifact@v4
if: always()
with:
python-version: "3.12"

- name: Install test and notebook dependencies
run: |
python -m pip install --upgrade pip
python -m pip install \
numpy pandas scipy scikit-learn statsmodels numba matplotlib seaborn plotly openpyxl xlsxwriter adjustText \
jax jaxopt diffrax numpyro networkx graphviz mygene tqdm python-dotenv typer jinja2 tomli SALib \
pytest pytest-cov nbmake ipykernel jupyter nbformat nbclient

- name: Run tests including educational notebooks
run: |
PYTHONPATH=.:.. pytest
name: coverage-reports
path: |
coverage.xml
docs/assets/coverage.svg
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,9 @@ site/
!/notebooks/outputs/
!/notebooks/outputs/*/
!/notebooks/outputs/*/.gitkeep

# Dashboard uploads and local archives
/dashboard_uploads/
*.zip
/results/
/.streamlit/
134 changes: 134 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,41 @@ All notable changes to this project are documented here.

- Workers in sensitivity simulations

- Equations in notebooks

- Console display, posterior log, workflow testing for frontend

- Fixed the frontend no code dashboard, testing networmodel and protwise done

- Cached rhs in model ode solving, and forward simulation script

- Formatting python code

- Directories path

- Posterior params conversion fix

- Network sweep and forward simulation

- Phosphosite dynamics 4th panel in forward simulation

- Phosphosite dynamics 4th panel in forward simulation & data fit inspector

- Combinatorial model state phase explosion down to O(1) runtime, no memory explosion in for loop, vectorized RHS for combinatorial model.

- Ambiguity in model loading for forward simulation-KO/WT dashboard



### Maintenance


- Add community, governance, citation, and repository-maintenance files

- Update changelog and docs config file

- Chore and fix: cleanup config file, fix mrna modality missing scenario, tested all scenarios, works!



### Other
Expand Down Expand Up @@ -594,6 +622,110 @@ Migrate networkmodel scalar path to JAX/Diffrax/JAXopt and update docs/CLI

- Figures dpi set to 300

- Update changelog and documentation

- Update README.md

- Add notebook readiness tests across modules

- Revert KinOpt and TFOpt notebook refactor

- Validate networkmodel slice layouts exactly

- Merge pull request #63 from bibymaths/codex/fix-failing-tests-and-increase-coverage

Introduce notebook-safe projected finite-difference optimizers, lightweight LinearConstraint, tests and docs updates

- Added coverage badge, fixed slice bounds tests, removed old pypi README.md

- Dead scripts for thermal extension

- Add executable educational notebooks

- Add SALib to CI test dependencies

- Merge pull request #64 from bibymaths/codex/create-educational-jupyter-notebooks-for-modules

Add executable educational notebooks and CI/tests for KinOpt, TFOpt, protwise, and networkmodel

- Pixi and README.md

- Merge pull request #65 from bibymaths/missing-data-scenarios

Missing data scenarios

- Frontend plan

- Frontend plan renamed

- Standardize dashboard-ready output contract

- Add dashboard result browser

- Add dashboard CLI launcher

- Add dashboard upload and configuration UI

- Integrate workflow-specific dashboard panels

- Add dashboard tests and documentation

- Fix networkmodel custom config handling

- Fix dashboard input extension validation

- Fix ProtWise custom config handling

- Add dashboard user, developer, and troubleshooting guides

- Fix dashboard result discovery for reports and child runs

- Restrict dashboard config inputs to TOML

- Serialize run metadata with JSON-safe arrays

- Fix advanced analysis dashboard commands

- Merge pull request #67 from bibymaths/codex/standardize-dashboard-ready-output-contract

Standardize dashboard-ready output contract

- Add backward alias for old pymooo results to display in legacy mode and added imageio and gravis libs, module levelling for scripts

- Density plots for posterior with gaussian smoothing

- Fix forward phosphosite ODE panel

- Merge pull request #68 from bibymaths/codex/fix-phosphosite-state-dynamics-panel

Fix forward phosphosite ODE panel

- Memory issue fixing

- Make combinatorial model memory safe

- Fix combinatorial S-rate export cache shape

- Merge pull request #69 from bibymaths/codex/implement-memory-safe-fixes-for-combinatorial-model

Make combinatorial model memory safe

- Made a project presentation using the sample results.

- Changelog, organic testing, publishing workflow for github and zenodo

- Defer ODE input validation until runtime

- Make imports safe with empty output paths

- Merge pull request #70 from bibymaths/codex/fix-import-time-issues-with-empty-config.toml

Defer ODE input validation until ProtWise runtime

- Coverage, update readme with workflow, extension planning for future

- Bump to v0.5.0



### Tests
Expand All @@ -605,6 +737,8 @@ Migrate networkmodel scalar path to JAX/Diffrax/JAXopt and update docs/CLI

- Testing network model with posterior sampling, removed history video

- Notebooks are working


## [0.4.0] - 2025-05-06

Expand Down
Loading
Loading