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 @@ -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 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:
License - + license
Build Status - - actions build status + + actions build status
Coverage - - coverage + + coverage
Gitter - +