Skip to content

Commit 02127a0

Browse files
author
Thinh Nguyen
committed
Merge branch 'master' into populate_success_count
2 parents 0f84560 + e2bfe7a commit 02127a0

File tree

141 files changed

+1838
-445
lines changed

Some content is hidden

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

141 files changed

+1838
-445
lines changed

.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM mcr.microsoft.com/devcontainers/python:3.7-bullseye
44
RUN \
55
apt update && \
66
apt-get install bash-completion graphviz default-mysql-client -y && \
7-
pip install flake8 black faker ipykernel nose nose-cov datajoint && \
7+
pip install flake8 black faker ipykernel pytest pytest-cov nose nose-cov datajoint && \
88
pip uninstall datajoint -y
99

1010
ENV DJ_HOST fakeservices.datajoint.io

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"ghcr.io/guiyomh/features/vim:0": {}
1717
},
1818
"onCreateCommand": "pip install -e .",
19-
"postStartCommand": "MYSQL_VER=8.0 MINIO_VER=RELEASE.2022-08-11T04-37-28Z docker compose -f local-docker-compose.yml down && MYSQL_VER=8.0 MINIO_VER=RELEASE.2022-08-11T04-37-28Z docker compose -f local-docker-compose.yml up --build --wait",
19+
"postStartCommand": "MYSQL_VER=8.0 MINIO_VER=RELEASE.2022-08-11T04-37-28Z docker compose -f local-docker-compose.yml down && docker volume prune -f && MYSQL_VER=8.0 MINIO_VER=RELEASE.2022-08-11T04-37-28Z docker compose -f local-docker-compose.yml up --build --wait",
2020
"forwardPorts": [
2121
80,
2222
443,

.github/workflows/development.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ jobs:
9292
--count --max-complexity=62 --max-line-length=127 --statistics
9393
black datajoint --check -v
9494
black tests --check -v
95+
black tests_old --check -v
9596
publish-docs:
9697
if: |
9798
github.event_name == 'push' &&

.vscode/settings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,11 @@
1111
"[markdown]": {
1212
"editor.defaultFormatter": "disable"
1313
},
14+
"[yaml]": {
15+
"editor.defaultFormatter": "disable"
16+
},
17+
"[dockercompose]": {
18+
"editor.defaultFormatter": "disable"
19+
},
1420
"files.autoSave": "off"
1521
}

CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
## Release notes
22

