diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6ecc09f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +* text=auto eol=lf +*.cu text eol=lf +*.py text eol=lf +*.md text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf \ No newline at end of file diff --git a/.github/workflows/CI-daily.yml b/.github/workflows/CI-daily.yml deleted file mode 100644 index 38cd716..0000000 --- a/.github/workflows/CI-daily.yml +++ /dev/null @@ -1,70 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - -name: Continuous Integration - -on: - schedule: - # Runs 'at 00:00 on every day' UTC time. - # You can adjust the time. Use cron syntax (minute hour day month day-of-week). - # See: https://crontab.guru for help with cron syntax. - # Example: '0 3 * * *' runs at 3:00 AM UTC daily. - - cron: '0 0 * * *' - - # OPTIONAL: Add other triggers if you want tests to run more often - # For example, run on pushes and pull requests to the main branch: - # push: - # branches: [ main ] - # pull_request: - # branches: [ main ] - - # OPTIONAL: Allow manual triggering from the Actions tab - workflow_dispatch: - - -permissions: - contents: read # to fetch code - actions: write # to cancel previous workflows - -# This is what will cancel the workflow -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - test_linux: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: ["3.13"] - jax-version: ["0.7.1", "0.8.0", ""] - - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.13.1 - with: - access_token: ${{ github.token }} - - uses: actions/checkout@v6 - - name: Print concurrency group - run: echo '${{ github.workflow }}-${{ github.ref }}' - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip cache purge - python -m pip install --upgrade pip setuptools - python -m pip install -r requirements.txt - python -m pip install pytest - if [ "${{ matrix.jax-version }}" == "" ]; then - python -m pip install jax || exit 1 - else - python -m pip install jax==${{ matrix.jax-version }} || exit 1 - fi - python -m pip install . || exit 1 - - name: Test with pytest - run: | - pytest BrainX/ - diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index addeb34..035d887 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,4 +1,6 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# This workflow installs Python dependencies and runs the test suite across +# operating systems on every push/PR, and additionally runs a JAX-version +# compatibility matrix on a daily schedule. # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Continuous Integration @@ -8,34 +10,36 @@ on: branches: - main pull_request: + schedule: + # Runs at 00:00 UTC every day. See https://crontab.guru for cron syntax. + - cron: '0 0 * * *' + workflow_dispatch: permissions: contents: read # to fetch code actions: write # to cancel previous workflows -# This is what will cancel the workflow +# Cancel in-progress runs for the same ref concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - test_linux: - runs-on: ubuntu-latest + # Cross-platform test suite on push, pull request, and manual runs. + test: + if: github.event_name != 'schedule' + name: Test (${{ matrix.os }}, Python ${{ matrix.python-version }}) + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ ubuntu-latest, macos-latest, windows-latest ] python-version: [ "3.13" ] steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.13.1 - with: - access_token: ${{ github.token }} - uses: actions/checkout@v6 - - name: Print concurrency group - run: echo '${{ github.workflow }}-${{ github.ref }}' - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: @@ -43,30 +47,27 @@ jobs: - name: Install dependencies run: | python -m pip cache purge - python -m pip install --upgrade pip setuptools --no-cache-dir - python -m pip install -r requirements.txt --no-cache-dir - python -m pip install pytest --no-cache-dir - pip install . --no-cache-dir + python -m pip install --upgrade pip setuptools --no-cache-dir + python -m pip install -r requirements.txt --no-cache-dir + python -m pip install pytest --no-cache-dir + python -m pip install . --no-cache-dir - name: Test with pytest run: | pytest BrainX/ - - test_macos: - runs-on: macos-latest + # Daily / manual JAX-version compatibility matrix on Linux. + test_jax_compatibility: + if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' + name: JAX compat (jax ${{ matrix.jax-version || 'latest' }}) + runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: [ "3.13" ] + jax-version: [ "0.7.1", "0.8.0", "0.9.0", "" ] steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.13.1 - with: - access_token: ${{ github.token }} - uses: actions/checkout@v6 - - name: Print concurrency group - run: echo '${{ github.workflow }}-${{ github.ref }}' - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: @@ -74,42 +75,15 @@ jobs: - name: Install dependencies run: | python -m pip cache purge - python -m pip install --upgrade pip setuptools --no-cache-dir - python -m pip install -r requirements.txt --no-cache-dir - python -m pip install pytest --no-cache-dir - pip install . --no-cache-dir + python -m pip install --upgrade pip setuptools + python -m pip install -r requirements.txt + python -m pip install pytest + if [ "${{ matrix.jax-version }}" == "" ]; then + python -m pip install jax || exit 1 + else + python -m pip install jax==${{ matrix.jax-version }} || exit 1 + fi + python -m pip install . || exit 1 - name: Test with pytest run: | pytest BrainX/ - - - test_windows: - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - python-version: [ "3.13" ] - - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.13.1 - with: - access_token: ${{ github.token }} - - uses: actions/checkout@v6 - - name: Print concurrency group - run: echo '${{ github.workflow }}-${{ github.ref }}' - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip cache purge - python -m pip install --upgrade pip setuptools --no-cache-dir - python -m pip install -r requirements.txt --no-cache-dir - python -m pip install pytest --no-cache-dir - pip install . --no-cache-dir - - name: Test with pytest - run: | - pytest BrainX/ - diff --git a/.github/workflows/Publish.yml b/.github/workflows/Publish.yml index 1dd255a..2598cfd 100644 --- a/.github/workflows/Publish.yml +++ b/.github/workflows/Publish.yml @@ -25,7 +25,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.12' + python-version: '3.13' - name: Install build tooling run: | diff --git a/.readthedocs.yml b/.readthedocs.yml index 9694f96..dc132e3 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -6,9 +6,9 @@ version: 2 build: - os: "ubuntu-20.04" + os: "ubuntu-24.04" tools: - python: "3.12" + python: "3.14" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/BrainX/__init__.py b/BrainX/__init__.py index 264a80f..7166ecc 100644 --- a/BrainX/__init__.py +++ b/BrainX/__init__.py @@ -16,5 +16,5 @@ # -*- coding: utf-8 -*- -__version__ = "2026.3.12" +__version__ = "2026.6.8" __version_info__ = tuple(map(int, __version__.split("."))) diff --git a/BrainX/py.typed b/BrainX/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b32a86..a26b6df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,58 @@ +## v2026.6.8 + +This release ships inline type information (PEP 561), consolidates the continuous +integration workflows, completes the repository rename to `brainx`, and refreshes +the pinned component versions. + +- **Package Dependencies:** + - [`jax<=0.10.1,>=0.6.0`](https://pypi.org/project/jax/) ↗️ (raised upper bound) + - [`brainpy==2.7.8`](https://pypi.org/project/brainpy/2.7.8/) ↗️ + - [`brainunit==0.3.2`](https://pypi.org/project/brainunit/0.3.2/) ↗️ + - [`brainstate==0.4.0`](https://pypi.org/project/brainstate/0.4.0/) ↗️ + - [`brainevent==0.1.0`](https://pypi.org/project/brainevent/0.1.0/) ↗️ + - [`braintools==0.1.9`](https://pypi.org/project/braintools/0.1.9/) ↗️ + - [`braintrace==0.2.0`](https://pypi.org/project/braintrace/0.2.0/) ↗️ + - [`braincell==0.0.8`](https://pypi.org/project/braincell/0.0.8/) + - [`brainpy-state==0.0.4`](https://pypi.org/project/brainpy-state/0.0.4/) + - [`brainmass==0.0.5`](https://pypi.org/project/brainmass/0.0.5/) + - [`pinnx==0.0.3`](https://pypi.org/project/pinnx/0.0.3/) + +- **Typing:** + - Added a [PEP 561](https://peps.python.org/pep-0561/) `py.typed` marker so that + downstream type checkers (mypy, pyright) treat `BrainX` as a typed package + - Declared `py.typed` as package data in `pyproject.toml` so it ships in the wheel + +- **Continuous Integration:** + - Merged the push/pull-request workflow and the scheduled workflow into a single + `CI.yml` + - The cross-platform test suite (Linux, macOS, Windows) runs on push, pull + request, and manual dispatch + - A JAX-version compatibility matrix (`0.7.1`, `0.8.0`, `0.9.0`, and latest) runs + on a daily schedule and on manual dispatch + +- **Repository:** + - Renamed the GitHub repository from `brain-modeling-ecosystem` to `brainx`; + updated all source, documentation, and packaging URLs accordingly + +- **Documentation:** + - Corrected the "Open in Colab/Kaggle" badges in every example notebook to target + their actual paths on the `main` branch + - Replaced the logo and favicon with hosted WebP assets and removed the bundled + 3.5 MB `plotly.js` + - Removed unused static assets (legacy PWA manifest, service worker, and stale + images) + +- **README:** + - Fixed the BrainTrace link, which previously pointed at the renamed `brainscale` + repository + - Added PINNx to the list of ecosystem components + - Replaced the broken Read the Docs badge with Documentation and License badges + + + ## v2026.3.12 This release updates package dependencies and drops Python 3.10 support. diff --git a/README.md b/README.md index 6d98936..ca89bfe 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,18 @@ # Brain Simulation Ecosystem (BrainX) [![PyPI version](https://img.shields.io/pypi/v/brainx)](https://pypi.org/project/brainx/) -![Read the Docs](https://img.shields.io/readthedocs/brainmodeling) -[![Continuous Integration](https://github.com/chaobrain/brain-modeling-ecosystem/actions/workflows/CI.yml/badge.svg)](https://github.com/chaobrain/brain-modeling-ecosystem/actions/workflows/CI.yml) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/chaobrain/brainx/blob/main/LICENSE) +[![Documentation](https://img.shields.io/badge/docs-brainx.chaobrain.com-blue)](https://brainx.chaobrain.com) +[![Continuous Integration](https://github.com/chaobrain/brainx/actions/workflows/CI.yml/badge.svg)](https://github.com/chaobrain/brainx/actions/workflows/CI.yml)

