Skip to content

Commit

Permalink
[dependency] remove hard dependency of taichi and numba (#635)
Browse files Browse the repository at this point in the history
* try to remove hard dependency with taichi and numba

* [math] Update operator selection strategy for csr matvec

* [math] Remove old test case of event csr matvec and csr matvec

* [dependency] remove all numba and taichi dependency

* fix

* Update

* Update test_taichi_clean_cache.py

* Update CI and remove taichi, numba from requirements

* Resolve conflicts

* Revert "Merge branch 'master' into dependency-optimize"

This reverts commit c54c822, reversing
changes made to 76202d5.

* upgrade dependency

* fix

* update

* update

* update doc and dependency

* update dependency

---------

Co-authored-by: Chaoming Wang <[email protected]>
  • Loading branch information
Routhleck and chaoming0625 authored Mar 1, 2024
1 parent 64d8f54 commit a579e41
Show file tree
Hide file tree
Showing 84 changed files with 7,956 additions and 11,838 deletions.
62 changes: 62 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,37 @@ jobs:
cd brainpy
pytest _src/
test_linux_with_taichi_numba:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest taichi numba
if [ -f requirements-dev-raw.txt ]; then pip install -r requirements-dev-raw.txt; fi
pip uninstall brainpy -y
python setup.py install
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 brainpy/ --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 brainpy/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
cd brainpy
pytest _src/
# test_linux_py37:
# runs-on: ubuntu-latest
Expand Down Expand Up @@ -116,6 +147,37 @@ jobs:
cd brainpy
pytest _src/
test_macos_with_taichi_numba:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest taichi numba
if [ -f requirements-dev-raw.txt ]; then pip install -r requirements-dev-raw.txt; fi
pip uninstall brainpy -y
python setup.py install
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 brainpy/ --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 brainpy/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
cd brainpy
pytest _src/
# test_macos_py37:
# runs-on: macos-latest
# strategy:
Expand Down
24 changes: 1 addition & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,7 @@ BrainPy is a flexible, efficient, and extensible framework for computational neu

## Installation

BrainPy is based on Python (>=3.8) and can be installed on Linux (Ubuntu 16.04 or later), macOS (10.12 or later), and Windows platforms. Install the latest version of BrainPy:

```bash
$ pip install brainpy -U
```

In addition, many customized operators in BrainPy are implemented in ``brainpylib``.
Install the latest version of `brainpylib` by:

```bash
# CPU installation for Linux, macOS and Windows
$ pip install --upgrade brainpylib
```

```bash
# CUDA 12 installation for Linux only
$ pip install --upgrade brainpylib-cu12x
```

```bash
# CUDA 11 installation for Linux only
$ pip install --upgrade brainpylib-cu11x
```
BrainPy is based on Python (>=3.8) and can be installed on Linux (Ubuntu 16.04 or later), macOS (10.12 or later), and Windows platforms.

For detailed installation instructions, please refer to the documentation: [Quickstart/Installation](https://brainpy.readthedocs.io/en/latest/quickstart/installation.html)

Expand Down
Loading

0 comments on commit a579e41

Please sign in to comment.