3+
### 0.14.1 -- Jun 02, 2023
4+
- Fixed - Fix altering a part table that uses the "master" keyword - PR [#991](https://github.com/datajoint/datajoint-python/pull/991)
5+
- Fixed - `.ipynb` output in tutorials is not visible in dark mode ([#1078](https://github.com/datajoint/datajoint-python/issues/1078)) PR [#1080](https://github.com/datajoint/datajoint-python/pull/1080)
6+
- Fixed - preview table font for darkmode PR [#1089](https://github.com/datajoint/datajoint-python/pull/1089)
7+
- Changed - Readme to update links and include example pipeline image
8+
- Changed - Docs to add landing page and update navigation
9+
- Changed - `.data` method to `.stream` in the `get()` method for S3 (external) objects PR [#1085](https://github.com/datajoint/datajoint-python/pull/1085)
10+
- Fixed - Docs to rename `create_virtual_module` to `VirtualModule`
11+
- Added - Skeleton from `datajoint-company/datajoint-docs` repository for docs migration
12+
- Added - Initial `pytest` for `test_connection`
13+
314
### 0.14.0 -- Feb 13, 2023
415
- Added - `json` data type ([#245](https://github.com/datajoint/datajoint-python/issues/245)) PR [#1051](https://github.com/datajoint/datajoint-python/pull/1051)
516
- Fixed - Activating a schema requires all tables to exist even if `create_tables=False` PR [#1058](https://github.com/datajoint/datajoint-python/pull/1058)
@@ -13,7 +24,7 @@
1324
- Deprecated - `table._update()` PR [#1073](https://github.com/datajoint/datajoint-python/pull/1073)
1425
- Deprecated - old-style foreign key syntax PR [#1073](https://github.com/datajoint/datajoint-python/pull/1073)
1526
- Deprecated - `dj.migrate_dj011_external_blob_storage_to_dj012()` PR [#1073](https://github.com/datajoint/datajoint-python/pull/1073)
16-
* Added - Method to set job keys to "ignore" status - PR [#1068](https://github.com/datajoint/datajoint-python/pull/1068)
27+
- Added - Method to set job keys to "ignore" status - PR [#1068](https://github.com/datajoint/datajoint-python/pull/1068)
1728

1829
### 0.13.8 -- Sep 21, 2022
1930
- Added - New documentation structure based on markdown PR [#1052](https://github.com/datajoint/datajoint-python/pull/1052)

LNX-docker-compose.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ services:
4444
interval: 15s
4545
fakeservices.datajoint.io:
4646
<<: *net
47-
image: datajoint/nginx:v0.2.4
47+
image: datajoint/nginx:v0.2.5
4848
environment:
4949
- ADD_db_TYPE=DATABASE
5050
- ADD_db_ENDPOINT=db:3306
@@ -89,7 +89,8 @@ services:
8989
pip install --user nose nose-cov
9090
pip install -e .
9191
pip list --format=freeze | grep datajoint
92-
nosetests -vsw tests --with-coverage --cover-package=datajoint
92+
pytest -sv --cov-report term-missing --cov=datajoint tests
93+
nosetests -vsw tests_old --with-coverage --cover-package=datajoint
9394
# ports:
9495
# - "8888:8888"
9596
user: ${HOST_UID}:anaconda

README.md

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
[![DOI](https://zenodo.org/badge/16774/datajoint/datajoint-python.svg)](https://zenodo.org/badge/latestdoi/16774/datajoint/datajoint-python)
2-
[![Build Status](https://travis-ci.org/datajoint/datajoint-python.svg?branch=master)](https://travis-ci.org/datajoint/datajoint-python)
32
[![Coverage Status](https://coveralls.io/repos/datajoint/datajoint-python/badge.svg?branch=master&service=github)](https://coveralls.io/github/datajoint/datajoint-python?branch=master)
43
[![PyPI version](https://badge.fury.io/py/datajoint.svg)](http://badge.fury.io/py/datajoint)
5-
[![Requirements Status](https://requires.io/github/datajoint/datajoint-python/requirements.svg?branch=master)](https://requires.io/github/datajoint/datajoint-python/requirements/?branch=master)
64
[![Slack](https://img.shields.io/badge/slack-chat-green.svg)](https://datajoint.slack.com/)
75

86
# Welcome to DataJoint for Python!
@@ -12,22 +10,32 @@ DataJoint for Python is a framework for scientific workflow management based on
1210
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.
1311
Presently, the primary developer of DataJoint open-source software is the company DataJoint (https://datajoint.com).
1412

15-
- [Getting Started](https://datajoint.com/docs/core/datajoint-python/latest/getting-started/)
16-
- [DataJoint Elements](https://datajoint.com/docs/elements/) - Catalog of example pipelines
17-
- [DataJoint CodeBook](https://codebook.datajoint.io) - Interactive online tutorials
18-
- Contribute
13+
## Data Pipeline Example
14+
15+
![pipeline](https://raw.githubusercontent.com/datajoint/datajoint-python/master/images/pipeline.png)
16+
17+
[Yatsenko et al., bioRxiv 2021](https://doi.org/10.1101/2021.03.30.437358)
18+
19+
## Getting Started
20+
21+
- Install from PyPI
22+
23+
```bash
24+
pip install datajoint
25+
```
26+
27+
- [Documentation & Tutorials](https://datajoint.com/docs/core/datajoint-python/)
28+
29+
- [Interactive Tutorials](https://github.com/datajoint/datajoint-tutorials) on GitHub Codespaces
1930

31+
- [DataJoint Elements](https://datajoint.com/docs/elements/) - Catalog of example pipelines for neuroscience experiments
32+
33+
- Contribute
2034
- [Development Environment](https://datajoint.com/docs/core/datajoint-python/latest/develop/)
35+
2136
- [Guidelines](https://datajoint.com/docs/community/contribute/)
2237

2338
- Legacy Resources (To be replaced by above)
2439
- [Documentation](https://docs.datajoint.org)
25-
- [Tutorials](https://tutorials.datajoint.org)
2640

27-
## Citation
28-
29-
- If your work uses DataJoint for Python, please cite the following Research Resource Identifier (RRID) and manuscript.
30-
31-
- DataJoint ([RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543)) - DataJoint for Python (version `<Enter version number>`)
32-
33-
- Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, Hoenselaar A, Cotton RJ, Siapas AS, Tolias AS. DataJoint: managing big scientific data using MATLAB or Python. bioRxiv. 2015 Jan 1:031658. doi: https://doi.org/10.1101/031658
41+
- [Tutorials](https://tutorials.datajoint.org)

datajoint/admin.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
logger = logging.getLogger(__name__.split(".")[0])
99

1010

11-
def set_password(
12-
new_password=None, connection=None, update_config=None
13-
): # pragma: no cover
11+
def set_password(new_password=None, connection=None, update_config=None):
1412
connection = conn() if connection is None else connection
1513
if new_password is None:
1614
new_password = getpass("New password: ")
@@ -28,7 +26,7 @@ def set_password(
2826
config.save_local(verbose=True)
2927

3028

31-
def kill(restriction=None, connection=None, order_by=None): # pragma: no cover
29+
def kill(restriction=None, connection=None, order_by=None):
3230
"""
3331
view and kill database connections.
3432

datajoint/connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@ def conn(
120120
host = host if host is not None else config["database.host"]
121121
user = user if user is not None else config["database.user"]
122122
password = password if password is not None else config["database.password"]
123-
if user is None: # pragma: no cover
123+
if user is None:
124124
user = input("Please enter DataJoint username: ")
125-
if password is None: # pragma: no cover
125+
if password is None:
126126
password = getpass(prompt="Please enter DataJoint password: ")
127127
init_fun = (
128128
init_fun if init_fun is not None else config["connection.init_function"]

datajoint/dependencies.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def load(self, force=True):
127127
self.add_edge(fk["referenced_table"], alias_node, **props)
128128
self.add_edge(alias_node, fk["referencing_table"], **props)
129129

130-
if not nx.is_directed_acyclic_graph(self): # pragma: no cover
130+
if not nx.is_directed_acyclic_graph(self):
131131
raise DataJointError("DataJoint can only work with acyclic dependencies")
132132
self._loaded = True
133133

0 commit comments

Comments
 (0)