Skip to content

Commit 981aabe

Browse files
committed
Merge branch 'master' of https://github.com/datajoint/datajoint-python into mp-test
2 parents 51b44f2 + 8f14969 commit 981aabe

File tree

9 files changed

+36
-30
lines changed

9 files changed

+36
-30
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* Add - Allow reading blobs produced by legacy 32-bit compiled mYm library for matlab. PR #995
55
* Bugfix - Add missing `jobs` argument for multiprocessing
66
* Add - Test for multiprocessing
7+
* Bugfix - Fix external store key name doesn't allow '-' (#1005) PR #1006
78

89
### 0.13.3 -- Feb 9, 2022
910
* Bugfix - Fix error in listing ancestors, descendants with part tables.

LNX-docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ services:
3232
interval: 1s
3333
fakeservices.datajoint.io:
3434
<<: *net
35-
image: datajoint/nginx:v0.0.19
35+
image: datajoint/nginx:v0.1.1
3636
environment:
3737
- ADD_db_TYPE=DATABASE
3838
- ADD_db_ENDPOINT=db:3306

README.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,8 @@
88
# Welcome to DataJoint for Python!
99
DataJoint for Python is a framework for scientific workflow management based on relational principles. DataJoint is built on the foundation of the relational data model and prescribes a consistent method for organizing, populating, computing, and querying data.
1010

11-
DataJoint was initially developed in 2009 by Dimitri Yatsenko in Andreas Tolias' Lab for the distributed processing and management of large volumes of data streaming from regular experiments. Starting in 2011, DataJoint has been available as an open-source project adopted by other labs and improved through contributions from several developers.
12-
13-
Vathes LLC supports DataJoint for Python as an open-source project and everyone is welcome to contribute.
14-
Its DataJoint Neuro (https://djneuro.io) business provides support to neuroscience labs for developing and executing custom data pipelines.
11+
DataJoint was initially developed in 2009 by Dimitri Yatsenko in Andreas Tolias' Lab at Baylor College of Medicine for the distributed processing and management of large volumes of data streaming from regular experiments. Starting in 2011, DataJoint has been available as an open-source project adopted by other labs and improved through contributions from several developers.
12+
Presently, the primary developer of DataJoint open-source software is the company DataJoint (https://datajoint.com). Related resources are listed at https://datajoint.org
1513

1614
## Installation
1715
```
@@ -22,7 +20,18 @@ If you already have an older version of DataJoint installed using `pip`, upgrade
2220
```bash
2321
pip3 install --upgrade datajoint
2422
```
23+
24+
## Documentation and Tutorials
25+
26+
* https://datajoint.org -- start page
27+
* https://docs.datajoint.org -- up-to-date documentation
28+
* https://tutorials.datajoint.io -- step-by-step tutorials
29+
* https://elements.datajoint.org -- catalog of example pipelines
30+
* https://codebook.datajoint.io -- interactive online tutorials
31+
2532
## Python Native Blobs
33+
<details>
34+
<summary>Click to expand details</summary>
2635

2736
DataJoint 0.12 adds full support for all native python data types in blobs: tuples, lists, sets, dicts, strings, bytes, `None`, and all their recursive combinations.
2837
The new blobs are a superset of the old functionality and are fully backward compatible.
@@ -92,16 +101,11 @@ the situation, but generally the following strategies may apply:
92101
As always, be sure that your data is safely backed up before modifying any
93102
important DataJoint schema or records.
94103

95-
## Documentation and Tutorials
96-
A number of labs are currently adopting DataJoint and we are quickly getting the documentation in shape in February 2017.
97-
98-
* https://datajoint.io -- start page
99-
* https://docs.datajoint.io -- up-to-date documentation
100-
* https://tutorials.datajoint.io -- step-by-step tutorials
101-
* https://catalog.datajoint.io -- catalog of example pipelines
104+
</details>
102105

103106
## Running Tests Locally
104-
107+
<details>
108+
<summary>Click to expand details</summary>
105109

106110
* Create an `.env` with desired development environment values e.g.
107111
``` sh
@@ -136,9 +140,9 @@ GID=1000
136140
* Add entry in `/etc/hosts` for `127.0.0.1 fakeservices.datajoint.io`
137141

138142

139-
140-
141143
### Launch Jupyter Notebook for Interactive Use
142144
* Navigate to `localhost:8888`
143145
* Input Jupyter password
144146
* Launch a notebook i.e. `New > Python 3`
147+
148+
</details>

datajoint/declare.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
BOOL=r'bool(ean)?$', # aliased to tinyint(1)
2424
TEMPORAL=r'(date|datetime|time|timestamp|year)(\s*\(.+\))?$',
2525
INTERNAL_BLOB=r'(tiny|small|medium|long|)blob$',
26-
EXTERNAL_BLOB=r'blob@(?P<store>[a-z]\w*)$',
26+
EXTERNAL_BLOB=r'blob@(?P<store>[a-z][\-\w]*)$',
2727
INTERNAL_ATTACH=r'attach$',
28-
EXTERNAL_ATTACH=r'attach@(?P<store>[a-z]\w*)$',
29-
FILEPATH=r'filepath@(?P<store>[a-z]\w*)$',
28+
EXTERNAL_ATTACH=r'attach@(?P<store>[a-z][\-\w]*)$',
29+
FILEPATH=r'filepath@(?P<store>[a-z][\-\w]*)$',
3030
UUID=r'uuid$',
3131
ADAPTED=r'<.+>$'
3232
).items()}

