Code Architecture
=================


Design Priorities
-----------------


- Reliable
- Maintainable
- Modular
- Readable
- Extensible
- Robust (where possible)
- User-friendly (as far as possible)

Not Prioritized
---------------

- Scalable
- Efficient
- Secure



Folder Structure
----------------

.. list-table:: Project Directory Structure
   :header-rows: 1
   :widths: 30 70

   * - Directory
     - Description
   * - ``do-dpc``
     - Main package.
   * - ``do-dpc/controlutils``
     - Control-related utilities.
   * - ``do-dpc/dpc``
     - Core functionality.
   * - ``do-dpc/environments``
     - Environment configurations.
   * - ``do-dpc/utils``
     - General utilities.
   * - ``docs``
     - Project documentation.
   * - ``examples``
     - Example scripts.
   * - ``tests``
     - Unit and integration tests.
