Repository structure

How to find the components needed

CVAT stores all its components is a single (“monolithic”) repository. An explanation of CVAT components is available here.

Here is the list of the main directories and files in the repository:

  • ./ - Various common files for the repository
  • .github/ - GitHub configuration files
  • .vscode/ - VS Code configuration files
  • components/ - optional server services
  • cvat/ - server source code
    • apps/ - server modules sources
    • requirements/ - server Python package requirements
    • settings/ - server configurations
  • cvat-canvas/ - UI package, responsible for the annotation canvas
  • cvat-canvas3d/ - UI package, responsible for the annotation canvas for 3D
  • cvat-cli/ - CLI utility
  • cvat-core/ - UI package, responsible for server interaction
  • cvat-data/ - UI package, responsible for media data decoding
  • cvat-sdk/ - Python SDK package
  • cvat-ui/ - UI package, responsible for UI elements
  • helm-chart/ - Helm configuration for deployment on Kubernetes
  • serverless/ - AI models
  • site/ - Documentation website sources
    • assets/ - Media content
    • content/ - Documentation pages
  • supervisord/ - supervisord deployment configuration
  • tests/ - End-to-end tests
    • cypress/ - UI end-to-end tests
    • python/ - Tests for server, SDK, CLI and other Python components
  • utils/ - Additional tools and utility scripts
    • dataset_manifest/ - Python library and a tool to create dataset manifest files
    • dicom_converter/ - Script to convert DICOM data to CVAT-compatible format
  • docker-compose*.yml - Docker Compose local deployment configuration
  • Dockerfile* - Docker image descriptions
  • manage.py - Django utility to manipulate server components