diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml
index 755c9c2..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-12, windows-latest]
+ os: [ubuntu-22.04, macos-13, windows-latest]
python: [cp39, cp310, cp311, cp312]
arch: [x86_64, amd64]
exclude:
- - os: macos-12
+ - os: macos-13
arch: amd64
- os: ubuntu-22.04
arch: amd64
@@ -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
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
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
diff --git a/README.md b/README.md
index 303bfc0..a098c3b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
License |
-
+
|
@@ -28,23 +28,23 @@
Build Status |
-
- |
Coverage |
-
- |
Gitter |
-
+
|
@@ -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
diff --git a/tests/test_isi.py b/tests/test_isi.py
index dffbfa8..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.lib.polynomial.polyfit
+ np.polyfit = tmp
class TestRegularISI: