diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 8dde215c..4391bce4 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -9,7 +9,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.12" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/README.md b/README.md index 16104817..780c6c6a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ [![Python Version](https://img.shields.io/badge/python-3.10%20%7C%203.11-blue.svg)](https://www.python.org/downloads)[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)[![Documentation Status](https://readthedocs.org/projects/ngc-learn/badge/?version=latest)](http://ngc-learn.readthedocs.io/en/latest/?badge=latest)[![DOI](https://zenodo.org/badge/483413212.svg)](https://zenodo.org/badge/latestdoi/483413212) - + + ngc-learn is a Python library for building, simulating, and analyzing biophysical / neurobiological systems, spiking neuronal networks, predictive coding circuitry, and biomimetic (NeuroAI) agents that learn in a biologically-plausible manner. This simulation toolkit, meant to support computational neuroscience and brain-inspired computing research, is built on top of JAX and is distributed under the 3-Clause BSD license. @@ -26,24 +27,22 @@ chosen as one of the Editors' Highlights for Applied Physics and Mathematics< ### Dependencies ngc-learn requires: -1) Python (>=3.10) -2) NumPy (>=1.22.0) -3) SciPy (>=1.7.0) +1) Python (>=3.12) +2i) NumPy (>=2.5.2) +3) SciPy (>=1.18.1) 4) ngcsimlib (>=3.1.1), (visit official page here) -5) JAX (>=0.4.28) (to enable GPU use, make sure to install one of the CUDA variants) +5) JAX (>=0.11.1) (to enable GPU use, make sure to install one of the CUDA variants) --- -ngc-learn 3.2.1 and later require Python 3.10 or newer as well as ngcsimlib >=3.1.1. +ngc-learn 3.2.3 and later require Python 3.12 or newer as well as ngcsimlib >=3.1.1. ngc-learn's plotting capabilities (routines within `ngclearn.utils.viz`) require -Matplotlib (>=3.8.0) and imageio (>=2.31.5) and both plotting and density estimation -tools (routines within ``ngclearn.utils.density``) will require Scikit-learn (>=0.24.2). -Many of the tutorials will require Matplotlib (>=3.8.0), imageio (>=2.31.5), and Scikit-learn (>=0.24.2). +Matplotlib (>=3.11.1) and imageio (>=2.37.4) and both plotting and density estimation +tools (routines within ``ngclearn.utils.density``) will require Scikit-learn (>=1.9.0). +Many of the tutorials will require Matplotlib (>=3.11.1), imageio (>=2.37.4), and Scikit-learn (>=1.9.0). Note: If you are working with Cuda 12 and want to use jax/jaxlib versions > 0.4.28, you might need to check that you are working with the right version of Cudnn (e.g., `nvidia-cudnn-cu12==9.10.2.21`) to ensure @@ -93,7 +92,7 @@ Python 3.12.13 (main, MONTH DAY YEAR, TIME) [GCC XX.X.X] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ngclearn >>> ngclearn.__version__ -'3.2.1' +'3.2.3' ``` Note: For access to the previous Tensorflow-2 version of ngc-learn (of diff --git a/docs/installation.md b/docs/installation.md index 99517813..915cd178 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -4,13 +4,14 @@ Setup: NGC-Learn, in its entirety (including its supporting utility sub-packages), requires that you ensure that you have installed the following base dependencies in your system. Note that this library was developed and tested on Ubuntu 22.04 (with much earlier versions on Ubuntu 18.04/20.04). Specifically, NGC-Learn requires: -* Python (>=3.10) +* Python (>=3.12) * ngcsimlib (>=3.1.1), (official page) -* NumPy (>=1.22.0) -* SciPy (>=1.7.0) +* NumPy (>=2.5.2) +* SciPy (>=1.18.1) * JAX (>= 0.11.1; and jaxlib>=0.11.1) -* Matplotlib (>=3.8.0), (for `ngclearn.utils.viz`) -* Scikit-learn (>=1.6.1), (for `ngclearn.utils.patch_utils` and `ngclearn.utils.density`) +* Matplotlib (>=3.11.1), (for `ngclearn.utils.viz`) +* Scikit-learn (>=1.9.0), (for `ngclearn.utils.patch_utils` and `ngclearn.utils.density`) +* imageio (>=2.37.4) Note that the above requirements are taken care of if one installs NGC-Learn through either `pip`. One can either install the CPU version of NGC-Learn (if no JAX is pre-installed or only the CPU version of JAX is currently installed) via: ```console @@ -51,6 +52,6 @@ Python 3.12.13 (main, MONTH DAY YEAR, TIME) [GCC XX.X.X] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ngclearn >>> ngclearn.__version__ -'3.2.2' +'3.2.3' ``` diff --git a/docs/requirements.txt b/docs/requirements.txt index a61e3100..ffeb4dd2 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -8,3 +8,6 @@ ngcsimlib>=3.1.1 imageio>=2.37.4 pandas>=3.0.5 typing_extensions>=4.15.0 +sphinx +myst_parser +sphinx_rtd_theme diff --git a/pyproject.toml b/pyproject.toml index d82678ab..7b028536 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta" # using setuptool building engine [project] name = "ngclearn" -version = "3.2.2" +version = "3.2.3" description = "Simulation software for building and analyzing computational neuroscience models, brain-inspired computing systems, and NeuroAI agents." authors = [ {name = "Alexander Ororbia", email = "ago@cs.rit.edu"},