Skip to content

Commit 8dfd593

Browse files
Merge pull request #1311 from datajoint/pre/v2.0
DataJoint 2.0
2 parents 63ebc38 + bf12aba commit 8dfd593

File tree

292 files changed

+31998
-21670
lines changed

Some content is hidden

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

292 files changed

+31998
-21670
lines changed

.codespellrc

Lines changed: 0 additions & 5 deletions
This file was deleted.

.devcontainer/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ RUN \
88
pip uninstall datajoint -y
99

1010
USER root
11-
ENV DJ_HOST db
12-
ENV DJ_USER root
13-
ENV DJ_PASS password
11+
ENV DJ_HOST=db
12+
ENV DJ_USER=root
13+
ENV DJ_PASS=password
14+
ENV S3_ENDPOINT=minio:9000

.devcontainer/devcontainer.json

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,6 @@
1-
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2-
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose
31
{
4-
"name": "Existing Docker Compose (Extend)",
5-
// Update the 'dockerComposeFile' list if you have more compose files or use different names.
6-
// The .devcontainer/docker-compose.yml file contains any overrides you need/want to make.
7-
"dockerComposeFile": [
8-
"../docker-compose.yaml",
9-
"docker-compose.yml"
10-
],
11-
// The 'service' property is the name of the service for the container that VS Code should
12-
// use. Update this value and .devcontainer/docker-compose.yml to the real service name.
13-
"service": "app",
14-
// The optional 'workspaceFolder' property is the path VS Code should open by default when
15-
// connected. This is typically a file mount in .devcontainer/docker-compose.yml
16-
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
17-
// Features to add to the dev container. More info: https://containers.dev/features.
18-
// "features": {},
19-
// Use 'forwardPorts' to make a list of ports inside the container available locally.
20-
"forwardPorts": [
21-
80,
22-
443,
23-
3306,
24-
8080,
25-
9000
26-
],
27-
"mounts": [
28-
"type=bind,source=${env:SSH_AUTH_SOCK},target=/ssh-agent"
29-
],
30-
"containerEnv": {
31-
"SSH_AUTH_SOCK": "/ssh-agent"
32-
},
33-
// Uncomment the next line if you want start specific services in your Docker Compose config.
34-
// "runServices": [],
35-
// Uncomment the next line if you want to keep your containers running after VS Code shuts down.
36-
"shutdownAction": "stopCompose",
37-
"onCreateCommand": "python3 -m pip install -q -e .[dev]",
38-
"features": {
39-
"ghcr.io/devcontainers/features/git:1": {},
40-
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
41-
"ghcr.io/devcontainers/features/github-cli:1": {},
42-
},
43-
// Configure tool-specific properties.
44-
"customizations": {
45-
"vscode": {
46-
"extensions": [
47-
"ms-python.python"
48-
]
49-
}
50-
},
51-
"remoteEnv": {
52-
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
53-
}
54-
// Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root.
55-
// "remoteUser": "devcontainer"
2+
"dockerComposeFile": ["../docker-compose.yaml", "docker-compose.yml"],
3+
"service": "app",
4+
"workspaceFolder": "/src",
5+
"postCreateCommand": "curl -fsSL https://pixi.sh/install.sh | bash && echo 'export PATH=\"$HOME/.pixi/bin:$PATH\"' >> ~/.bashrc"
566
}

.devcontainer/docker-compose.yml

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,14 @@
1+
# Devcontainer overrides for the app service from ../docker-compose.yaml
2+
# Inherits db and minio services automatically
13
services:
2-
# Update this to the name of the service you want to work with in your docker-compose.yml file
34
app:
4-
# Uncomment if you want to override the service's Dockerfile to one in the .devcontainer
5-
# folder. Note that the path of the Dockerfile and context is relative to the *primary*
6-
# docker-compose.yml file (the first in the devcontainer.json "dockerComposeFile"
7-
# array). The sample below assumes your primary file is in the root of your project.
85
container_name: datajoint-python-devcontainer
9-
image: datajoint/datajoint-python-devcontainer:${PY_VER:-3.11}-${DISTRO:-bookworm}
106
build:
11-
context: .
7+
context: ..
128
dockerfile: .devcontainer/Dockerfile
139
args:
1410
- PY_VER=${PY_VER:-3.11}
1511
- DISTRO=${DISTRO:-bookworm}
16-
17-
volumes:
18-
# Update this to wherever you want VS Code to mount the folder of your project
19-
- ..:/workspaces:cached
20-
21-
# Uncomment the next four lines if you will use a ptrace-based debugger like C++, Go, and Rust.
22-
# cap_add:
23-
# - SYS_PTRACE
24-
# security_opt:
25-
# - seccomp:unconfined
26-
2712
user: root
28-
29-
# Overrides default command so things don't shut down after the process ends.
13+
# Keep container running for devcontainer
3014
command: /bin/sh -c "while sleep 1000; do :; done"

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SCM syntax highlighting & preventing 3-way merges
2+
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
title: "[RFC] "
2+
labels:
3+
- rfc
4+
- "status: proposed"
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
## DataJoint Enhancement Proposal
10+
11+
Use this template to propose changes to DataJoint specifications, APIs, or documentation structure.
12+
13+
**Before submitting:**
14+
- Search existing discussions to avoid duplicates
15+
- Consider starting with an informal discussion in the Ideas category first
16+
17+
- type: textarea
18+
id: summary
19+
attributes:
20+
label: Summary
21+
description: A brief, one-paragraph explanation of the proposal.
22+
placeholder: This proposal adds/changes/removes...
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: motivation
28+
attributes:
29+
label: Motivation
30+
description: |
31+
Why is this change needed? What problem does it solve?
32+
Include concrete use cases and examples where possible.
33+
placeholder: |
34+
Currently, users need to...
35+
This causes problems when...
36+
With this change, users could...
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: design
42+
attributes:
43+
label: Proposed Design
44+
description: |
45+
Detailed explanation of the proposed solution.
46+
Include code examples, API signatures, or schema definitions as appropriate.
47+
placeholder: |
48+
## API Changes
49+
```python
50+
# Example usage
51+
```
52+
53+
## Behavior
54+
- When X happens, Y should occur
55+
- Error handling: ...
56+
validations:
57+
required: true
58+
59+
- type: textarea
60+
id: alternatives
61+
attributes:
62+
label: Alternatives Considered
63+
description: What other approaches were considered and why were they not chosen?
64+
placeholder: |
65+
1. Alternative A: ...
66+
Rejected because: ...
67+
68+
2. Alternative B: ...
69+
Rejected because: ...
70+
71+
- type: textarea
72+
id: compatibility
73+
attributes:
74+
label: Backwards Compatibility
75+
description: |
76+
How does this affect existing users?
77+
- Breaking changes?
78+
- Migration path?
79+
- Deprecation timeline?
80+
placeholder: |
81+
This change is/is not backwards compatible.
82+
83+
Migration path:
84+
1. ...
85+
86+
- type: textarea
87+
id: implementation
88+
attributes:
89+
label: Implementation Notes
90+
description: |
91+
Optional: Technical details, affected files, estimated scope.
92+
Prototyping in parallel with RFC discussion is encouraged.
93+
placeholder: |
94+
Affected components:
95+
- datajoint-python/src/datajoint/...
96+
97+
Estimated scope: small/medium/large
98+
99+
- type: checkboxes
100+
id: checklist
101+
attributes:
102+
label: Checklist
103+
options:
104+
- label: I have searched existing discussions and issues for duplicates
105+
required: true
106+
- label: I have considered backwards compatibility
107+
required: true

.github/pr_labeler.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# https://github.com/actions/labeler
22
breaking:
3-
- head-branch: ['breaking', 'BREAKING']
3+
- head-branch: ['breaking', 'BREAKING', 'pre/v2.0']
44
bug:
5-
- head-branch: ['fix', 'FIX', 'bug', 'BUG']
5+
- head-branch: ['fix', 'FIX', 'bug', 'BUG', 'pre/v2.0']
66
feature:
77
- head-branch: ['feat', 'FEAT']
88
documentation:

.github/workflows/label_prs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ jobs:
1414
with:
1515
repo-token: ${{ secrets.GITHUB_TOKEN }}
1616
configuration-path: .github/pr_labeler.yaml
17-
sync-labels: true
17+
sync-labels: false # Don't remove manually added labels
1818
dot: true

.github/workflows/lint.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
extra_args: codespell --all-files
2424
- uses: pre-commit/action@v3.0.1
2525
with:
26-
extra_args: black --all-files
26+
extra_args: ruff --all-files
2727
- uses: pre-commit/action@v3.0.1
2828
with:
29-
extra_args: flake8 --all-files
29+
extra_args: ruff-format --all-files

.github/workflows/post_draft_release_published.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
strategy:
2424
matrix:
2525
include:
26-
- py_ver: "3.9"
26+
- py_ver: "3.10"
2727
runs-on: ubuntu-latest
2828
env:
2929
PY_VER: ${{matrix.py_ver}}
@@ -40,14 +40,14 @@ jobs:
4040
- name: Update version.py
4141
run: |
4242
VERSION=$(echo "${{ github.event.release.name }}" | grep -oP '\d+\.\d+\.\d+')
43-
sed -i "s/^__version__ = .*/__version__ = \"$VERSION\"/" datajoint/version.py
44-
cat datajoint/version.py
43+
sed -i "s/^__version__ = .*/__version__ = \"$VERSION\"/" src/datajoint/version.py
44+
cat src/datajoint/version.py
4545
# Commit the changes
4646
BRANCH_NAME="update-version-$VERSION"
4747
git switch -c $BRANCH_NAME
4848
git config --global user.name "github-actions"
4949
git config --global user.email "github-actions@github.com"
50-
git add datajoint/version.py
50+
git add src/datajoint/version.py
5151
git commit -m "Update version.py to $VERSION"
5252
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
5353
- name: Update README.md badge

0 commit comments

Comments
 (0)