https://github.com/adaptivemotorcontrollab/workspacetemplate
https://github.com/adaptivemotorcontrollab/workspacetemplate
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: AdaptiveMotorControlLab
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://adaptivemotorcontrollab.github.io/WorkspaceTemplate/
- Size: 1.89 MB
Statistics
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Code & Data Guidelines
The is a hub for discussions and best practices on code management! The goal is someone can fork/clone this template repo and start a new project easily. This was written by Mackenzie Mathis, and I thank my lab and the open-source community for many lessons learned.
Overview
This repository is a work-in-progress template for structuring coding projects with clean, reproducible, and collaborative workflows. It includes tools and practices that streamline development, documentation, testing, and deployment.
Core Components
- Code Organization
- Make a clear folder structure for modules, tests, and configs; try to keep this across project/s
- Naming conventions and modular design principles, here are useful standards to consider.
Recommended Directory Structure
bash
project_name/
├── README.md
├── LICENSE
├── pyproject.toml
├── setup.cfg
├── .gitignore
├── .pre-commit-config.yaml
├── _toc.yml
├── docker/
│ └── Dockerfile
├── examples/
│ └── basic_usage.ipynb
├── placeholder (project_name)/ # Main package code
│ ├── __init__.py
│ ├── module_example.py
├── version.py
│ └── utils/
│ └── helpers.py
├── tests/
│ ├── __init__.py
│ ├── test_module1.py
│ └── conftest.py
├── docs/ # JupyterBook documentation
│ ├── _config.yml
│ └── index.md
└── .github/
└── workflows/
└── codespell.yml
└── publish-book.yml
- Documentation
- JupyterBook setup for comprehensive, interactive project documentation!
- Here are guidelines for writing readable and maintainable docstrings - this is as important as documentation!
- Code Formatting & Linting
- Formatted code makes your life and those who use/review your code easier. Standardized formatting with tools like
blackandisort(see the provided.pre-commit-config.yaml). - Pre-commit hooks to automate checks before pushing code! Follow their quick Guide to do this, but in short:
(1) install it in your dev env
python
pip install pre-commit
(2) install the git hooks:
python
pre-commit install
(3) Just run it on your code BEFORE you git push:
python
pre-commit run --all-files
4. Continuous Integration
- Use GitHub Actions for automated testing and code quality checks
- This template repo gies you built-in
codespell,publish-bookandpre-commitvalidations (go to actions in your repo to follow the guidelines to set up/also chatGPT can help ;)
- Containerization
- Docker setup for consistent development and deployment environments - this is not just an after thought, use Docker to develop and share your code!
- Examples of
Dockerfileanddocker-compose.ymlconfigurations (coming) - You are welcome/encouraged to use our containers: https://hub.docker.com/u/mmathislab
- Data Workflow Integration
- DataJoint examples for managing and querying scientific data pipelines - these are a must; use minimally for data + meta data storage, and use it to automate things you do daily (preprocessing, running DeepLabCut, etc!)
- Templates for common workflows and schema management are here!
- Style Guide for overall code & project management
- Tips and practices for code, manuscripts, and figures.
Contributions welcome as we refine this template!
Acknowledgement
Some items in this repo are adapted from DeepLabCut, CEBRA, and the Mathis Lab of Adaptive Intelligence. It is under an Apache 2.0 License.
Owner
- Name: Mathis Lab | Adaptive Motor Control
- Login: AdaptiveMotorControlLab
- Kind: organization
- Email: mackenzie@post.harvard.edu
- Location: Swiss Federal Institute of Technology
- Website: http://mackenziemathislab.org
- Twitter: mwmathislab
- Repositories: 9
- Profile: https://github.com/AdaptiveMotorControlLab
Mechanisms underlying adaptive behavior in intelligent systems
GitHub Events
Total
- Watch event: 3
- Delete event: 3
- Public event: 1
- Push event: 16
- Pull request event: 5
- Create event: 3
Last Year
- Watch event: 3
- Delete event: 3
- Public event: 1
- Push event: 16
- Pull request event: 5
- Create event: 3
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Mackenzie Mathis | m****s@e****h | 10 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: 18 minutes
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: 18 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- MMathisLab (9)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- codespell-project/actions-codespell v2 composite
- codespell-project/codespell-problem-matcher v1 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- peaceiris/actions-gh-pages v3.9.3 composite