Developer DocumentationLink
This section contains information for developers working on the Plant-Imager3 project.
Project StructureLink
The Plant-Imager3 project is organized as a collection of Python namespace packages:
plantimager.commons
: Common utilities and interfacesplantimager.controller
: Main control interface and hardware abstractionplantimager.picamera
: Camera functionality for Raspberry Pi Zero Wplantimager.webui
: Web-based user interface
Development EnvironmentLink
Quick SetupLink
To quickly set up the development environment for Plant-Imager3, use the following comprehensive setup script:
# Create a new Conda environment with Python 3.11 and IPython
conda create -n plant-imager3 'python==3.11' ipython -y
# Activate the newly created environment
conda activate plant-imager3
# Install project subpackages in editable mode
pip install -e src/commons/.
pip install -e src/controller/.
pip install -e src/picamera/.
# Install plantdb server dependencies
pip install plantdb.server
System RequirementsLink
To run the QtApp, you must install the required Mesa packages. On Ubuntu, you can do this by executing the following commands:
sudo apt update
sudo apt install libegl1-mesa libgl1-mesa-dri libgl1-mesa-glx mesa-utils
DocumentationLink
The documentation for Plant-Imager3 is built using MkDocs with the Material for MkDocs theme.
Building the DocumentationLink
To build the documentation locally, follow these steps:
-
Install the required dependencies:
pip install mkdocs mkdocs-material mkdocs-gen-files mkdocs-literate-nav mkdocs-section-index mkdocstrings mkdocstrings-python markdown-exec
-
Build the documentation:
mkdocs build
-
Serve the documentation locally:
mkdocs serve
-
Open your browser and navigate to http://localhost:8000
Documentation StructureLink
The documentation is organized as follows:
- Home: Overview of the project
- Reference API: Automatically generated API documentation
- Developer: Information for developers