From 2498b42d496df03444f44fcf51b13b011e604831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 11:19:45 +0100 Subject: [PATCH 1/8] update copyright and repo links --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 303bfc0..a098c3b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -eFEL banner +eFEL banner @@ -20,7 +20,7 @@ @@ -28,23 +28,23 @@ @@ -121,7 +121,7 @@ pip install efel If you want to install straight from the github repository you can use ```bash -pip install git+git://github.com/BlueBrain/eFEL +pip install git+git://github.com/openbraininstitute/eFEL ``` Quick Start @@ -139,7 +139,7 @@ To get a list with all the available feature names efel.get_feature_names() ``` -Note that the extra-cellular features, the bpap_attenuation feature and the check_ais_initiation feature are not listed above because they have to be used in a special way, as described [here](https://github.com/BlueBrain/eFEL/blob/master/examples/extracellular/extrafeats_example.ipynb) for extra-cellular features, [here](https://github.com/BlueBrain/eFEL/blob/master/docs/source/eFeatures.rst#bpap_attenuation) for bpap_attenuation feature and [here](https://github.com/BlueBrain/eFEL/blob/master/docs/source/eFeatures.rst#check_ais_initiation) for check_ais_initiation feature. +Note that the extra-cellular features, the bpap_attenuation feature and the check_ais_initiation feature are not listed above because they have to be used in a special way, as described [here](https://github.com/openbraininstitute/eFEL/blob/master/examples/extracellular/extrafeats_example.ipynb) for extra-cellular features, [here](https://github.com/openbraininstitute/eFEL/blob/master/docs/source/eFeatures.rst#bpap_attenuation) for bpap_attenuation feature and [here](https://github.com/openbraininstitute/eFEL/blob/master/docs/source/eFeatures.rst#check_ais_initiation) for check_ais_initiation feature. To change the spike detection threshold setting (default is -20 mV) @@ -151,7 +151,7 @@ For a full list of available settings, please refer to the [Setting class](./efe The python function to extract features is get_feature_values(...). Below is a short example on how to use this function. The code and example trace are available -[here](https://github.com/BlueBrain/eFEL/blob/master/examples/basic/basic_example1.py) +[here](https://github.com/openbraininstitute/eFEL/blob/master/examples/basic/basic_example1.py) ```python """Basic example 1 for eFEL""" @@ -239,4 +239,4 @@ This project/research was supported by funding to the Blue Brain Project, a rese Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology. Copyright (c) 2009-2024 Blue Brain Project/EPFL - +Copyright (c) 2025 Open Brain Institute From 6d176e6a03c03321a6b1929e813848d05ca1ca0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 11:20:15 +0100 Subject: [PATCH 2/8] use trusted publisher instead of secrets in pypi workflow --- .github/workflows/publish.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cdc8111..a600d7f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -76,6 +76,11 @@ jobs: name: Release and Publish on PyPI runs-on: ubuntu-22.04 needs: [call-test-workflow, tag, wheels, tarball] + environment: # needed for pypi publication + name: pypi + url: https://pypi.org/p/efel + permissions: # needed for pypi publication + id-token: write steps: - uses: actions/checkout@v4 with: @@ -97,6 +102,3 @@ jobs: - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_PASSWORD }} \ No newline at end of file From 0dc6dbb8f496aee471600fb36d30d05d4151b4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 11:20:34 +0100 Subject: [PATCH 3/8] remove ebrains mirroring workflow --- .github/workflows/mirror-ebrains.yml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 .github/workflows/mirror-ebrains.yml diff --git a/.github/workflows/mirror-ebrains.yml b/.github/workflows/mirror-ebrains.yml deleted file mode 100644 index 262e883..0000000 --- a/.github/workflows/mirror-ebrains.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Mirror to Ebrains - -on: - push: - branches: [ master ] - -jobs: - to_ebrains: - runs-on: ubuntu-latest - steps: - - name: syncmaster - uses: wei/git-sync@v3 - with: - source_repo: "BlueBrain/eFEL" - source_branch: "master" - destination_repo: "https://ghpusher:${{ secrets.EBRAINS_GITLAB_ACCESS_TOKEN_2024 }}@gitlab.ebrains.eu/BlueBrain/efel.git" - destination_branch: "master" - - name: synctags - uses: wei/git-sync@v3 - with: - source_repo: "BlueBrain/eFEL" - source_branch: "refs/tags/*" - destination_repo: "https://ghpusher:${{ secrets.EBRAINS_GITLAB_ACCESS_TOKEN_2024 }}@gitlab.ebrains.eu/BlueBrain/efel.git" - destination_branch: "refs/tags/*" \ No newline at end of file From 6eaf8fc0c30e94258b8b75ca6dc6328b3237cf2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 11:29:11 +0100 Subject: [PATCH 4/8] use macos-latest when building wheels --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 755c9c2..014a43e 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -10,11 +10,11 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, macos-12, windows-latest] + os: [ubuntu-22.04, macos-latest, windows-latest] python: [cp39, cp310, cp311, cp312] arch: [x86_64, amd64] exclude: - - os: macos-12 + - os: macos-latest arch: amd64 - os: ubuntu-22.04 arch: amd64 From 693f2757ac4e8c08ccef960f332bf8601834dfe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 11:37:19 +0100 Subject: [PATCH 5/8] make tests numpy2/compatible --- tests/test_isi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_isi.py b/tests/test_isi.py index dffbfa8..d430055 100644 --- a/tests/test_isi.py +++ b/tests/test_isi.py @@ -50,7 +50,7 @@ def test_isi_log_slope_core_exception(): assert result is None # Reset np.polyfit to its original state - np.polyfit = np.lib.polynomial.polyfit + np.polyfit = np.polynomial.Polynomial.fit class TestRegularISI: From b989409f5bfa7562c4af4a3a656343f376e87ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 15:01:35 +0100 Subject: [PATCH 6/8] fix isi log slope tests with numpy 2 --- tests/test_isi.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_isi.py b/tests/test_isi.py index d430055..4694e9b 100644 --- a/tests/test_isi.py +++ b/tests/test_isi.py @@ -39,6 +39,7 @@ def test_ISIs_single_spike(): def test_isi_log_slope_core_exception(): """Test that _isi_log_slope_core handles np.polyfit raising a LinAlgError.""" # Mock np.polyfit to raise a LinAlgError + tmp = np.polyfit np.polyfit = MagicMock(side_effect=np.linalg.LinAlgError("Singular matrix")) # Call _isi_log_slope_core with some dummy data @@ -50,7 +51,7 @@ def test_isi_log_slope_core_exception(): assert result is None # Reset np.polyfit to its original state - np.polyfit = np.polynomial.Polynomial.fit + np.polyfit = tmp class TestRegularISI: From 90c80274e177c364a4d18e52b6fc4e72de3718d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 15:05:17 +0100 Subject: [PATCH 7/8] use python 3.12 to run cibuildwheel --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 014a43e..739e2c4 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: 3.9 # This might need to be dynamic based on the matrix + python-version: 3.12 # This might need to be dynamic based on the matrix - name: Install cibuildwheel run: pip install cibuildwheel - name: Build wheels From 3ee80b02aa18fe1c9b928b1f2e73d04ac0add4a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien?= Date: Tue, 28 Jan 2025 15:19:00 +0100 Subject: [PATCH 8/8] try using macos-13 with cibuildwheel --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 739e2c4..315d9f7 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -10,11 +10,11 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, macos-latest, windows-latest] + os: [ubuntu-22.04, macos-13, windows-latest] python: [cp39, cp310, cp311, cp312] arch: [x86_64, amd64] exclude: - - os: macos-latest + - os: macos-13 arch: amd64 - os: ubuntu-22.04 arch: amd64
License - + license
Build Status - - actions build status + + actions build status
Coverage - - coverage + + coverage
Gitter - +