- Header image of Brain Modeling Ecosystem. + Header image of Brain Modeling Ecosystem.

## Overview -The BrainX ecosystem provides comprehensive framework for brain simulation and modeling. +The BrainX ecosystem provides a comprehensive framework for brain simulation and modeling. It provides tools and libraries for researchers to model, simulate, train, and analyze neural systems at different scales. @@ -36,12 +37,14 @@ scales. - [BrainEvent](https://github.com/chaobrain/brainevent): Enabling event-driven computations in brain dynamics. -- [BrainTrace](https://github.com/chaobrain/brainscale): Enabling scalable online learning for brain dynamics: $O(N)$ - complexity for SNNs, and $O(N^2)$ for RNN computations. +- [BrainTrace](https://github.com/chaobrain/braintrace): Eligibility trace-based online learning for brain dynamics: + $O(N)$ complexity for SNNs and $O(N^2)$ for RNN computations. - [BrainTools](https://github.com/chaobrain/braintools): Commonly used tools for brain dynamics programming, for example checkpointing. +- [PINNx](https://github.com/chaobrain/pinnx): Physics-informed neural networks for scientific machine learning in JAX. + - More components may be added in the future. ## Installation @@ -78,8 +81,8 @@ pip install BrainX[tpu] -U For development, you might want to clone the repository and install it in editable mode: ```bash -git clone https://github.com/chaobrain/brain-modeling-ecosystem.git -cd brain-modeling-ecosystem +git clone https://github.com/chaobrain/brainx.git +cd brainx pip install -e . ``` @@ -100,15 +103,15 @@ This project is licensed under the Apache License, Version 2.0. See the [LICENSE ## Citation If you use the BrainX Ecosystem in your research, please cite it appropriately. Refer to -the [citation guide](https://brainx.chaobrain.com/citation.html) on our documentation portal. +the [citation guide](https://brainx.chaobrain.com/research/papers-about-brainx/) on our documentation portal. ## Support If you have questions, encounter issues, or need support, please: * Check the [documentation](https://brainx.chaobrain.com). -* Search the [existing issues](https://github.com/chaobrain/brain-modeling-ecosystem/issues). -* [Open a new issue](https://github.com/chaobrain/brain-modeling-ecosystem/issues/new/choose) if your problem is not +* Search the [existing issues](https://github.com/chaobrain/brainx/issues). +* [Open a new issue](https://github.com/chaobrain/brainx/issues/new/choose) if your problem is not addressed. * Contact us via email: `chao.brain@qq.com`. diff --git a/SECURITY.md b/SECURITY.md index 3bc6614..5d3c6e5 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,7 +2,7 @@ ## Reporting a bug in Brain Modeling Ecosystem -Report security bugs in BrainPy via [Github Issue](https://github.com/chaobrain/brainmodeling/issues). +Report security bugs in BrainPy via [Github Issue](https://github.com/chaobrain/brainx/issues). Normally your report will be acknowledged within 5 days, and you'll receive a more detailed response to your report within 10 days indicating the next steps in handling your submission. These timelines diff --git a/docs/_static/bdp-ecosystem.png b/docs/_static/bdp-ecosystem.png deleted file mode 100644 index 8dfcf64..0000000 Binary files a/docs/_static/bdp-ecosystem.png and /dev/null differ diff --git a/docs/_static/book.png b/docs/_static/book.png deleted file mode 100644 index ef69a5e..0000000 Binary files a/docs/_static/book.png and /dev/null differ diff --git a/docs/_static/js/service-worker.js b/docs/_static/js/service-worker.js deleted file mode 100644 index 2e43016..0000000 --- a/docs/_static/js/service-worker.js +++ /dev/null @@ -1,49 +0,0 @@ -const CACHE_NAME = 'brain-ecosystem-v1'; -const urlsToCache = [ - './ecosystem.html', - './_static/bdp-ecosystem.png', - './_static/brainmass.png', - './_static/brainevent.png' -]; - -// Install event - cache resources -self.addEventListener('install', event => { - event.waitUntil( - caches.open(CACHE_NAME) - .then(cache => { - console.log('Opened cache'); - return cache.addAll(urlsToCache); - }) - ); -}); - -// Fetch event - serve from cache, fallback to network -self.addEventListener('fetch', event => { - event.respondWith( - caches.match(event.request) - .then(response => { - // Cache hit - return response - if (response) { - return response; - } - return fetch(event.request); - } - ) - ); -}); - -// Activate event - clean up old caches -self.addEventListener('activate', event => { - const cacheWhitelist = [CACHE_NAME]; - event.waitUntil( - caches.keys().then(cacheNames => { - return Promise.all( - cacheNames.map(cacheName => { - if (cacheWhitelist.indexOf(cacheName) === -1) { - return caches.delete(cacheName); - } - }) - ); - }) - ); -}); diff --git a/docs/_static/manifest.json b/docs/_static/manifest.json deleted file mode 100644 index e44f0ca..0000000 --- a/docs/_static/manifest.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "Brain Simulation Ecosystem", - "short_name": "Brain Ecosystem", - "description": "Differentiable, flexible, and extensible ecosystem for large-scale brain simulation", - "start_url": "./ecosystem.html", - "display": "standalone", - "background_color": "#f8f9fa", - "theme_color": "#667eea", - "orientation": "portrait-primary", - "icons": [ - { - "src": "./_static/bdp-ecosystem.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "./_static/bdp-ecosystem.png", - "sizes": "512x512", - "type": "image/png" - } - ] -} diff --git a/docs/basics/brainstate_alignpre_aignpost.ipynb b/docs/basics/brainstate_alignpre_aignpost.ipynb index 660e74c..bd0379a 100644 --- a/docs/basics/brainstate_alignpre_aignpost.ipynb +++ b/docs/basics/brainstate_alignpre_aignpost.ipynb @@ -8,8 +8,8 @@ "source": [ "# AlignPre and AlignPost projections in ``brainstate``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_alignpre_aignpost.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_alignpre_aignpost.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/basics/brainstate_alignpre_aignpost.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/basics/brainstate_alignpre_aignpost.ipynb)" ], "id": "899460675191986d" } diff --git a/docs/basics/brainstate_transformations.ipynb b/docs/basics/brainstate_transformations.ipynb index eeff922..cbf6fb4 100644 --- a/docs/basics/brainstate_transformations.ipynb +++ b/docs/basics/brainstate_transformations.ipynb @@ -7,8 +7,8 @@ "source": [ "# State-based transformations with ``brainstate``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainstate_transformations.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainstate_transformations.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/basics/brainstate_transformations.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/basics/brainstate_transformations.ipynb)\n", "\n", "Welcome! This tutorial introduces **state-based transformations** in `brainstate`, powerful tools that enable efficient simulation and compilation of brain models. You'll learn:\n", "\n", diff --git a/docs/basics/brainunit_unit_aware_computations.ipynb b/docs/basics/brainunit_unit_aware_computations.ipynb index 12048c0..a31a9cb 100644 --- a/docs/basics/brainunit_unit_aware_computations.ipynb +++ b/docs/basics/brainunit_unit_aware_computations.ipynb @@ -7,8 +7,8 @@ "source": [ "# Unit-aware computations with ``brainunit``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/basics/brainunit_unit_aware_computations.ipynb)\n", "\n", "Welcome! This tutorial introduces ``brainunit``, the physical units and unit-aware mathematical system in the BrainX ecosystem." ] diff --git a/docs/conf.py b/docs/conf.py index ba64b11..3b1f157 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,164 +1,164 @@ -# Copyright 2024 Brain Simulation Ecosystem Limited. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================== - -import os -import sys -import shutil - -sys.path.insert(0, os.path.abspath('../')) -sys.path.insert(0, os.path.abspath('./')) - -shutil.copy('../CHANGELOG.md', './CHANGELOG.md') - -# Configuration file for the Sphinx documentation builder. -# -# This file only contains a selection of the most common options. For a full -# a_list see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html - -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# - -# -- Project information ----------------------------------------------------- - -project = 'BrainX Ecosystem' -copyright = '2024, BrainX Ecosystem' -author = 'BrainX Developers' - -import BrainX - -# The full version, including alpha/beta/rc tags -release = BrainX.__version__ - -from fix_ipython import fix_ipython2_lexer_in_notebooks - -fix_ipython2_lexer_in_notebooks(os.path.dirname(os.path.abspath(__file__))) - -# -- General configuration --------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.autosummary', - 'sphinx.ext.intersphinx', - 'sphinx.ext.mathjax', - 'sphinx.ext.napoleon', - 'sphinx.ext.viewcode', - 'sphinx_autodoc_typehints', - 'myst_nb', - 'sphinx_thebe', - 'sphinx_design', - 'sphinx_copybutton', - 'nbsphinx', - 'brainx_sphinx_header', -] -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] -source_suffix = ['.rst', '.ipynb', '.md'] - -# source_suffix = '.rst' -autosummary_generate = True - -# The master toctree document. -master_doc = 'index' - -intersphinx_mapping = { - "python": ("https://docs.python.org/3.13", None), - "sphinx": ("https://www.sphinx-doc.org/en/master", None), -} -nitpick_ignore = [ - ("py:class", "docutils.nodes.document"), - ("py:class", "docutils.parsers.rst.directives.body.Sidebar"), -] - -suppress_warnings = [ - "myst.domains", - "ref.ref", -] - -numfig = True - -myst_enable_extensions = [ - "dollarmath", - "amsmath", - "deflist", - "colon_fence", -] -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [ - '_build', - 'Thumbs.db', - '.DS_Store', - '_build', - '**.ipynb_checkpoints', - 'jupyter_execute/**', # 排除 jupyter_execute 目录 -] - -html_theme = "sphinx_book_theme" -html_logo = "https://brainx.chaobrain.com/images/brainx-ecosystem.webp" -html_title = "Brain Modeling Ecosystem" -html_copy_source = True -html_sourcelink_suffix = "" -html_favicon = "https://brainx.chaobrain.com/images/brainx-ecosystem.webp" -html_last_updated_fmt = "" -html_baseurl = "https://brainx.chaobrain.com/summ/" - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] - -# The BrainX brand header is provided by the `brainx_sphinx_header` extension -# (added to `extensions` above). It fetches header.html/css from -# https://brainx.chaobrain.com/shared-header, emits them under _static/, and -# registers them automatically. Override defaults here if needed: -# brainx_header_url = "https://brainx.chaobrain.com/shared-header" -# brainx_header_ttl = 3600 -# brainx_header_offline = False -# brainx_header_local = None - - -# jupyter_execute_notebooks = "off" -nb_execution_mode = "off" - -thebe_config = { - "repository_url": "https://github.com/binder-examples/jupyter-stacks-datascience", - "repository_branch": "master", -} - -html_theme_options = { - 'show_toc_level': 2, - 'repository_url': 'https://github.com/chaobrain/brain-modeling-ecosystem', # 添加GitHub链接 - 'use_repository_button': True, # 显示GitHub按钮 -} - -# -- Options for myst ---------------------------------------------- -# Notebook cell execution timeout; defaults to 30. -nb_execution_timeout = 200 - -autodoc_default_options = { - 'exclude-members': '....,default_rng', -} +# Copyright 2024 Brain Simulation Ecosystem Limited. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +import os +import sys +import shutil + +sys.path.insert(0, os.path.abspath('../')) +sys.path.insert(0, os.path.abspath('./')) + +shutil.copy('../CHANGELOG.md', './CHANGELOG.md') + +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# a_list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# + +# -- Project information ----------------------------------------------------- + +project = 'BrainX Ecosystem' +copyright = '2024, BrainX Ecosystem' +author = 'BrainX Developers' + +import BrainX + +# The full version, including alpha/beta/rc tags +release = BrainX.__version__ + +from fix_ipython import fix_ipython2_lexer_in_notebooks + +fix_ipython2_lexer_in_notebooks(os.path.dirname(os.path.abspath(__file__))) + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.intersphinx', + 'sphinx.ext.mathjax', + 'sphinx.ext.napoleon', + 'sphinx.ext.viewcode', + 'sphinx_autodoc_typehints', + 'myst_nb', + 'sphinx_thebe', + 'sphinx_design', + 'sphinx_copybutton', + 'nbsphinx', + 'brainx_sphinx_header', +] +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] +source_suffix = ['.rst', '.ipynb', '.md'] + +# source_suffix = '.rst' +autosummary_generate = True + +# The master toctree document. +master_doc = 'index' + +intersphinx_mapping = { + "python": ("https://docs.python.org/3.13", None), + "sphinx": ("https://www.sphinx-doc.org/en/master", None), +} +nitpick_ignore = [ + ("py:class", "docutils.nodes.document"), + ("py:class", "docutils.parsers.rst.directives.body.Sidebar"), +] + +suppress_warnings = [ + "myst.domains", + "ref.ref", +] + +numfig = True + +myst_enable_extensions = [ + "dollarmath", + "amsmath", + "deflist", + "colon_fence", +] +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [ + '_build', + 'Thumbs.db', + '.DS_Store', + '_build', + '**.ipynb_checkpoints', + 'jupyter_execute/**', # 排除 jupyter_execute 目录 +] + +html_theme = "sphinx_book_theme" +html_logo = "https://brainx.chaobrain.com/images/brainx-ecosystem.webp" +html_title = "Brain Modeling Ecosystem" +html_copy_source = True +html_sourcelink_suffix = "" +html_favicon = "https://brainx.chaobrain.com/images/brainx-ecosystem.webp" +html_last_updated_fmt = "" +html_baseurl = "https://brainx.chaobrain.com/summ/" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + +# The BrainX brand header is provided by the `brainx_sphinx_header` extension +# (added to `extensions` above). It fetches header.html/css from +# https://brainx.chaobrain.com/shared-header, emits them under _static/, and +# registers them automatically. Override defaults here if needed: +# brainx_header_url = "https://brainx.chaobrain.com/shared-header" +# brainx_header_ttl = 3600 +# brainx_header_offline = False +# brainx_header_local = None + + +# jupyter_execute_notebooks = "off" +nb_execution_mode = "off" + +thebe_config = { + "repository_url": "https://github.com/binder-examples/jupyter-stacks-datascience", + "repository_branch": "master", +} + +html_theme_options = { + 'show_toc_level': 2, + 'repository_url': 'https://github.com/chaobrain/brainx', # 添加GitHub链接 + 'use_repository_button': True, # 显示GitHub按钮 +} + +# -- Options for myst ---------------------------------------------- +# Notebook cell execution timeout; defaults to 30. +nb_execution_timeout = 200 + +autodoc_default_options = { + 'exclude-members': '....,default_rng', +} diff --git a/docs/getting_started/braincell_HH_EI_network-zh.ipynb b/docs/getting_started/braincell_HH_EI_network-zh.ipynb index 49afc68..fe09ecc 100644 --- a/docs/getting_started/braincell_HH_EI_network-zh.ipynb +++ b/docs/getting_started/braincell_HH_EI_network-zh.ipynb @@ -7,8 +7,8 @@ "source": [ "# 使用 `braincell` 对 Hodgkin-Huxley 型 E-I 网络进行仿真\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_EI_network-zh.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_EI_network-zh.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_EI_network-zh.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_EI_network-zh.ipynb)" ] }, { diff --git a/docs/getting_started/braincell_HH_EI_network.ipynb b/docs/getting_started/braincell_HH_EI_network.ipynb index 49c9642..b0daff1 100644 --- a/docs/getting_started/braincell_HH_EI_network.ipynb +++ b/docs/getting_started/braincell_HH_EI_network.ipynb @@ -9,8 +9,8 @@ "source": [ "# Simulating excitatory-inhibitory Hodgkin-Huxley neuron networks using ``braincell``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_EI_network.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_EI_network.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_EI_network.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_EI_network.ipynb)" ] }, { diff --git a/docs/getting_started/braincell_HH_neuron-zh.ipynb b/docs/getting_started/braincell_HH_neuron-zh.ipynb index 53dfb4d..90b86ce 100644 --- a/docs/getting_started/braincell_HH_neuron-zh.ipynb +++ b/docs/getting_started/braincell_HH_neuron-zh.ipynb @@ -7,8 +7,8 @@ "source": [ "# 使用 `braincell` 对 Hodgkin-Huxley 神经元仿真\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_neuron-zh.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_neuron-zh.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_neuron-zh.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_neuron-zh.ipynb)\n", "\n", "本节介绍使用 `braincell` 对 Hodgkin-Huxley 神经元仿真。" ] diff --git a/docs/getting_started/braincell_HH_neuron.ipynb b/docs/getting_started/braincell_HH_neuron.ipynb index c8a4fcc..cfccb7c 100644 --- a/docs/getting_started/braincell_HH_neuron.ipynb +++ b/docs/getting_started/braincell_HH_neuron.ipynb @@ -9,8 +9,8 @@ "source": [ "# Simulating a Hodgkin–Huxley neuron with ``braincell``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_neuron.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_neuron.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_neuron.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/braincell_HH_neuron.ipynb)\n", "\n", "This section introduces how to simulate Hodgkin-Huxley neurons using `braincell`." ] diff --git a/docs/getting_started/braincell_morphological_golgi_cell.ipynb b/docs/getting_started/braincell_morphological_golgi_cell.ipynb index dcdcf69..7e4e33a 100644 --- a/docs/getting_started/braincell_morphological_golgi_cell.ipynb +++ b/docs/getting_started/braincell_morphological_golgi_cell.ipynb @@ -6,8 +6,8 @@ "source": [ "# Simulating morphological Golgi cell with ``braincell``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/braincell_morphological_golgi_cell.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/braincell_morphological_golgi_cell.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/braincell_morphological_golgi_cell.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/braincell_morphological_golgi_cell.ipynb)" ] }, { diff --git a/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb b/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb index 8e05ca0..3fed193 100644 --- a/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb +++ b/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb @@ -7,8 +7,8 @@ "source": [ "# 使用 ``brainmass`` 进行全脑神经质量模型建模\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainmass_Modeling_MEG_data_zh.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainmass_Modeling_MEG_data_zh.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/brainmass_Modeling_MEG_data_zh.ipynb)" ] }, { diff --git a/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb b/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb index 2eb323c..52dea6d 100644 --- a/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb +++ b/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb @@ -7,8 +7,8 @@ "source": [ "# Simulating Jansen–Rit population dynamics with ``brainmass``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainmass_jansenrit_node_simulation.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainmass_jansenrit_node_simulation.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/brainmass_jansenrit_node_simulation.ipynb)\n", "\n", "We simulate a single Jansen–Rit (JR) neural mass model node under a variety of inputs to illustrate different regimes: baseline alpha-like rhythms, sinusoidal entrainment, spike–wave-like activity, reduced inhibition, and irregular/noisy dynamics.\n", "\n", diff --git a/docs/getting_started/brainpy_EI_spiking_network.ipynb b/docs/getting_started/brainpy_EI_spiking_network.ipynb index 8057cbe..305513b 100644 --- a/docs/getting_started/brainpy_EI_spiking_network.ipynb +++ b/docs/getting_started/brainpy_EI_spiking_network.ipynb @@ -9,8 +9,8 @@ "source": [ "# Simulating excitatory-inhibitory spiking networks with ``brainpy``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainpy_EI_spiking_network.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainpy_EI_spiking_network.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/brainpy_EI_spiking_network.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/brainpy_EI_spiking_network.ipynb)" ] }, { diff --git a/docs/getting_started/brainstate_LIF_neuron.ipynb b/docs/getting_started/brainstate_LIF_neuron.ipynb index 027005c..799f229 100644 --- a/docs/getting_started/brainstate_LIF_neuron.ipynb +++ b/docs/getting_started/brainstate_LIF_neuron.ipynb @@ -7,8 +7,8 @@ "source": [ "# Constructing LIF neuron model with ``brainstate``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_LIF_neuron.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_LIF_neuron.ipynb)\n", + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/getting_started/brainstate_LIF_neuron.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/getting_started/brainstate_LIF_neuron.ipynb)\n", "\n", "Welcome! This beginner-friendly tutorial will guide you through:\n", "\n", diff --git a/docs/install.md b/docs/install.md index 9bddcc6..7df246a 100644 --- a/docs/install.md +++ b/docs/install.md @@ -64,8 +64,8 @@ See the change log for the exact component versions: [docs/CHANGELOG.md](./CHANG ## From source (development) ```bash -git clone https://github.com/chaobrain/brain-modeling-ecosystem.git -cd brain-modeling-ecosystem +git clone https://github.com/chaobrain/brainx.git +cd brainx python -m pip install -e . ``` diff --git a/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb b/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb index 43a21b6..5b36bcc 100644 --- a/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb +++ b/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb @@ -7,8 +7,8 @@ "source": [ "# 使用 `braincell` 对 Hodgkin-Huxley 型丘脑网络进行仿真\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_thalamus_oscillations.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_thalamus_oscillations.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/point_neuron_examples/braincell_HH_thalamus_oscillations-zh.ipynb)" ] }, { diff --git a/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb b/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb index 6efc167..b8acdb0 100644 --- a/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb +++ b/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb @@ -7,8 +7,8 @@ "source": [ "# Simulating a Hodgkin-Huxley Type Thalamic Network with `braincell`\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_thalamus_oscillations.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/develop/docs/braincell_HH_thalamus_oscillations.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/point_neuron_examples/braincell_HH_thalamus_oscillations.ipynb)" ] }, { diff --git a/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb b/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb index b3af37f..0c1d264 100644 --- a/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb +++ b/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb @@ -7,8 +7,8 @@ "source": [ "# Simulating asynchronous or Gamma oscillations using AdEx neurons in ``brainpy.state``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainpy_spiking_gamma_oscillations.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainpy_spiking_gamma_oscillations.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/point_neuron_examples/brainpy_spiking_gamma_oscillations.ipynb)" ] }, { diff --git a/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb b/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb index 0309d1a..3b17686 100644 --- a/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb +++ b/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb @@ -7,8 +7,8 @@ "source": [ "# Simulating whole-brain Drosophila spiking model with ``brainstate``\n", "\n", - "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_drosophila_wholebrain_simulation.ipynb)\n", - "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brain-modeling-ecosystem/blob/main/docs/brainstate_drosophila_wholebrain_simulation.ipynb)" + "[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/chaobrain/brainx/blob/main/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb)\n", + "[![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/chaobrain/brainx/blob/main/docs/point_neuron_examples/brainstate_drosophila_wholebrain_simulation.ipynb)" ] }, { diff --git a/pyproject.toml b/pyproject.toml index 262046f..dd08df6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,15 +53,15 @@ dynamic = [ [project.urls] Documentation = "https://brainx.chaobrain.com/" -Homepage = "https://github.com/chaobrain/brain-modeling-ecosystem" -"Source Code" = "https://github.com/chaobrain/brain-modeling-ecosystem" -"Bug Tracker" = "https://github.com/chaobrain/brain-modeling-ecosystem/issues" +Homepage = "https://github.com/chaobrain/brainx" +"Source Code" = "https://github.com/chaobrain/brainx" +"Bug Tracker" = "https://github.com/chaobrain/brainx/issues" [project.optional-dependencies] cpu = ["jax[cpu]", "numba"] -cuda12 = ["jax[cuda12]", "ninja"] -cuda13 = ["jax[cuda13]", "ninja"] +cuda12 = ["jax[cuda12]"] +cuda13 = ["jax[cuda13]"] tpu = ["jax[tpu]"] @@ -80,6 +80,10 @@ exclude = [ ] +[tool.setuptools.package-data] +BrainX = ["py.typed"] + + [tool.setuptools.dynamic] version = { attr = "BrainX.__version__" } dependencies = { file = ["requirements.txt"] } diff --git a/requirements.txt b/requirements.txt index de154ba..d5bb2da 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ # infrastructure packages -brainunit==0.3.1 -brainevent==0.0.7 -brainstate==0.3.0 +brainunit==0.3.2 +brainevent==0.1.0 +brainstate==0.4.0 braintools==0.1.9 braintrace==0.2.0 @@ -14,6 +14,6 @@ pinnx==0.0.3 # dependencies numpy>=2.4.4 -jax<=0.9.1,>=0.6.0 +jax<=0.10.1,>=0.7.1 msgpack>=1.1.2 matplotlib