ONE-api 3.4.0__tar.gz → 3.4.2__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.
Files changed (47) hide show
  1. {one_api-3.4.0 → one_api-3.4.2/ONE_api.egg-info}/PKG-INFO +4 -4
  2. {one_api-3.4.0 → one_api-3.4.2}/ONE_api.egg-info/requires.txt +2 -2
  3. {one_api-3.4.0/ONE_api.egg-info → one_api-3.4.2}/PKG-INFO +4 -4
  4. {one_api-3.4.0 → one_api-3.4.2}/README.md +1 -1
  5. {one_api-3.4.0 → one_api-3.4.2}/one/__init__.py +1 -1
  6. {one_api-3.4.0 → one_api-3.4.2}/one/alf/cache.py +7 -2
  7. {one_api-3.4.0 → one_api-3.4.2}/one/webclient.py +12 -6
  8. one_api-3.4.2/requirements.txt +9 -0
  9. one_api-3.4.0/requirements.txt +0 -9
  10. {one_api-3.4.0 → one_api-3.4.2}/LICENSE +0 -0
  11. {one_api-3.4.0 → one_api-3.4.2}/MANIFEST.in +0 -0
  12. {one_api-3.4.0 → one_api-3.4.2}/ONE_api.egg-info/SOURCES.txt +0 -0
  13. {one_api-3.4.0 → one_api-3.4.2}/ONE_api.egg-info/dependency_links.txt +0 -0
  14. {one_api-3.4.0 → one_api-3.4.2}/ONE_api.egg-info/top_level.txt +0 -0
  15. {one_api-3.4.0 → one_api-3.4.2}/one/alf/__init__.py +0 -0
  16. {one_api-3.4.0 → one_api-3.4.2}/one/alf/exceptions.py +0 -0
  17. {one_api-3.4.0 → one_api-3.4.2}/one/alf/io.py +0 -0
  18. {one_api-3.4.0 → one_api-3.4.2}/one/alf/path.py +0 -0
  19. {one_api-3.4.0 → one_api-3.4.2}/one/alf/spec.py +0 -0
  20. {one_api-3.4.0 → one_api-3.4.2}/one/api.py +0 -0
  21. {one_api-3.4.0 → one_api-3.4.2}/one/converters.py +0 -0
  22. {one_api-3.4.0 → one_api-3.4.2}/one/params.py +0 -0
  23. {one_api-3.4.0 → one_api-3.4.2}/one/registration.py +0 -0
  24. {one_api-3.4.0 → one_api-3.4.2}/one/remote/__init__.py +0 -0
  25. {one_api-3.4.0 → one_api-3.4.2}/one/remote/aws.py +0 -0
  26. {one_api-3.4.0 → one_api-3.4.2}/one/remote/base.py +0 -0
  27. {one_api-3.4.0 → one_api-3.4.2}/one/remote/globus.py +0 -0
  28. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/datasets.pqt +0 -0
  29. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/params/.caches +0 -0
  30. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/params/.test.alyx.internationalbrainlab.org +0 -0
  31. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/1f187d80fd59677b395fcdb18e68e4401bfa1cc9 +0 -0
  32. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/3f51aa2e0baa42438467906f56a457c91a221898 +0 -0
  33. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/47893cf67c985e6361cdee009334963f49fb0746 +0 -0
  34. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/535d0e9a1e2c1efbdeba0d673b131e00361a2edb +0 -0
  35. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/5618bea3484a52cd893616f07903f0e49e023ba1 +0 -0
  36. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/6dc96f7e9bcc6ac2e7581489b9580a6cd3f28293 +0 -0
  37. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/coreapi.json +0 -0
  38. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/db1731fb8df0208944ae85f76718430813a8bf50 +0 -0
  39. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/dcce48259bb929661f60a02a48563f70aa6185b3 +0 -0
  40. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/f530d6022f61cdc9e38cc66beb3cb71f3003c9a1 +0 -0
  41. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/rest_responses/openapiv3.json +0 -0
  42. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/sessions.pqt +0 -0
  43. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/test_dbs.json +0 -0
  44. {one_api-3.4.0 → one_api-3.4.2}/one/tests/fixtures/test_img.png +0 -0
  45. {one_api-3.4.0 → one_api-3.4.2}/one/util.py +0 -0
  46. {one_api-3.4.0 → one_api-3.4.2}/pyproject.toml +0 -0
  47. {one_api-3.4.0 → one_api-3.4.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ONE-api
3
- Version: 3.4.0
3
+ Version: 3.4.2
4
4
  Summary: Open Neurophysiology Environment
5
5
  Author: IBL Staff
6
6
  License: MIT
@@ -13,8 +13,8 @@ Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: ruff
16
- Requires-Dist: numpy>=1.18
17
- Requires-Dist: pandas>=1.5.0
16
+ Requires-Dist: numpy<2.4,>=1.18
17
+ Requires-Dist: pandas<3.0.0,>=1.5.0
18
18
  Requires-Dist: tqdm>=4.32.1
19
19
  Requires-Dist: requests>=2.22.0
20
20
  Requires-Dist: iblutil>=1.14.0
@@ -46,7 +46,7 @@ pip install ONE-api
46
46
  For using ONE with a local cache directory:
47
47
  ```python
48
48
  from one.api import One
49
- one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
49
+ one = One(cache_dir='/home/user/downloads/ONE/behavior_paper')
50
50
  ```
51
51
 
52
52
  To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
@@ -1,6 +1,6 @@
1
1
  ruff
2
- numpy>=1.18
3
- pandas>=1.5.0
2
+ numpy<2.4,>=1.18
3
+ pandas<3.0.0,>=1.5.0
4
4
  tqdm>=4.32.1
5
5
  requests>=2.22.0
6
6
  iblutil>=1.14.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ONE-api
3
- Version: 3.4.0
3
+ Version: 3.4.2
4
4
  Summary: Open Neurophysiology Environment
5
5
  Author: IBL Staff
6
6
  License: MIT
@@ -13,8 +13,8 @@ Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: ruff
16
- Requires-Dist: numpy>=1.18
17
- Requires-Dist: pandas>=1.5.0
16
+ Requires-Dist: numpy<2.4,>=1.18
17
+ Requires-Dist: pandas<3.0.0,>=1.5.0
18
18
  Requires-Dist: tqdm>=4.32.1
19
19
  Requires-Dist: requests>=2.22.0
20
20
  Requires-Dist: iblutil>=1.14.0
@@ -46,7 +46,7 @@ pip install ONE-api
46
46
  For using ONE with a local cache directory:
47
47
  ```python
48
48
  from one.api import One
49
- one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
49
+ one = One(cache_dir='/home/user/downloads/ONE/behavior_paper')
50
50
  ```
51
51
 
52
52
  To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
@@ -21,7 +21,7 @@ pip install ONE-api
21
21
  For using ONE with a local cache directory:
22
22
  ```python
23
23
  from one.api import One
24
- one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')
24
+ one = One(cache_dir='/home/user/downloads/ONE/behavior_paper')
25
25
  ```
26
26
 
27
27
  To use the default setup settings that connect you to the [IBL public database](https://openalyx.internationalbrainlab.org):
@@ -1,2 +1,2 @@
1
1
  """The Open Neurophysiology Environment (ONE) API."""
2
- __version__ = '3.4.0'
2
+ __version__ = '3.4.2'
@@ -538,13 +538,18 @@ def merge_tables(cache, strict=False, origin=None, **kwargs):
538
538
  cache[table] = pd.concat(frames).sort_index()
539
539
  updated = datetime.datetime.now()
540
540
  # Update the table metadata with the origin
541
+ table_meta = cache['_meta']['raw'].get(table, {})
541
542
  if origin is not None:
542
- table_meta = cache['_meta']['raw'].get(table, {})
543
543
  if 'origin' not in table_meta:
544
- table_meta['origin'] = set(origin)
544
+ table_meta['origin'] = set(ensure_list(origin))
545
545
  else:
546
546
  table_meta['origin'].add(origin)
547
547
  cache['_meta']['raw'][table] = table_meta
548
+ # Makes sure that the `date_created` field exists for a new table
549
+ if 'date_created' not in table_meta.keys():
550
+ table_meta['date_created'] = datetime.datetime.now().isoformat(
551
+ sep=' ', timespec='minutes')
552
+ cache['_meta']['raw'][table] = table_meta
548
553
  cache['_meta']['modified_time'] = updated
549
554
  return updated
550
555
 
@@ -134,12 +134,16 @@ def _cache_response(method):
134
134
  # Reversible but length may exceed 255 chars
135
135
  # name = base64.urlsafe_b64encode(args[2].encode('UTF-8')).decode('UTF-8')
136
136
  files = list(rest_cache.glob(name))
137
- cached = None
137
+ cached, when = None, None
138
138
  if len(files) == 1 and not clobber:
139
139
  _logger.debug('loading REST response from cache')
140
- with open(files[0], 'r') as f:
141
- cached, when = json.load(f)
142
- if datetime.fromisoformat(when) > datetime.now():
140
+ try:
141
+ with open(files[0], 'r') as f:
142
+ cached, when = json.load(f)
143
+ except json.JSONDecodeError as e:
144
+ _logger.debug(f'corrupted cache file {name}: {e}')
145
+ files[0].unlink() # delete corrupted cache file
146
+ if cached and datetime.fromisoformat(when) > datetime.now():
143
147
  return cached
144
148
  try:
145
149
  response = method(alyx_client, *args, **kwargs)
@@ -409,7 +413,7 @@ def http_download_file(full_link_to_file, chunks=None, *, clobber=False, silent=
409
413
  Directory in which files are downloaded; defaults to user's Download directory
410
414
  return_md5 : bool
411
415
  If True an MD5 hash of the file is additionally returned
412
- headers : list of dicts
416
+ headers : dict
413
417
  Additional headers to add to the request (auth tokens etc.)
414
418
 
415
419
  Returns
@@ -1502,7 +1506,9 @@ class AlyxClient:
1502
1506
  if len(set(kwargs.keys()) - set(self.rest_schemes.field_names(endpoint, action))):
1503
1507
  missing = set(kwargs.keys()) - set(
1504
1508
  self.rest_schemes.field_names(endpoint, action))
1505
- raise ValueError(f"Error: Unsupported fields '{missing}' in query parameters.")
1509
+ warnings.warn(
1510
+ f"Error: Unsupported fields '{missing}' in query parameters"
1511
+ f" for endpoint {endpoint}.")
1506
1512
  query_params = {k: ','.join(map(str, ensure_list(v))) for k, v in kwargs.items()}
1507
1513
  url = update_url_params(url, query_params)
1508
1514
  return self.get('/' + url, **cache_args)
@@ -0,0 +1,9 @@
1
+ ruff
2
+ numpy>=1.18, <2.4 # waiting for numba to support 2.4
3
+ pandas>=1.5.0, <3.0.0 # pandas 3 regex on strings issue <one.tests.test_one.TestONECache testMethod=test_filter>
4
+ tqdm>=4.32.1
5
+ requests>=2.22.0
6
+ iblutil>=1.14.0
7
+ packaging
8
+ boto3
9
+ pyyaml
@@ -1,9 +0,0 @@
1
- ruff
2
- numpy>=1.18
3
- pandas>=1.5.0
4
- tqdm>=4.32.1
5
- requests>=2.22.0
6
- iblutil>=1.14.0
7
- packaging
8
- boto3
9
- pyyaml
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes