Skip to content

Project Structure

The WAMF repository is organised into several directories and application modules.

The following structure describes WAMF v0.4.0.

WAMF/
├── app/
├── config/
├── docs/
├── integrations/
├── requirements/
├── routes/
├── scripts/
├── static/
├── templates/
├── tests/
├── retention.py
├── speciesid.py
├── webui.py
├── wamf_paths.py
├── version.py
├── Dockerfile
├── docker-compose.yml
└── requirements.txt

Main Directories

Path Description
app/ Core application modules including database access, health monitoring, media archiving, configuration editing, security and species metadata.
config/ Example configuration files for native and Docker deployments.
integrations/ Optional WAMF integration modules.
requirements/ Dependency sets used for the application, testing and development.
routes/ Web routes for the public interface, administration interface, authentication, API, detections and media.
scripts/ Supporting scripts used by WAMF and its Docker deployment.
static/ Stylesheets, images and other static web assets.
templates/ HTML templates used by the WAMF web interface.
tests/ Automated test suite.

Main Application Files

Path Description
speciesid.py Main wildlife event processing and species identification service.
webui.py WAMF web application.
retention.py Media retention and cleanup task.
wamf_paths.py Shared handling of WAMF application paths.
version.py WAMF version information.

Deployment Files

Path Description
Dockerfile Builds the WAMF container image.
docker-compose.yml Docker Compose definition for WAMF.
requirements.txt Top-level Python dependency entry point.

Development

Automated tests are located in tests/.

Changes to WAMF should keep the existing test suite passing and avoid introducing regressions into supported native or Docker deployments.