docs-parts/intro/Releases_lang1.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* Add - Allow reading blobs produced by legacy 32-bit compiled mYm library for matlab. PR #995
44
* Bugfix - Add missing `jobs` argument for multiprocessing
55
* Add - Test for multiprocessing
6+
* Bugfix - Fix external store key name doesn't allow '-' (#1005) PR #1006
67

78
0.13.3 -- Feb 9, 2022
89
----------------------

local-docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ services:
3434
interval: 1s
3535
fakeservices.datajoint.io:
3636
<<: *net
37-
image: datajoint/nginx:v0.0.19
37+
image: datajoint/nginx:v0.1.1
3838
environment:
3939
- ADD_db_TYPE=DATABASE
4040
- ADD_db_ENDPOINT=db:3306

tests/schema_adapted.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from . import PREFIX, CONN_INFO, S3_CONN_INFO
99

1010
stores_config = {
11-
'repo_s3': dict(
11+
'repo-s3': dict(
1212
S3_CONN_INFO,
1313
protocol='s3',
1414
location='adapted/repo',
@@ -59,7 +59,7 @@ class LayoutToFilepath(dj.AttributeAdapter):
5959
An adapted data type that saves a graph layout into fixed filepath
6060
"""
6161

62-
attribute_type = 'filepath@repo_s3'
62+
attribute_type = 'filepath@repo-s3'
6363

6464
@staticmethod
6565
def get(path):
@@ -68,7 +68,7 @@ def get(path):
6868

6969
@staticmethod
7070
def put(layout):
71-
path = Path(dj.config['stores']['repo_s3']['stage'], 'layout.json')
71+
path = Path(dj.config['stores']['repo-s3']['stage'], 'layout.json')
7272
with open(str(path), "w") as f:
7373
json.dump(layout, f)
7474
return path

tests/schema_external.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
protocol='file',
2323
location=tempfile.mkdtemp()),
2424

25-
'repo_s3': dict(
25+
'repo-s3': dict(
2626
S3_CONN_INFO,
2727
protocol='s3',
2828
location='dj/repo',
@@ -130,7 +130,7 @@ class FilepathS3(dj.Manual):
130130
# table for file management
131131
fnum : int
132132
---
133-
img : filepath@repo_s3 # managed files
133+
img : filepath@repo-s3 # managed files
134134
"""
135135

136136
dj.errors._switch_filepath_types(False)

tests/test_filepath.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def test_filepath(store="repo"):
9191

9292
def test_filepath_s3():
9393
""" test file management with s3 """
94-
test_filepath(store="repo_s3")
94+
test_filepath(store="repo-s3")
9595

9696

9797
def test_duplicate_upload(store="repo"):
@@ -107,7 +107,7 @@ def test_duplicate_upload(store="repo"):
107107

108108

109109
def test_duplicate_upload_s3():
110-
test_duplicate_upload(store="repo_s3")
110+
test_duplicate_upload(store="repo-s3")
111111

112112

113113
@raises(dj.DataJointError)
@@ -128,7 +128,7 @@ def test_duplicate_error(store="repo"):
128128

129129

130130
def test_duplicate_error_s3():
131-
test_duplicate_error(store="repo_s3")
131+
test_duplicate_error(store="repo-s3")
132132

133133

134134
def test_filepath_class(table=Filepath(), store="repo"):
@@ -176,12 +176,12 @@ def test_filepath_class_again():
176176

177177

178178
def test_filepath_class_s3():
179-
test_filepath_class(FilepathS3(), "repo_s3")
179+
test_filepath_class(FilepathS3(), "repo-s3")
180180

181181

182182
def test_filepath_class_s3_again():
183183
"""test_filepath_class_s3 again to deal with existing remote files"""
184-
test_filepath_class(FilepathS3(), "repo_s3")
184+
test_filepath_class(FilepathS3(), "repo-s3")
185185

186186

187187
def test_filepath_cleanup(table=Filepath(), store="repo"):
@@ -218,7 +218,7 @@ def test_filepath_cleanup(table=Filepath(), store="repo"):
218218

219219
def test_filepath_cleanup_s3():
220220
"""test deletion of filepath entries from external table """
221-
store = "repo_s3"
221+
store = "repo-s3"
222222
test_filepath_cleanup(FilepathS3(), store)
223223

224224

0 commit comments

Comments
 (0)