Skip to content

Commit 327ef5d

Browse files
authored
Merge branch 'main' into MMathisLab-icon
2 parents 87e6d92 + 92c8b1f commit 327ef5d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+3755
-244
lines changed

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ tests/
55
third_party/
66
tools/
77
PKGBUILD
8+
9+
!docs/requirements.txt

.github/workflows/build.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ on:
1010

1111
jobs:
1212
build:
13+
timeout-minutes: 30
1314
strategy:
1415
fail-fast: true
1516
matrix:
@@ -67,6 +68,10 @@ jobs:
6768
run: |
6869
make codespell
6970
71+
- name: Check the documentation coverage
72+
run: |
73+
make interrogate
74+
7075
- name: Check CITATION.cff validity
7176
run: |
7277
cffconvert --validate

.github/workflows/doc-coverage.yml

Lines changed: 0 additions & 82 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,6 @@ on:
77
pull_request:
88
branches:
99
- main
10-
- public
11-
- dev
12-
paths:
13-
- '**.py'
14-
- '**.ipynb'
15-
- '**.js'
16-
- '**.rst'
17-
- '**.md'
1810

1911
jobs:
2012
build:
@@ -55,12 +47,16 @@ jobs:
5547
with:
5648
repository: AdaptiveMotorControlLab/cebra-demos
5749
path: docs/source/demo_notebooks
58-
ref: main
50+
# NOTE(stes): This is a temporary branch to add the xCEBRA demo notebooks
51+
# to the docs. Once the notebooks are merged into main, we can remove this
52+
# branch and change the ref to main.
53+
# ref: main
54+
ref: stes/add-xcebra
5955

60-
- name: Set up Python ${{ matrix.python-version }}
56+
- name: Set up Python 3.10
6157
uses: actions/setup-python@v5
6258
with:
63-
python-version: ${{ matrix.python-version }}
59+
python-version: "3.10"
6460

6561
- name: Install package
6662
run: |
@@ -69,17 +65,21 @@ jobs:
6965
# as of 29/10/23. Ubuntu 22.04 which is used for ubuntu-latest only has an
7066
# old pandoc version (2.9.). We will hence install the latest version manually.
7167
# previou: sudo apt-get install -y pandoc
72-
wget https://github.com/jgm/pandoc/releases/download/3.1.9/pandoc-3.1.9-1-amd64.deb
73-
sudo dpkg -i pandoc-3.1.9-1-amd64.deb
74-
rm pandoc-3.1.9-1-amd64.deb
75-
pip install torch --extra-index-url https://download.pytorch.org/whl/cpu
76-
pip install '.[docs]'
68+
# NOTE(stes): Updated to latest version as of 17/04/2025, v3.6.4.
69+
wget -q https://github.com/jgm/pandoc/releases/download/3.6.4/pandoc-3.6.4-1-amd64.deb
70+
sudo dpkg -i pandoc-3.6.4-1-amd64.deb
71+
rm pandoc-3.6.4-1-amd64.deb
72+
pip install -r docs/requirements.txt
7773
74+
- name: Check software versions
75+
run: |
76+
sphinx-build --version
77+
pandoc --version
7878
7979
- name: Build docs
8080
run: |
8181
ls docs/source/cebra-figures
82-
# later also add the -n option to check for broken links
82+
export SPHINXBUILD="sphinx-build"
8383
export SPHINXOPTS="-W --keep-going -n"
8484
make docs
8585

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@ experiments/sweeps
77
exports/
88
demo_notebooks/
99
assets/
10+
.remove
11+
12+
# demo run
13+
.vscode/
14+
auxiliary_behavior_data.h5
15+
cebra_model.pt
16+
data.npz
17+
grid_search_models/
18+
neural_data.npz
19+
saved_models/
20+
21+
# demo run
22+
.vscode/
23+
auxiliary_behavior_data.h5
24+
cebra_model.pt
25+
data.npz
26+
grid_search_models/
27+
neural_data.npz
28+
saved_models/
1029

1130
# Binary files
1231
*.png

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ RUN make dist
4040
FROM cebra-base
4141

4242
# install the cebra wheel
43-
ENV WHEEL=cebra-0.5.0-py3-none-any.whl
43+
ENV WHEEL=cebra-0.6.0a1-py3-none-any.whl
4444
WORKDIR /build
4545
COPY --from=wheel /build/dist/${WHEEL} .
4646
RUN pip install --no-cache-dir ${WHEEL}'[dev,integrations,datasets]'

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CEBRA_VERSION := 0.5.0
1+
CEBRA_VERSION := 0.6.0a1
22

