https://github.com/siddk/c3po
R2D2 Core Content Management and Cleaning Repository for Post-Processing and Organization
https://github.com/siddk/c3po
Last synced: about 2 months ago
JSON representation
R2D2 Core Content Management and Cleaning Repository for Post-Processing and Organization
- Host: GitHub
- URL: https://github.com/siddk/c3po
- Owner: siddk
- License: mit
- Created: 2023-05-01T12:48:54.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-02T19:42:26.000Z (about 2 years ago)
- Last Synced: 2025-02-10T01:41:28.912Z (3 months ago)
- Language: Python
- Size: 13.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# C3PO
> *C3PO*: Core Content Management & Cleaning Repository for Postprocessing and Organization
Companion Codebase to [R2D2](https://github.com/AlexanderKhazatsky/R2D2); core codebase for any data management,
cleaning, and postprocessing/annotation for the robot trajectory data collected as part of the large-scale multi-lab
data collection effort.Built with Python 3.8, using sane quality defaults (`black`, `ruff`, `pre-commit`).
---
## Installation
With Python 3.8 as your default Python version (e.g., in a virtualenv, Conda environment, or Docker) you can install
this package locally via an editable installation:```bash
git clone https://github.com/siddk/c3po
cd c3po
pip install -e .
```## Usage
Project-specific usage notes...
## Contributing
Before committing to the repository, *make sure to set up your dev environment!*
Here are the basic development environment setup guidelines:
+ Fork/clone the repository, performing an editable installation. Make sure to install with the development dependencies
(e.g., `pip install -e ".[dev]"`); this will install `black`, `ruff`, and `pre-commit`.+ Install `pre-commit` hooks (`pre-commit install`).
+ Branch for the specific feature/issue, issuing PR against the upstream repository for review.
Additional Contribution Notes:
- This project has migrated to the recommended
[`pyproject.toml` based configuration for setuptools](https://setuptools.pypa.io/en/latest/userguide/quickstart.html).
However, given that several tools have not fully adopted [PEP 660](https://peps.python.org/pep-0660/), we provide a
[`setup.py` file for backwards compatibility](https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html).- This package follows the [`flat-layout` structure](https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#flat-layout)
described in `setuptools`.- Make sure to add any new dependencies to the `project.toml` file!
---
## Repository Structure
High-level overview of repository/project file-tree:
+ `docs/` - Package documentation - including key design choices and additional notes.
+ `c3po` - Package source code; has all core utilities for data munging, uploading, cleaning, and postprocessing.
+ `scripts/` - Standalone scripts for various functionality (e.g., uploading data to S3).
+ `.gitignore` - Default Python `.gitignore`.
+ `.pre-commit-config.yaml` - Pre-commit configuration file (sane defaults + `black` + `ruff`).
+ `LICENSE` - By default, research code is made available under the MIT License; if changing, think carefully about why!
+ `Makefile` - Top-level Makefile (by default, supports linting - checking & auto-fix); extend as needed.
+ `pyproject.toml` - Following PEP 621, this file has all project configuration details (including dependencies), as
well as tool configurations (for `black` and `ruff`).
+ `README.md` - You are here!