ONE-api 3.0b3__tar.gz → 3.0b5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {one_api-3.0b3 → one_api-3.0b5}/LICENSE +21 -21
- {one_api-3.0b3 → one_api-3.0b5}/MANIFEST.in +1 -1
- {one_api-3.0b3 → one_api-3.0b5/ONE_api.egg-info}/PKG-INFO +115 -115
- {one_api-3.0b3/ONE_api.egg-info → one_api-3.0b5}/PKG-INFO +115 -115
- {one_api-3.0b3 → one_api-3.0b5}/README.md +91 -91
- {one_api-3.0b3 → one_api-3.0b5}/one/__init__.py +2 -2
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/__init__.py +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/cache.py +640 -653
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/exceptions.py +105 -105
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/io.py +876 -876
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/path.py +1450 -1450
- {one_api-3.0b3 → one_api-3.0b5}/one/alf/spec.py +519 -519
- {one_api-3.0b3 → one_api-3.0b5}/one/api.py +2979 -2973
- {one_api-3.0b3 → one_api-3.0b5}/one/converters.py +850 -850
- {one_api-3.0b3 → one_api-3.0b5}/one/params.py +414 -414
- {one_api-3.0b3 → one_api-3.0b5}/one/registration.py +845 -845
- {one_api-3.0b3 → one_api-3.0b5}/one/remote/__init__.py +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/remote/aws.py +313 -313
- {one_api-3.0b3 → one_api-3.0b5}/one/remote/base.py +142 -142
- {one_api-3.0b3 → one_api-3.0b5}/one/remote/globus.py +1254 -1254
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/params/.caches +6 -6
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/params/.test.alyx.internationalbrainlab.org +8 -8
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/1f187d80fd59677b395fcdb18e68e4401bfa1cc9 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/47893cf67c985e6361cdee009334963f49fb0746 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/535d0e9a1e2c1efbdeba0d673b131e00361a2edb +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/6dc96f7e9bcc6ac2e7581489b9580a6cd3f28293 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/db1731fb8df0208944ae85f76718430813a8bf50 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/dcce48259bb929661f60a02a48563f70aa6185b3 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/f530d6022f61cdc9e38cc66beb3cb71f3003c9a1 +1 -1
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/test_dbs.json +14 -14
- {one_api-3.0b3 → one_api-3.0b5}/one/util.py +524 -524
- {one_api-3.0b3 → one_api-3.0b5}/one/webclient.py +1368 -1354
- {one_api-3.0b3 → one_api-3.0b5}/pyproject.toml +40 -40
- {one_api-3.0b3 → one_api-3.0b5}/requirements.txt +9 -9
- {one_api-3.0b3 → one_api-3.0b5}/setup.cfg +4 -4
- {one_api-3.0b3 → one_api-3.0b5}/ONE_api.egg-info/SOURCES.txt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/ONE_api.egg-info/dependency_links.txt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/ONE_api.egg-info/requires.txt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/ONE_api.egg-info/top_level.txt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/datasets.pqt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/3f51aa2e0baa42438467906f56a457c91a221898 +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/rest_responses/5618bea3484a52cd893616f07903f0e49e023ba1 +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/sessions.pqt +0 -0
- {one_api-3.0b3 → one_api-3.0b5}/one/tests/fixtures/test_img.png +0 -0
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2021 International Brain Laboratory
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 International Brain Laboratory
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
graft one/tests/fixtures
|
|
1
|
+
graft one/tests/fixtures
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: ONE-api
|
|
3
|
-
Version: 3.
|
|
4
|
-
Summary: Open Neurophysiology Environment
|
|
5
|
-
Author: IBL Staff
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/int-brain-lab/ONE
|
|
8
|
-
Project-URL: Documentation, https://one.internationalbrainlab.org
|
|
9
|
-
Project-URL: Repository, https://github.com/int-brain-lab/ONE.git
|
|
10
|
-
Project-URL: Issues, https://github.com/int-brain-lab/ONE/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/int-brain-lab/ONE/blob/main/CHANGELOG.md
|
|
12
|
-
Requires-Python: >=3.10
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
License-File: LICENSE
|
|
15
|
-
Requires-Dist: ruff
|
|
16
|
-
Requires-Dist: numpy>=1.18
|
|
17
|
-
Requires-Dist: pandas>=1.5.0
|
|
18
|
-
Requires-Dist: tqdm>=4.32.1
|
|
19
|
-
Requires-Dist: requests>=2.22.0
|
|
20
|
-
Requires-Dist: iblutil>=1.14.0
|
|
21
|
-
Requires-Dist: packaging
|
|
22
|
-
Requires-Dist: boto3
|
|
23
|
-
Requires-Dist: pyyaml
|
|
24
|
-
|
|
25
|
-
# Open Neurophysiology Environment
|
|
26
|
-
[](https://coveralls.io/github/int-brain-lab/ONE?branch=main)
|
|
27
|
-

|
|
28
|
-
|
|
29
|
-
The Open Neurophysiology Environment is a scheme for sharing neurophysiology data in a standardized manner. It is a Python API for searching and loading ONE-standardized data, stored either on a user's local machine or on a remote server.
|
|
30
|
-
|
|
31
|
-
Please [Click here](https://int-brain-lab.github.io/ONE/) for the main documentation page. For a quick primer on the file naming convention we use, [click here](https://github.com/int-brain-lab/ONE/blob/main/docs/Open_Neurophysiology_Environment_Filename_Convention.pdf).
|
|
32
|
-
|
|
33
|
-
**NB**: The API and backend database are still under active development, for the best experience please regularly update the package by running `pip install -U ONE-api`.
|
|
34
|
-
|
|
35
|
-
## Requirements
|
|
36
|
-
ONE runs on Python 3.10 or later, and is tested on the latest Ubuntu and Windows (3.10 and 3.12 only).
|
|
37
|
-
|
|
38
|
-
## Installing
|
|
39
|
-
Installing the package via pip typically takes a few seconds. To install, run
|
|
40
|
-
```
|
|
41
|
-
pip install ONE-api
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Set up
|
|
45
|
-
For using ONE with a local cache directory:
|
|
46
|
-
```python
|
|
47
|
-
from one.api import One
|
|
48
|
-
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
|
|
52
|
-
```python
|
|
53
|
-
from one.api import ONE
|
|
54
|
-
ONE.setup(silent=True) # Will use default information
|
|
55
|
-
one = ONE(password='international')
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
For setting up ONE for a given database e.g. internal IBL Alyx:
|
|
59
|
-
```python
|
|
60
|
-
from one.api import ONE
|
|
61
|
-
one = ONE(base_url='https://alyx.internationalbrainlab.org')
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Once you've setup the API for the first time, subsequent calls will use the same parameters:
|
|
65
|
-
```python
|
|
66
|
-
from one.api import ONE
|
|
67
|
-
one = ONE()
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
To set up ONE for another database and make it the default:
|
|
71
|
-
```python
|
|
72
|
-
from one.api import ONE
|
|
73
|
-
ONE.setup(base_url='https://test.alyx.internationalbrainlab.org', make_default=True)
|
|
74
|
-
one = ONE() # Connected to https://test.alyx.internationalbrainlab.org
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Using ONE
|
|
78
|
-
To search for sessions:
|
|
79
|
-
```python
|
|
80
|
-
from one.api import ONE
|
|
81
|
-
one = ONE()
|
|
82
|
-
print(one.search_terms()) # A list of search keyword arguments
|
|
83
|
-
|
|
84
|
-
# Search session with wheel timestamps from January 2021 onward
|
|
85
|
-
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
|
|
86
|
-
['d3372b15-f696-4279-9be5-98f15783b5bb']
|
|
87
|
-
|
|
88
|
-
# Search for project sessions with two probes
|
|
89
|
-
eids = one.search(data=['probe00', 'probe01'], project='brainwide')
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
To load data:
|
|
93
|
-
```python
|
|
94
|
-
from one.api import ONE
|
|
95
|
-
one = ONE()
|
|
96
|
-
|
|
97
|
-
# Load an ALF object
|
|
98
|
-
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
99
|
-
wheel = one.load_object(eid, 'wheel')
|
|
100
|
-
|
|
101
|
-
# Load a specific dataset
|
|
102
|
-
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
103
|
-
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')
|
|
104
|
-
|
|
105
|
-
# Download, but not load, a dataset
|
|
106
|
-
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
To [share data](https://int-brain-lab.github.io/ONE/notebooks/data_sharing.html):
|
|
110
|
-
```python
|
|
111
|
-
from one.api import One
|
|
112
|
-
one = One.setup() # Enter the location of the ALF datasets when prompted
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Further examples and tutorials can be found in the [documentation](https://int-brain-lab.github.io/ONE/).
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: ONE-api
|
|
3
|
+
Version: 3.0b5
|
|
4
|
+
Summary: Open Neurophysiology Environment
|
|
5
|
+
Author: IBL Staff
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/int-brain-lab/ONE
|
|
8
|
+
Project-URL: Documentation, https://one.internationalbrainlab.org
|
|
9
|
+
Project-URL: Repository, https://github.com/int-brain-lab/ONE.git
|
|
10
|
+
Project-URL: Issues, https://github.com/int-brain-lab/ONE/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/int-brain-lab/ONE/blob/main/CHANGELOG.md
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: ruff
|
|
16
|
+
Requires-Dist: numpy>=1.18
|
|
17
|
+
Requires-Dist: pandas>=1.5.0
|
|
18
|
+
Requires-Dist: tqdm>=4.32.1
|
|
19
|
+
Requires-Dist: requests>=2.22.0
|
|
20
|
+
Requires-Dist: iblutil>=1.14.0
|
|
21
|
+
Requires-Dist: packaging
|
|
22
|
+
Requires-Dist: boto3
|
|
23
|
+
Requires-Dist: pyyaml
|
|
24
|
+
|
|
25
|
+
# Open Neurophysiology Environment
|
|
26
|
+
[](https://coveralls.io/github/int-brain-lab/ONE?branch=main)
|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
The Open Neurophysiology Environment is a scheme for sharing neurophysiology data in a standardized manner. It is a Python API for searching and loading ONE-standardized data, stored either on a user's local machine or on a remote server.
|
|
30
|
+
|
|
31
|
+
Please [Click here](https://int-brain-lab.github.io/ONE/) for the main documentation page. For a quick primer on the file naming convention we use, [click here](https://github.com/int-brain-lab/ONE/blob/main/docs/Open_Neurophysiology_Environment_Filename_Convention.pdf).
|
|
32
|
+
|
|
33
|
+
**NB**: The API and backend database are still under active development, for the best experience please regularly update the package by running `pip install -U ONE-api`.
|
|
34
|
+
|
|
35
|
+
## Requirements
|
|
36
|
+
ONE runs on Python 3.10 or later, and is tested on the latest Ubuntu and Windows (3.10 and 3.12 only).
|
|
37
|
+
|
|
38
|
+
## Installing
|
|
39
|
+
Installing the package via pip typically takes a few seconds. To install, run
|
|
40
|
+
```
|
|
41
|
+
pip install ONE-api
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Set up
|
|
45
|
+
For using ONE with a local cache directory:
|
|
46
|
+
```python
|
|
47
|
+
from one.api import One
|
|
48
|
+
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
|
|
52
|
+
```python
|
|
53
|
+
from one.api import ONE
|
|
54
|
+
ONE.setup(silent=True) # Will use default information
|
|
55
|
+
one = ONE(password='international')
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
For setting up ONE for a given database e.g. internal IBL Alyx:
|
|
59
|
+
```python
|
|
60
|
+
from one.api import ONE
|
|
61
|
+
one = ONE(base_url='https://alyx.internationalbrainlab.org')
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Once you've setup the API for the first time, subsequent calls will use the same parameters:
|
|
65
|
+
```python
|
|
66
|
+
from one.api import ONE
|
|
67
|
+
one = ONE()
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
To set up ONE for another database and make it the default:
|
|
71
|
+
```python
|
|
72
|
+
from one.api import ONE
|
|
73
|
+
ONE.setup(base_url='https://test.alyx.internationalbrainlab.org', make_default=True)
|
|
74
|
+
one = ONE() # Connected to https://test.alyx.internationalbrainlab.org
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Using ONE
|
|
78
|
+
To search for sessions:
|
|
79
|
+
```python
|
|
80
|
+
from one.api import ONE
|
|
81
|
+
one = ONE()
|
|
82
|
+
print(one.search_terms()) # A list of search keyword arguments
|
|
83
|
+
|
|
84
|
+
# Search session with wheel timestamps from January 2021 onward
|
|
85
|
+
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
|
|
86
|
+
['d3372b15-f696-4279-9be5-98f15783b5bb']
|
|
87
|
+
|
|
88
|
+
# Search for project sessions with two probes
|
|
89
|
+
eids = one.search(data=['probe00', 'probe01'], project='brainwide')
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
To load data:
|
|
93
|
+
```python
|
|
94
|
+
from one.api import ONE
|
|
95
|
+
one = ONE()
|
|
96
|
+
|
|
97
|
+
# Load an ALF object
|
|
98
|
+
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
99
|
+
wheel = one.load_object(eid, 'wheel')
|
|
100
|
+
|
|
101
|
+
# Load a specific dataset
|
|
102
|
+
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
103
|
+
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')
|
|
104
|
+
|
|
105
|
+
# Download, but not load, a dataset
|
|
106
|
+
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
To [share data](https://int-brain-lab.github.io/ONE/notebooks/data_sharing.html):
|
|
110
|
+
```python
|
|
111
|
+
from one.api import One
|
|
112
|
+
one = One.setup() # Enter the location of the ALF datasets when prompted
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Further examples and tutorials can be found in the [documentation](https://int-brain-lab.github.io/ONE/).
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: ONE-api
|
|
3
|
-
Version: 3.
|
|
4
|
-
Summary: Open Neurophysiology Environment
|
|
5
|
-
Author: IBL Staff
|
|
6
|
-
License: MIT
|
|
7
|
-
Project-URL: Homepage, https://github.com/int-brain-lab/ONE
|
|
8
|
-
Project-URL: Documentation, https://one.internationalbrainlab.org
|
|
9
|
-
Project-URL: Repository, https://github.com/int-brain-lab/ONE.git
|
|
10
|
-
Project-URL: Issues, https://github.com/int-brain-lab/ONE/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/int-brain-lab/ONE/blob/main/CHANGELOG.md
|
|
12
|
-
Requires-Python: >=3.10
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
License-File: LICENSE
|
|
15
|
-
Requires-Dist: ruff
|
|
16
|
-
Requires-Dist: numpy>=1.18
|
|
17
|
-
Requires-Dist: pandas>=1.5.0
|
|
18
|
-
Requires-Dist: tqdm>=4.32.1
|
|
19
|
-
Requires-Dist: requests>=2.22.0
|
|
20
|
-
Requires-Dist: iblutil>=1.14.0
|
|
21
|
-
Requires-Dist: packaging
|
|
22
|
-
Requires-Dist: boto3
|
|
23
|
-
Requires-Dist: pyyaml
|
|
24
|
-
|
|
25
|
-
# Open Neurophysiology Environment
|
|
26
|
-
[](https://coveralls.io/github/int-brain-lab/ONE?branch=main)
|
|
27
|
-

|
|
28
|
-
|
|
29
|
-
The Open Neurophysiology Environment is a scheme for sharing neurophysiology data in a standardized manner. It is a Python API for searching and loading ONE-standardized data, stored either on a user's local machine or on a remote server.
|
|
30
|
-
|
|
31
|
-
Please [Click here](https://int-brain-lab.github.io/ONE/) for the main documentation page. For a quick primer on the file naming convention we use, [click here](https://github.com/int-brain-lab/ONE/blob/main/docs/Open_Neurophysiology_Environment_Filename_Convention.pdf).
|
|
32
|
-
|
|
33
|
-
**NB**: The API and backend database are still under active development, for the best experience please regularly update the package by running `pip install -U ONE-api`.
|
|
34
|
-
|
|
35
|
-
## Requirements
|
|
36
|
-
ONE runs on Python 3.10 or later, and is tested on the latest Ubuntu and Windows (3.10 and 3.12 only).
|
|
37
|
-
|
|
38
|
-
## Installing
|
|
39
|
-
Installing the package via pip typically takes a few seconds. To install, run
|
|
40
|
-
```
|
|
41
|
-
pip install ONE-api
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Set up
|
|
45
|
-
For using ONE with a local cache directory:
|
|
46
|
-
```python
|
|
47
|
-
from one.api import One
|
|
48
|
-
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
|
|
52
|
-
```python
|
|
53
|
-
from one.api import ONE
|
|
54
|
-
ONE.setup(silent=True) # Will use default information
|
|
55
|
-
one = ONE(password='international')
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
For setting up ONE for a given database e.g. internal IBL Alyx:
|
|
59
|
-
```python
|
|
60
|
-
from one.api import ONE
|
|
61
|
-
one = ONE(base_url='https://alyx.internationalbrainlab.org')
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Once you've setup the API for the first time, subsequent calls will use the same parameters:
|
|
65
|
-
```python
|
|
66
|
-
from one.api import ONE
|
|
67
|
-
one = ONE()
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
To set up ONE for another database and make it the default:
|
|
71
|
-
```python
|
|
72
|
-
from one.api import ONE
|
|
73
|
-
ONE.setup(base_url='https://test.alyx.internationalbrainlab.org', make_default=True)
|
|
74
|
-
one = ONE() # Connected to https://test.alyx.internationalbrainlab.org
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Using ONE
|
|
78
|
-
To search for sessions:
|
|
79
|
-
```python
|
|
80
|
-
from one.api import ONE
|
|
81
|
-
one = ONE()
|
|
82
|
-
print(one.search_terms()) # A list of search keyword arguments
|
|
83
|
-
|
|
84
|
-
# Search session with wheel timestamps from January 2021 onward
|
|
85
|
-
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
|
|
86
|
-
['d3372b15-f696-4279-9be5-98f15783b5bb']
|
|
87
|
-
|
|
88
|
-
# Search for project sessions with two probes
|
|
89
|
-
eids = one.search(data=['probe00', 'probe01'], project='brainwide')
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
To load data:
|
|
93
|
-
```python
|
|
94
|
-
from one.api import ONE
|
|
95
|
-
one = ONE()
|
|
96
|
-
|
|
97
|
-
# Load an ALF object
|
|
98
|
-
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
99
|
-
wheel = one.load_object(eid, 'wheel')
|
|
100
|
-
|
|
101
|
-
# Load a specific dataset
|
|
102
|
-
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
103
|
-
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')
|
|
104
|
-
|
|
105
|
-
# Download, but not load, a dataset
|
|
106
|
-
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
To [share data](https://int-brain-lab.github.io/ONE/notebooks/data_sharing.html):
|
|
110
|
-
```python
|
|
111
|
-
from one.api import One
|
|
112
|
-
one = One.setup() # Enter the location of the ALF datasets when prompted
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Further examples and tutorials can be found in the [documentation](https://int-brain-lab.github.io/ONE/).
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: ONE-api
|
|
3
|
+
Version: 3.0b5
|
|
4
|
+
Summary: Open Neurophysiology Environment
|
|
5
|
+
Author: IBL Staff
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/int-brain-lab/ONE
|
|
8
|
+
Project-URL: Documentation, https://one.internationalbrainlab.org
|
|
9
|
+
Project-URL: Repository, https://github.com/int-brain-lab/ONE.git
|
|
10
|
+
Project-URL: Issues, https://github.com/int-brain-lab/ONE/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/int-brain-lab/ONE/blob/main/CHANGELOG.md
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: ruff
|
|
16
|
+
Requires-Dist: numpy>=1.18
|
|
17
|
+
Requires-Dist: pandas>=1.5.0
|
|
18
|
+
Requires-Dist: tqdm>=4.32.1
|
|
19
|
+
Requires-Dist: requests>=2.22.0
|
|
20
|
+
Requires-Dist: iblutil>=1.14.0
|
|
21
|
+
Requires-Dist: packaging
|
|
22
|
+
Requires-Dist: boto3
|
|
23
|
+
Requires-Dist: pyyaml
|
|
24
|
+
|
|
25
|
+
# Open Neurophysiology Environment
|
|
26
|
+
[](https://coveralls.io/github/int-brain-lab/ONE?branch=main)
|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
The Open Neurophysiology Environment is a scheme for sharing neurophysiology data in a standardized manner. It is a Python API for searching and loading ONE-standardized data, stored either on a user's local machine or on a remote server.
|
|
30
|
+
|
|
31
|
+
Please [Click here](https://int-brain-lab.github.io/ONE/) for the main documentation page. For a quick primer on the file naming convention we use, [click here](https://github.com/int-brain-lab/ONE/blob/main/docs/Open_Neurophysiology_Environment_Filename_Convention.pdf).
|
|
32
|
+
|
|
33
|
+
**NB**: The API and backend database are still under active development, for the best experience please regularly update the package by running `pip install -U ONE-api`.
|
|
34
|
+
|
|
35
|
+
## Requirements
|
|
36
|
+
ONE runs on Python 3.10 or later, and is tested on the latest Ubuntu and Windows (3.10 and 3.12 only).
|
|
37
|
+
|
|
38
|
+
## Installing
|
|
39
|
+
Installing the package via pip typically takes a few seconds. To install, run
|
|
40
|
+
```
|
|
41
|
+
pip install ONE-api
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Set up
|
|
45
|
+
For using ONE with a local cache directory:
|
|
46
|
+
```python
|
|
47
|
+
from one.api import One
|
|
48
|
+
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
|
|
52
|
+
```python
|
|
53
|
+
from one.api import ONE
|
|
54
|
+
ONE.setup(silent=True) # Will use default information
|
|
55
|
+
one = ONE(password='international')
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
For setting up ONE for a given database e.g. internal IBL Alyx:
|
|
59
|
+
```python
|
|
60
|
+
from one.api import ONE
|
|
61
|
+
one = ONE(base_url='https://alyx.internationalbrainlab.org')
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Once you've setup the API for the first time, subsequent calls will use the same parameters:
|
|
65
|
+
```python
|
|
66
|
+
from one.api import ONE
|
|
67
|
+
one = ONE()
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
To set up ONE for another database and make it the default:
|
|
71
|
+
```python
|
|
72
|
+
from one.api import ONE
|
|
73
|
+
ONE.setup(base_url='https://test.alyx.internationalbrainlab.org', make_default=True)
|
|
74
|
+
one = ONE() # Connected to https://test.alyx.internationalbrainlab.org
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Using ONE
|
|
78
|
+
To search for sessions:
|
|
79
|
+
```python
|
|
80
|
+
from one.api import ONE
|
|
81
|
+
one = ONE()
|
|
82
|
+
print(one.search_terms()) # A list of search keyword arguments
|
|
83
|
+
|
|
84
|
+
# Search session with wheel timestamps from January 2021 onward
|
|
85
|
+
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
|
|
86
|
+
['d3372b15-f696-4279-9be5-98f15783b5bb']
|
|
87
|
+
|
|
88
|
+
# Search for project sessions with two probes
|
|
89
|
+
eids = one.search(data=['probe00', 'probe01'], project='brainwide')
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
To load data:
|
|
93
|
+
```python
|
|
94
|
+
from one.api import ONE
|
|
95
|
+
one = ONE()
|
|
96
|
+
|
|
97
|
+
# Load an ALF object
|
|
98
|
+
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
99
|
+
wheel = one.load_object(eid, 'wheel')
|
|
100
|
+
|
|
101
|
+
# Load a specific dataset
|
|
102
|
+
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
|
|
103
|
+
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')
|
|
104
|
+
|
|
105
|
+
# Download, but not load, a dataset
|
|
106
|
+
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
To [share data](https://int-brain-lab.github.io/ONE/notebooks/data_sharing.html):
|
|
110
|
+
```python
|
|
111
|
+
from one.api import One
|
|
112
|
+
one = One.setup() # Enter the location of the ALF datasets when prompted
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Further examples and tutorials can be found in the [documentation](https://int-brain-lab.github.io/ONE/).
|