Skip to content

fix: Python 3.13 and 3.14 compatibility, arbor 0.12, and MPI fixes - #249

Merged
filimarc merged 13 commits into
nextfrom
update_314
Jul 31, 2026
Merged

fix: Python 3.13 and 3.14 compatibility, arbor 0.12, and MPI fixes#249
filimarc merged 13 commits into
nextfrom
update_314

Conversation

@filimarc

@filimarc filimarc commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove deprecated @classmethod @property chaining in arborize (removed in Python 3.13+), replaced with plain class attributes
  • Fix MPI comm API in MockedWindowController (Get_size/Get_rank for real comms vs get_size/get_rank for mock)
  • Fix __annotations__ access in bsb/__init__.py to go through sys.modules to avoid NameError under some import orderings
  • Unpin arbor to ~=0.12 and fix arborize test for mech.values list-of-tuples API change
  • Update CI Python version matrix: minimum 3.10 → 3.11, maximum 3.11 → 3.14
  • Add project-level CLAUDE.md under .claude/

This PR closes

Closes #233
Closes #231

Test plan

  • bsb-core simulation tests pass (11/11)
  • bsb-arbor tests pass with arbor 0.12.2 (2/2)
  • arborize tests pass with arbor 0.12.2 (32/32)
  • CI passes on Python 3.11 and 3.14

🤖 Generated with Claude Code


📚 Documentation preview 📚: https://bsb-hdf5--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://nmodl-glia--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://arborize--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://bsb-otel--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://bsb-core--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://bsb-arbor--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://nrn-patch--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://bsb--249.org.readthedocs.build/en/249/


📚 Documentation preview 📚: https://bsb-neuron--249.org.readthedocs.build/en/249/

filimarc and others added 7 commits June 17, 2026 10:18
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… API

- Replace @classmethod @Property combos in arborize with plain class
  attributes (chaining was deprecated in Python 3.11, removed in 3.13)
- Fix MockedWindowController to use Get_size/Get_rank for real MPI comms
  vs get_size/get_rank for the mock MPI module
- Fix __annotations__ access in bsb/__init__.py to go through sys.modules
  to avoid NameError under some import orderings
- Add root CLAUDE.md with project guidance for AI agents

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added the fix label Jun 17, 2026
@filimarc filimarc changed the title fix: Python 3.11+ compat, arbor 0.12, and MPI fixes fix: Python 3.13 and 3.14 compatibility, arbor 0.12, and MPI fixes Jun 17, 2026
filimarc and others added 2 commits June 17, 2026 12:36
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 80.97%. Comparing base (06cab36) to head (8f4bc31).

Files with missing lines Patch % Lines
packages/bsb-core/bsb/__init__.py 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             next     #249      +/-   ##
==========================================
- Coverage   82.81%   80.97%   -1.85%     
==========================================
  Files         164      179      +15     
  Lines       16778    18214    +1436     
  Branches     1983     2192     +209     
==========================================
+ Hits        13895    14749     +854     
- Misses       2402     2895     +493     
- Partials      481      570      +89     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@filimarc
filimarc requested a review from drodarie July 30, 2026 10:47
Comment thread packages/bsb-core/bsb/services/mpilock.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011tH4Y8iq2GgTAKi7LVj4by
@filimarc
filimarc merged commit c0b1cae into next Jul 31, 2026
36 checks passed
@filimarc
filimarc deleted the update_314 branch July 31, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compatibility with python 3.14 bsb-arbor, nmodl-glia and arborize tests are failing with arbor=0.12+

2 participants