Skip to content

Commit

Permalink
Add icephys meta (#1349)
Browse files Browse the repository at this point in the history
Declare SweepTable as deprecated on init

Add TimeSeriesReferenceVectorData Container class

Add simple test for TimeSeriesReferenceVectorData

Update nwb-schema branch

Add icephys metadata container classes

Update NWBFile to support icephys metadata tables

Add unit tests for icephys metadata tables

Update imports and fix SweepTable integration tests

Fix test available namespaces testcase

Update SweepTable tutorial and declare as deprecated

Add new icephys tutorial using the new hierarchical metadata tables

Add IntracellularRecordingsTable illustration

Fix flake8 issues

Remove use of HierarchiclaDynamicTableMixin use for now

Add source PowerPoint file for icephys docs

add doc for TimeIntervals (#1352)

* add doc for TimeIntervals

* add allensdk back

Fix make clean command for docs to also clean sphinx-gallery files

Updated CHANGELOG to describe changes from this PR

Add thumbnails for domain-specfic tutorials

Add thumbnaisl for general tutorials

Update changelog

Remove ic_filtering/icephys_filtering duplicate and fix test

Fix description of ExperimentalConditionsTable

Use HDMF 2.5.0 (#1354)

DOC: make template less puzzling in how to fill out ;-) (#1336)

Co-authored-by: Ryan Ly <[email protected]>

Add ReadTheDocs badge to README (#1311)

Co-authored-by: Ryan Ly <[email protected]>

Update to use upcoming HDMF 2.5.1 (#1355)

Revert breaking changes to scratch API (#1356)

Use HDMF 2.5.2 (#1360)

Add `DfOverF` to docs (#1351)

Co-authored-by: Ryan Ly <[email protected]>

docs/gallery/general/file.py: Fix argument count in documentation

add strain optional arg to Subject (#1241)

* remove validate_core_schema.

You can check the core schema with e.g.

* Update Subject unit test

* Fix Subject unit test, add check for date_of_birth

Co-authored-by: Ryan Ly <[email protected]>

add source channels to DecompSeries

add option to include source_channels for DecompositionSeries (#1258)

* add option to include source_channels for DecompositionSeries and include round trip test
* Use latest schema
* Add unit test

Add optional link to Device in ImageSeries (#1265)

* Add optional link to Device in ImageSeries

* Add support for device in ImageSeries subclasses

* Update ImageMaskSeries docstring

* Update schema

add continuity optional arg to TimeSeries.__init__ (#1226)

* add continuity optional arg to TimeSeries.__init__

* use new enum feature of hdmf to check against controlled vocabulary

* Fix flake8

* Add integration test

* Fix flake8

* Add correct mapping for data.continuity

Co-authored-by: Ryan Ly <[email protected]>

Add support for ElectricalSeries.filtering dataset (#1270)

Set fixed value for IZeroClampSeries stimulus description

Fix test

Update changelog

Add note about allensdk py3.8 incompatibility

Add workaround for validation against cached hdmf-experimental

Update CI to avoid click8 incompatibility

Use HDMF 2.5.5

Address comments, improve doc

Fix docs, add citation info, update repo infra (#1362)

Use latest HDMF, raise min pandas, dissociate req-min and setup reqs (#1363)

Use nwb schema branch for icephys meta

Ensure start_index and count are set to -1 if TimeSeries is None

Add test for conversion of start_index and index_count vals

Fix flake8 in __compute_index docstring

Fix icephys metadata roundtrip NWBFile test base on update DynamicTableRegion behavior

Update schema (updated version to 1.4.0-alpha)

improve extensions documentation (#1350)

* improve extensions documentation

* adjustments to extensions.rst

* add tips to extension docs

* create multi-part extensions tutorial

* move API building docs to chapter 5 of extensions guide

* restructure and fix up some spots

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/6_documenting_extension.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/4_auto_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Oliver Ruebel <[email protected]>

* remove detailed GroupSpec API instructions from tutorial

* remove instructions for generated the directory structure, and instead focus on generating the HTML and filling in the missing pieces.

* add link to ndx catalog

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/2_create_extension_spec_walkthrough.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/4_auto_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/5_custom_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/4_auto_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/4_auto_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/4_auto_api.rst

* Update docs/source/extensions_tutorial/3_spec_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/5_custom_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update docs/source/extensions_tutorial/5_custom_api.rst

Co-authored-by: Ryan Ly <[email protected]>

* Update extensions_tutorial_home.rst

* Minor text fixes

* Minor text fixes

* Minor text fixes

Co-authored-by: Oliver Ruebel <[email protected]>
Co-authored-by: Ryan Ly <[email protected]>

Set language for code block to fix readthedocs

Add RRID for PyNWB

Add RRID to README

Update changelog

make MotionCorrection test (#1374)

* attempt to make MotionCorrection test. I don't understand why it's failing

* Fix CorrectedImageStack nwbfields

* Fix tests

* Fix test

* Fix flake8

* Fix test

Co-authored-by: Ryan Ly <[email protected]>

Add unique electrode id check (#1344)

Co-authored-by: Ryan Ly <[email protected]>

Fix integration tests with invalid test data that will be caught by future hdmf validator version (#1366)

Co-authored-by: Ryan Ly <[email protected]>

Improve documentation and test for CorrectedImageStack (#1306)

Fix test for validator update (#1376)

Update changelog

Allow h5py 3 so that this can work with hdmf rc/3.0.0

Move SweepTable DeprectationWarning to the constructor of SweepTable to clean up code

Suppress SweepTable Deprecation warning in icephys integration test

Ignore and assert deprecation warning for SweepTable during SweepTable roundtrip tests

Merge branch 'rc/2.0.0' into add/icephys_meta

Fix falke8 on icephys tutorial galleries
  • Loading branch information
oruebel authored and rly committed Aug 10, 2021
1 parent c2f33f7 commit e905aa2
Show file tree
Hide file tree
Showing 106 changed files with 4,900 additions and 1,598 deletions.
145 changes: 54 additions & 91 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,6 @@ references:
username: hdmf
password: $DOCKERHUB_PASSWORD

py36: &py36
docker:
- image: circleci/python:3.6.13-buster
auth:
username: hdmf
password: $DOCKERHUB_PASSWORD

conda-image: &conda-image
docker:
- image: continuumio/miniconda3:4.9.2
Expand Down Expand Up @@ -161,14 +154,6 @@ jobs:
- run:
<<: *run-style-check

python36:
<<: *py36
environment:
- TEST_TOX_ENV: "py36"
- BUILD_TOX_ENV: "build-py36"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *ci-steps

python37:
<<: *py37
environment:
Expand All @@ -183,7 +168,6 @@ jobs:
- TEST_TOX_ENV: "py38"
- BUILD_TOX_ENV: "build-py38"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
- UPLOAD_WHEELS: "true"
<<: *ci-steps

python39:
Expand All @@ -192,41 +176,33 @@ jobs:
- TEST_TOX_ENV: "py39"
- BUILD_TOX_ENV: "build-py39"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
- UPLOAD_WHEELS: "true" # upload distributions from only this job to pypi
<<: *ci-steps

python38-upgrade-dev:
<<: *py38
python39-upgrade-dev:
<<: *py39
environment:
- TEST_TOX_ENV: "py38-upgrade-dev"
- BUILD_TOX_ENV: "build-py38-upgrade-dev"
- TEST_TOX_ENV: "py39-upgrade-dev"
- BUILD_TOX_ENV: "build-py39-upgrade-dev"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *ci-steps

python38-upgrade-dev-pre:
<<: *py38
python39-upgrade-dev-pre:
<<: *py39
environment:
- TEST_TOX_ENV: "py38-upgrade-dev-pre"
- BUILD_TOX_ENV: "build-py38-upgrade-dev-pre"
- TEST_TOX_ENV: "py39-upgrade-dev-pre"
- BUILD_TOX_ENV: "build-py39-upgrade-dev-pre"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *ci-steps

python36-min-req:
<<: *py36
python37-min-req:
<<: *py37
environment:
- TEST_TOX_ENV: "py36-min-req"
- BUILD_TOX_ENV: "build-py36-min-req"
- TEST_TOX_ENV: "py37-min-req"
- BUILD_TOX_ENV: "build-py37-min-req"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *ci-steps

miniconda36:
<<: *conda-image
environment:
- CONDA_PYTHON_VER: "3.6.*=*_cpython" # avoid using pypy compiler
- TEST_TOX_ENV: "py36"
- BUILD_TOX_ENV: "build-py36"
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *conda-steps

miniconda37:
<<: *conda-image
environment:
Expand Down Expand Up @@ -254,12 +230,6 @@ jobs:
- TEST_WHEELINSTALL_ENV: "wheelinstall"
<<: *conda-steps

gallery36:
<<: *py36
environment:
- TEST_TOX_ENV: "gallery-py36"
<<: *gallery-steps

gallery37:
<<: *py37
environment:
Expand All @@ -278,26 +248,26 @@ jobs:
- TEST_TOX_ENV: "gallery-py39"
<<: *gallery-steps

gallery38-upgrade-dev:
<<: *py38
gallery39-upgrade-dev:
<<: *py39
environment:
- TEST_TOX_ENV: "gallery-py38-upgrade-dev"
- TEST_TOX_ENV: "gallery-py39-upgrade-dev"
<<: *gallery-steps

gallery38-upgrade-dev-pre:
<<: *py38
gallery39-upgrade-dev-pre:
<<: *py39
environment:
- TEST_TOX_ENV: "gallery-py38-upgrade-dev-pre"
- TEST_TOX_ENV: "gallery-py39-upgrade-dev-pre"
<<: *gallery-steps

gallery36-min-req:
<<: *py36
gallery37-min-req:
<<: *py37
environment:
- TEST_TOX_ENV: "gallery-py36-min-req"
- TEST_TOX_ENV: "gallery-py37-min-req"
<<: *gallery-steps

test-validation:
<<: *py38
<<: *py39
steps:
- checkout
- run: git submodule sync
Expand All @@ -309,13 +279,13 @@ jobs:
command: |
. ../venv/bin/activate
pip install tox
tox -e validation-py38
tox -e validation-py39
# Install is expected to be quick. Increase timeout in case there are some network issues.
# While pip installing tox does not output by default. Circle thinks task is dead after 10 min.
no_output_timeout: 30m

deploy-dev:
<<: *py38
<<: *py39
steps:
- checkout
- attach_workspace:
Expand All @@ -336,7 +306,7 @@ jobs:
--exit-success-if-missing-token
deploy-release:
<<: *py38
<<: *py39
steps:
- attach_workspace:
at: ./
Expand All @@ -354,7 +324,8 @@ jobs:
command: |
python -m venv ../venv
. ../venv/bin/activate
pip install githubrelease
# use click<8 until https://github.com/j0057/github-release/issues/62 is resolved
pip install "click<8" githubrelease
githubrelease release $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME \
create $CIRCLE_TAG --name $CIRCLE_TAG \
--publish ./dist/*
Expand All @@ -365,27 +336,27 @@ workflows:
jobs:
- flake8:
<<: *no_filters
- python38:
- python37-min-req:
<<: *no_filters
- python36-min-req:
- python39:
<<: *no_filters
- miniconda36:
- miniconda37:
<<: *no_filters
- miniconda38:
- miniconda39:
<<: *no_filters
- gallery38:
- gallery37-min-req:
<<: *no_filters
- gallery36-min-req:
- gallery38: # TODO replace with gallery39 after allensdk support py39
<<: *no_filters
- deploy-dev:
requires:
- flake8
- python38
- python36-min-req
- miniconda36
- miniconda38
- gallery38
- gallery36-min-req
- python37-min-req
- python39
- miniconda37
- miniconda39
- gallery37-min-req
- gallery38 # gallery39
filters:
tags:
ignore:
Expand All @@ -399,12 +370,12 @@ workflows:
- deploy-release:
requires:
- flake8
- python38
- python36-min-req
- miniconda36
- miniconda38
- gallery38
- gallery36-min-req
- python37-min-req
- python39
- miniconda37
- miniconda39
- gallery37-min-req
- gallery38 # gallery39
filters:
tags:
only: /^[0-9]+(\.[0-9]+)*(\.post[0-9]+)?$/
Expand All @@ -423,41 +394,33 @@ workflows:
jobs:
- flake8:
<<: *no_filters
- python36:
<<: *no_filters
- python37:
<<: *no_filters
- python37-min-req:
<<: *no_filters
- python38:
<<: *no_filters
- python39:
<<: *no_filters
- python38-upgrade-dev:
<<: *no_filters
- python36-min-req:
- python39-upgrade-dev:
<<: *no_filters
- miniconda36:
- python39-upgrade-dev-pre:
<<: *no_filters
- miniconda37:
<<: *no_filters
- miniconda38:
<<: *no_filters
- miniconda39:
<<: *no_filters
- gallery36:
<<: *no_filters
- gallery37:
<<: *no_filters
- gallery37-min-req:
<<: *no_filters
- gallery38:
<<: *no_filters
- gallery39:
<<: *no_filters
- gallery38-upgrade-dev:
<<: *no_filters
- gallery36-min-req:
<<: *no_filters
- python38-upgrade-dev-pre:
<<: *no_filters
- gallery38-upgrade-dev-pre:
- gallery39-upgrade-dev:
<<: *no_filters
- test-validation:
- gallery39-upgrade-dev-pre:
<<: *no_filters
6 changes: 6 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,10 @@ branch = True
source = src/
omit =
src/pynwb/_version.py
src/pynwb/_due.py
src/pynwb/testing/*

[report]
exclude_lines =
pragma: no cover
@abstract
7 changes: 4 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,14 @@ assignees: ''
<!--Please describe your environment according to the following bullet points.-->

Python Executable: Conda or Python
Python Version: Python 3.5, 3.6, or 3.7
Python Version: Python 3.7, 3.8, or 3.9
Operating System: Windows, macOS or Linux
HDMF Version: Version of PyNWB used
HDMF Version:
PyNWB Version:

## Checklist

- [ ] Have you ensured the feature or change was not already [reported](https://github.com/NeurodataWithoutBorders/pynwb/issues)?
- [ ] Have you ensured the bug was not already [reported](https://github.com/NeurodataWithoutBorders/pynwb/issues)?
- [ ] Have you included a brief and descriptive title?
- [ ] Have you included a clear description of the problem you are trying to solve?
- [ ] Have you included a minimal code snippet that reproduces the issue you are encountering?
Expand Down
7 changes: 4 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ What was the reasoning behind this change? Please explain the changes briefly.

## How to test the behavior?
```
Show here how to reproduce the new behavior (can be a bug fix or a new feature)
Show how to reproduce the new behavior (can be a bug fix or a new feature)
```

## Checklist

- [ ] Did you update CHANGELOG.md with your changes?
- [ ] Have you checked our [Contributing](https://github.com/NeurodataWithoutBorders/pynwb/blob/dev/docs/CONTRIBUTING.rst) document?
- [ ] Have you ensured the PR description clearly describes problem and the solution?
- [ ] Have you ensured the PR clearly describes the problem and the solution?
- [ ] Is your contribution compliant with our coding style? This can be checked running `flake8` from the source directory.
- [ ] Have you checked to ensure that there aren't other open [Pull Requests](https://github.com/NeurodataWithoutBorders/pynwb/pulls) for the same change?
- [ ] Have you included the relevant issue number using `#XXX` notation where `XXX` is the issue number?
- [ ] Have you included the relevant issue number using "Fix #XXX" notation where XXX is the issue number? By including "Fix #XXX" you allow GitHub to close issue #XXX when the PR is merged.
26 changes: 26 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Prepare for release of PyNWB [version]

### Before merging:
- [ ] Major and minor releases: Update package versions in `requirements.txt`, `requirements-dev.txt`,
`requirements-doc.txt`, `requirements-min.txt`, `setup.py` as needed
See https://requires.io/github/NeurodataWithoutBorders/pynwb/requirements/?branch=dev
- [ ] Check legal file dates and information in `Legal.txt`, `license.txt`, `README.rst`, `docs/source/conf.py`,
and any other locations as needed
- [ ] Update `setup.py` as needed
- [ ] Update `README.rst` as needed
- [ ] Update `src/pynwb/nwb-schema` submodule as needed. Check the version number and commit SHA manually
- [ ] Update changelog (set release date) in `CHANGELOG.md` and any other docs as needed
- [ ] Run tests locally including gallery tests and validation tests, and inspect all warnings and outputs
(`python test.py -v > out.txt`)
- [ ] Test docs locally (`make apidoc`, `make html`)
- [ ] Push changes to this PR and make sure all PRs to be included in this release have been merged
- [ ] Check that the readthedocs build for this PR succeeds (build latest to pull the new branch, then activate and
build docs for new branch): https://readthedocs.org/projects/pynwb/builds/

### After merging:
1. Create release by following steps in `docs/source/make_a_release.rst` or use alias `git pypi-release [tag]` if set up
2. After the CI bot creates the new release (wait ~10 min), update the release notes on the
[GitHub releases page](https://github.com/NeurodataWithoutBorders/pynwb/releases) with the changelog
3. Check that the readthedocs "latest" and "stable" builds run and succeed
4. Update [conda-forge/pynwb-feedstock](https://github.com/conda-forge/pynwb-feedstock) with the latest version number
and SHA256 retrieved from PyPI > PyNWB > Download Files > View hashes for the `.tar.gz` file. Re-render as needed
4 changes: 2 additions & 2 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
env:
OS: ${{ matrix.os }}
PYTHON: '3.8'
PYTHON: '3.9'
steps:
- name: Cancel Workflow Action
uses: styfle/[email protected]
Expand All @@ -27,7 +27,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ docs/tmpl.index.rst
tests/coverage/htmlcov
.coverage

# duecredit output
.duecredit.p

# tox
.tox

Expand Down
Loading

0 comments on commit e905aa2

Please sign in to comment.