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
Last synced: 10 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 7
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License

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

  1. 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

  1. Documentation
  1. Code Formatting & Linting
  • Formatted code makes your life and those who use/review your code easier. Standardized formatting with tools like black and isort (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-book and pre-commit validations (go to actions in your repo to follow the guidelines to set up/also chatGPT can help ;)
  1. 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 Dockerfile and docker-compose.yml configurations (coming)
  • You are welcome/encouraged to use our containers: https://hub.docker.com/u/mmathislab
  1. Data Workflow Integration
  1. 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

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

All Time
  • Total Commits: 10
  • Total Committers: 1
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 10
  • Committers: 1
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Mackenzie Mathis m****s@e****h 10
Committer Domains (Top 20 + Academic)
epfl.ch: 1

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

.github/workflows/codespell.yml actions
  • actions/checkout v3 composite
  • codespell-project/actions-codespell v2 composite
  • codespell-project/codespell-problem-matcher v1 composite
.github/workflows/publish-book.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • peaceiris/actions-gh-pages v3.9.3 composite
pyproject.toml pypi