Skip to content

Clean up dependencies, + Update StochKv3 file for NEURON 9 compatibility#14

Open
darshanmandge wants to merge 1 commit into
mainfrom
refactor/split-dependencies-by-pipeline-step
Open

Clean up dependencies, + Update StochKv3 file for NEURON 9 compatibility#14
darshanmandge wants to merge 1 commit into
mainfrom
refactor/split-dependencies-by-pipeline-step

Conversation

@darshanmandge

Copy link
Copy Markdown
Collaborator

Restructure pyproject.toml so 'pip install bluepyemodel' gives a fully working local pipeline (extraction, optimisation, validation, export) without requiring any extras.

Core dependencies (always installed):

  • numpy, scipy, bluepyopt, bluepyefe, neurom, efel, neuron, morph_tool, morphio, fasteners, jinja2, h5py, matplotlib, currentscape

Optional extras:

  • [luigi]: luigi, luigi-tools (for Luigi workflow orchestration)
  • [nexus]: nexusforge, entity_management, pyJWT, pandas
  • [test]: pytest, dictdiffer
  • [docs]: sphinx, graphviz, etc.
  • [all]: everything above

Removed dead/unused core dependencies:

  • pyyaml, gitpython, tqdm, configparser (not imported anywhere)
  • ipyparallel (lazy import, moved to parallel)
  • pandas (only used in nexus access point, moved to [nexus])

Fixed forge_access_point import leak:

  • emodel_pipeline.py and tasks/config.py no longer import from forge_access_point.py (which requires jwt/nexusforge/entity_management)
  • DEFAULT_NEXUS_ENDPOINT is now defined locally where needed

NEURON 9 mechanism compatibility:

  • Updated StochKv3.mod with latest version from nbS1 OBI circuit models (BBCOREPOINTER, NRN_VERSION_GTEQ_8_2_0 guards, RANGE for thread safety)
  • Removed unused StochKv2.mod

@darshanmandge darshanmandge self-assigned this Jun 11, 2026
@darshanmandge darshanmandge requested a review from ilkilic June 11, 2026 07:10
ilkilic
ilkilic previously approved these changes Jun 11, 2026
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
bluepyemodel/tasks/config.py 0.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
bluepyemodel/emodel_pipeline/emodel_pipeline.py 41.66% <100.00%> (ø)
bluepyemodel/tasks/config.py 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread pyproject.toml
Comment on lines +58 to +61
"scipy>=1.16.1",
"neurom>=3.0",
"morph_tool>=2.8",
"morphio",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Are these needed for optimization?

Restructure pyproject.toml so 'pip install bluepyemodel' gives a fully
working local pipeline (extraction, optimisation, validation, export)
without requiring any extras.

Core dependencies (always installed):
- numpy, scipy, bluepyopt, bluepyefe, neurom, efel, neuron,
  morph_tool, morphio, fasteners, jinja2, h5py, matplotlib, currentscape

Optional extras:
- [parallel]: ipyparallel (for HPC parallel evaluation)
- [luigi]: luigi, luigi-tools (for Luigi workflow orchestration)
- [nexus]: nexusforge, entity_management, pyJWT, pandas
- [test]: pytest, dictdiffer
- [docs]: sphinx, graphviz, etc.
- [all]: everything above

Removed dead/unused core dependencies:
- pyyaml, gitpython, tqdm, configparser (not imported anywhere)
- ipyparallel (lazy import, moved to [parallel])
- pandas (only used in nexus access point, moved to [nexus])

Fixed forge_access_point import leak:
- emodel_pipeline.py and tasks/config.py no longer import from
  forge_access_point.py (which requires jwt/nexusforge/entity_management)
- DEFAULT_NEXUS_ENDPOINT is now defined locally where needed

NEURON 9 mechanism compatibility:
- Updated StochKv3.mod with latest version from nbS1 OBI circuit models
  (BBCOREPOINTER, NRN_VERSION_GTEQ_8_2_0 guards, RANGE for thread safety)
- Removed unused StochKv2.mod
@darshanmandge darshanmandge force-pushed the refactor/split-dependencies-by-pipeline-step branch from e4e544b to 5c2a09b Compare June 12, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants