-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from MilagrosMarin/first_release
Initial Release for `element-moseq`
- Loading branch information
Showing
50 changed files
with
9,013 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
FROM python:3.9-slim@sha256:5f0192a4f58a6ce99f732fe05e3b3d00f12ae62e183886bca3ebe3d202686c7f | ||
|
||
ENV PATH /usr/local/bin:$PATH | ||
ENV PYTHON_VERSION 3.9.17 | ||
|
||
RUN \ | ||
adduser --system --disabled-password --shell /bin/bash vscode && \ | ||
# install docker | ||
apt-get update && \ | ||
apt-get install ca-certificates curl gnupg lsb-release -y && \ | ||
mkdir -m 0755 -p /etc/apt/keyrings && \ | ||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ | ||
apt-get update && \ | ||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y && \ | ||
usermod -aG docker vscode && \ | ||
apt-get clean | ||
|
||
RUN \ | ||
# dev setup | ||
apt update && \ | ||
apt-get install sudo git bash-completion graphviz default-mysql-client s3fs procps -y && \ | ||
usermod -aG sudo vscode && \ | ||
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \ | ||
pip install --no-cache-dir --upgrade black pip nbconvert && \ | ||
echo '. /etc/bash_completion' >> /home/vscode/.bashrc && \ | ||
echo 'export PS1="\[\e[32;1m\]\u\[\e[m\]@\[\e[34;1m\]\H\[\e[m\]:\[\e[33;1m\]\w\[\e[m\]$ "' >> /home/vscode/.bashrc && \ | ||
apt-get clean | ||
|
||
COPY ./ /tmp/element-moseq/ | ||
|
||
RUN \ | ||
# pipeline dependencies | ||
apt-get install gcc g++ ffmpeg libsm6 libxext6 libgl1 libegl1 -y && \ | ||
pip install --no-cache-dir -e /tmp/element-moseq[elements,tests] && \ | ||
# clean up | ||
rm -rf /tmp/element-moseq/ && \ | ||
apt-get clean | ||
|
||
# Install Keypoint-MoSeq (CPU version) | ||
RUN pip install "jax[cpu]==0.3.22" -f https://storage.googleapis.com/jax-releases/jax_releases.html | ||
|
||
ENV DJ_HOST fakeservices.datajoint.io | ||
ENV DJ_USER root | ||
ENV DJ_PASS simple | ||
|
||
ENV KPMS_ROOT_DATA_DIR /workspaces/element-moseq/example_data/inbox | ||
ENV KPMS_ROOT_OUTPUT_DIR /workspaces/element-moseq/example_data/outbox | ||
ENV DATABASE_PREFIX neuro_ | ||
|
||
USER vscode | ||
CMD bash -c "sudo rm /var/run/docker.pid; sudo dockerd" | ||
|
||
ENV LD_LIBRARY_PATH="/lib:/opt/conda/lib" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"name": "Environment + Data", | ||
"dockerComposeFile": "docker-compose.yaml", | ||
"service": "app", | ||
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", | ||
"remoteEnv": { | ||
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" | ||
}, | ||
"onCreateCommand": "mkdir -p ${KPMS_ROOT_DATA_DIR} && pip install -e .", | ||
"postStartCommand": "docker volume prune -f && s3fs ${DJ_PUBLIC_S3_LOCATION} ${KPMS_ROOT_DATA_DIR} -o nonempty,multipart_size=530,endpoint=us-east-1,url=http://s3.amazonaws.com,public_bucket=1", | ||
"hostRequirements": { | ||
"cpus": 4, | ||
"memory": "8gb", | ||
"storage": "32gb" | ||
}, | ||
"forwardPorts": [ | ||
3306 | ||
], | ||
"customizations": { | ||
"settings": { | ||
"python.pythonPath": "/usr/local/bin/python" | ||
}, | ||
"vscode": { | ||
"extensions": [ | ||
"[email protected]", | ||
"[email protected]" | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
version: "3" | ||
services: | ||
app: | ||
cpus: 4 | ||
mem_limit: 8g | ||
build: | ||
context: .. | ||
dockerfile: ./.devcontainer/Dockerfile | ||
# image: datajoint/element_moseq:latest | ||
extra_hosts: | ||
- fakeservices.datajoint.io:127.0.0.1 | ||
environment: | ||
- DJ_PUBLIC_S3_LOCATION=djhub.vathes.datapub.elements:/workflow-moseq/v1 | ||
devices: | ||
- /dev/fuse | ||
cap_add: | ||
- SYS_ADMIN | ||
security_opt: | ||
- apparmor:unconfined | ||
volumes: | ||
- ..:/workspaces/element-moseq:cached | ||
- docker_data:/var/lib/docker # persist docker images | ||
privileged: true # only because of dind | ||
volumes: | ||
docker_data: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve | ||
title: '' | ||
labels: 'bug' | ||
assignees: '' | ||
|
||
--- | ||
|
||
## Bug Report | ||
|
||
### Description | ||
|
||
A clear and concise description of what is the overall operation that is intended to be | ||
performed that resulted in an error. | ||
|
||
### Reproducibility | ||
Include: | ||
- OS (WIN | MACOS | Linux) | ||
- DataJoint Element Version | ||
- MySQL Version | ||
- MySQL Deployment Strategy (local-native | local-docker | remote) | ||
- Minimum number of steps to reliably reproduce the issue | ||
- Complete error stack as a result of evaluating the above steps | ||
|
||
### Expected Behavior | ||
A clear and concise description of what you expected to happen. | ||
|
||
### Screenshots | ||
If applicable, add screenshots to help explain your problem. | ||
|
||
### Additional Research and Context | ||
Add any additional research or context that was conducted in creating this report. | ||
|
||
For example: | ||
- Related GitHub issues and PR's either within this repository or in other relevant | ||
repositories. | ||
- Specific links to specific lines or a focus within source code. | ||
- Relevant summary of Maintainers development meetings, milestones, projects, etc. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: DataJoint Contribution Guideline | ||
url: https://datajoint.com/docs/community/contribute/ | ||
about: Please make sure to review the DataJoint Contribution Guidelines |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for a new feature | ||
title: '' | ||
labels: 'enhancement' | ||
assignees: '' | ||
|
||
--- | ||
|
||
## Feature Request | ||
|
||
### Problem | ||
|
||
A clear and concise description how this idea has manifested and the context. Elaborate | ||
on the need for this feature and/or what could be improved. Ex. I'm always frustrated | ||
when [...] | ||
|
||
### Requirements | ||
|
||
A clear and concise description of the requirements to satisfy the new feature. Detail | ||
what you expect from a successful implementation of the feature. Ex. When using this | ||
feature, it should [...] | ||
|
||
### Justification | ||
|
||
Provide the key benefits in making this a supported feature. Ex. Adding support for this | ||
feature would ensure [...] | ||
|
||
### Alternative Considerations | ||
|
||
Do you currently have a work-around for this? Provide any alternative solutions or | ||
features you've considered. | ||
|
||
### Related Errors | ||
Add any errors as a direct result of not exposing this feature. | ||
|
||
Please include steps to reproduce provided errors as follows: | ||
- OS (WIN | MACOS | Linux) | ||
- DataJoint Element Version | ||
- MySQL Version | ||
- MySQL Deployment Strategy (local-native | local-docker | remote) | ||
- Minimum number of steps to reliably reproduce the issue | ||
- Complete error stack as a result of evaluating the above steps | ||
|
||
### Screenshots | ||
If applicable, add screenshots to help explain your feature. | ||
|
||
### Additional Research and Context | ||
Add any additional research or context that was conducted in creating this feature request. | ||
|
||
For example: | ||
- Related GitHub issues and PR's either within this repository or in other relevant | ||
repositories. | ||
- Specific links to specific lines or a focus within source code. | ||
- Relevant summary of Maintainers development meetings, milestones, projects, etc. | ||
- Any additional supplemental web references or links that would further justify this | ||
feature request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: Release | ||
on: | ||
workflow_dispatch: | ||
jobs: | ||
make_github_release: | ||
uses: datajoint/.github/.github/workflows/make_github_release.yaml@main | ||
pypi_release: | ||
needs: make_github_release | ||
uses: datajoint/.github/.github/workflows/pypi_release.yaml@main | ||
secrets: | ||
TWINE_USERNAME: ${{secrets.TWINE_USERNAME}} | ||
TWINE_PASSWORD: ${{secrets.TWINE_PASSWORD}} | ||
with: | ||
UPLOAD_URL: ${{needs.make_github_release.outputs.release_upload_url}} | ||
mkdocs_release: | ||
uses: datajoint/.github/.github/workflows/mkdocs_release.yaml@main | ||
permissions: | ||
contents: write | ||
devcontainer-build: | ||
uses: datajoint/.github/.github/workflows/devcontainer-build.yaml@main | ||
devcontainer-publish: | ||
needs: | ||
- devcontainer-build | ||
uses: datajoint/.github/.github/workflows/devcontainer-publish.yaml@main | ||
secrets: | ||
DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} | ||
DOCKERHUB_TOKEN: ${{secrets.DOCKERHUB_TOKEN_FOR_ELEMENTS}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Test | ||
on: | ||
push: | ||
pull_request: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 8 * * 1" | ||
jobs: | ||
devcontainer-build: | ||
uses: datajoint/.github/.github/workflows/devcontainer-build.yaml@main | ||
tests: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
py_ver: ["3.9", "3.10"] | ||
mysql_ver: ["8.0", "5.7"] | ||
include: | ||
- py_ver: "3.8" | ||
mysql_ver: "5.7" | ||
- py_ver: "3.7" | ||
mysql_ver: "5.7" | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{matrix.py_ver}} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{matrix.py_ver}} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install flake8 "black[jupyter]" | ||
- name: Run style tests | ||
run: | | ||
python_version=${{matrix.py_ver}} | ||
black element_moseq --check --verbose --target-version py${python_version//.} | ||
black notebooks --check --verbose --target-version py${python_version//.} | ||
Oops, something went wrong.