33
dist:
44
python3 -m pip install virtualenv
@@ -55,7 +55,7 @@ interrogate:
5555
--ignore-private \
5656
--ignore-magic \
5757
--omit-covered-files \
58-
-f 90 \
58+
-f 80 \
5959
cebra
6060

6161
# Build documentation using sphinx

NOTICE.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,83 @@
3535
- 'tests/**/*.py'
3636
- 'docs/**/*.py'
3737
- 'conda/**/*.yml'
38+
39+
- header: |
40+
CEBRA: Consistent EmBeddings of high-dimensional Recordings using Auxiliary variables
41+
© Mackenzie W. Mathis & Steffen Schneider (v0.4.0+)
42+
Source code:
43+
https://github.com/AdaptiveMotorControlLab/CEBRA
44+
45+
Please see LICENSE.md for the full license document:
46+
https://github.com/AdaptiveMotorControlLab/CEBRA/blob/main/LICENSE.md
47+
48+
Adapted from https://github.com/rpatrik96/nl-causal-representations/blob/master/care_nl_ica/dep_mat.py,
49+
licensed under the following MIT License:
50+
51+
MIT License
52+
53+
Copyright (c) 2022 Patrik Reizinger
54+
55+
Permission is hereby granted, free of charge, to any person obtaining a copy
56+
of this software and associated documentation files (the "Software"), to deal
57+
in the Software without restriction, including without limitation the rights
58+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
59+
copies of the Software, and to permit persons to whom the Software is
60+
furnished to do so, subject to the following conditions:
61+
62+
The above copyright notice and this permission notice shall be included in all
63+
copies or substantial portions of the Software.
64+
65+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
66+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
67+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
68+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
69+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
70+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
71+
SOFTWARE.
72+
73+
include:
74+
- 'cebra/attribution/jacobian.py'
75+
76+
77+
- header: |
78+
CEBRA: Consistent EmBeddings of high-dimensional Recordings using Auxiliary variables
79+
© Mackenzie W. Mathis & Steffen Schneider (v0.4.0+)
80+
Source code:
81+
https://github.com/AdaptiveMotorControlLab/CEBRA
82+
83+
Please see LICENSE.md for the full license document:
84+
https://github.com/AdaptiveMotorControlLab/CEBRA/blob/main/LICENSE.md
85+
86+
This file contains the PyTorch implementation of Jacobian regularization described in [1].
87+
Judy Hoffman, Daniel A. Roberts, and Sho Yaida,
88+
"Robust Learning with Jacobian Regularization," 2019.
89+
[arxiv:1908.02729](https://arxiv.org/abs/1908.02729)
90+
91+
Adapted from https://github.com/facebookresearch/jacobian_regularizer/blob/main/jacobian/jacobian.py
92+
licensed under the following MIT License:
93+
94+
MIT License
95+
96+
Copyright (c) Facebook, Inc. and its affiliates.
97+
98+
Permission is hereby granted, free of charge, to any person obtaining a copy
99+
of this software and associated documentation files (the "Software"), to deal
100+
in the Software without restriction, including without limitation the rights
101+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
102+
copies of the Software, and to permit persons to whom the Software is
103+
furnished to do so, subject to the following conditions:
104+
105+
The above copyright notice and this permission notice shall be included in all
106+
copies or substantial portions of the Software.
107+
108+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
109+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
110+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
111+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
112+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
113+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
114+
SOFTWARE.
115+
116+
include:
117+
- 'cebra/models/jacobian_regularizer.py'

PKGBUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Maintainer: Steffen Schneider <[email protected]>
22
pkgname=python-cebra
33
_pkgname=cebra
4-
pkgver=0.5.0
4+
pkgver=0.6.0a1
55
pkgrel=1
66
pkgdesc="Consistent Embeddings of high-dimensional Recordings using Auxiliary variables"
77
url="https://cebra.ai"

cebra/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666

6767
import cebra.integrations.sklearn as sklearn
6868

69-
__version__ = "0.5.0"
69+
__version__ = "0.6.0a1"
7070
__all__ = ["CEBRA"]
7171
__allow_lazy_imports = False
7272
__lazy_imports = {}

0 commit comments

Comments
 (0)