Component Developer Documentation#

Note

Audience: Developers working on data center components

This section provides access to detailed technical documentation for each component of the CCAT Data Center system.

Overview#

The CCAT Data Center is built from several integrated Python packages and configuration repositories:

Core Components:

  • ops-db - Database models and ORM layer for the operations database

  • data-transfer - Automated data movement and archiving of raw data. Handles also staging of data to processing and upstream deletion upon successful archiving.

  • ops-db-api - RESTful API for programmatic access to the operations database

  • ops-db-ui - Web frontend for browsing and managing observations, monitoring the system and interaction with data and ops-db.

  • system-integration - Docker, Kubernetes, and deployment infrastructure

  • data-center - Configuration files and reference data

Development Workflow#

  1. Setup - Follow installation instructions in each component’s documentation

  2. Local Development - Use Docker Compose for local testing (see system-integration)

  3. Code Changes - Work in feature branches, reference GitHub issues

  4. Testing - Run component test suites before submitting PRs

  5. Documentation - Update relevant docs when changing user-facing behavior

  6. Deployment - See Data Center Operations for deployment procedures

Development Standards#

  • Python Style - Follow PEP 8, use type hints where applicable

  • Documentation - Use docstrings for all public APIs (Sphinx autodoc compatible)

  • Testing - Maintain test coverage for new features (To best effort)

  • Version Control - Meaningful commit messages, reference issues in commits

  • Code Review - All changes require PR review before merging

Getting Help#

  • Review component-specific documentation linked above

  • Check How We Work Together for team collaboration guidelines

  • Contact the development team via established communication channels