Skip to main content

PumaGuard

Build and Test Webpage

Test and package code

Open in GitHub Codespaces

Open in Colab

Introduction

Please visit http://pumaguard.rtfd.io/ for more information.

Get PumaGuard

PyPI - Version

GitHub Codespaces

If you do not want to install any new software on your computer you can use GitHub Codespaces, which provide a development environment in your browser.

Open in GitHub Codespaces

Local Development Environment

You can set up a local development environment using either uv (recommended for speed) or poetry.

Using uv (Recommended)

uv is an extremely fast Python package installer and resolver.

Install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Or on Windows:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Create a virtual environment and install dependencies:

uv venv
source .venv/bin/activate  # On Linux/macOS
# or
.venv\Scripts\activate  # On Windows

# Install with development dependencies
uv pip install -e ".[dev,extra-dev]"

Or use uv sync for automatic environment management:

uv sync --extra dev --extra extra-dev

Using Poetry

Alternatively, you can use poetry:

sudo apt install python3-poetry
poetry install

Running the scripts on colab.research.google.com

Google Colab offers runtimes with GPUs and TPUs, which make training a model much faster. In order to run the training script in Google Colab, do the following from the terminal:

git clone https://github.com/PEEC-Nature-Youth-Group/pumaguard.git
cd pumaguard
scripts/train.py --help

For example, if you want to train the model from row 1 in the notebook,

scripts/train.py --notebook 1

Running the server

The pumaguard-server watches a folder and classifies new files as they are added to that folder. Run with

Using uv:

uv run pumaguard-server FOLDER

Using poetry:

poetry run pumaguard-server FOLDER

Where FOLDER is the folder to watch.

Server Demo Session

Training new models

For reproducibility, training new models should be done via the train script and all necessary data, i.e. images, and the resulting weights and history should be committed to the repository.

  1. Get a TPU instance on Colab or run the script on your local machine.

  2. Open a terminal and run

    git clone https://github.com/PEEC-Nature-Youth-Group/pumaguard.git
    cd pumaguard
    
  3. Get help on how to use the script

    On Colab, run

    ./scripts/pumaguard --help
    ./scripts/pumaguard train --help
    

    On your local machine with uv:

    sudo apt install nvidia-cudnn
    uv sync --extra dev --extra extra-dev
    uv run pumaguard --help
    uv run pumaguard train --help
    

    Or with poetry:

    sudo apt install nvidia-cudnn
    poetry install
    poetry run pumaguard --help
    poetry run pumaguard train --help
    
  4. Train the model from scratch

    ./scripts/pumaguard train --no-load --settings pumaguard-models/model_settings_6_pre-trained_512_512.yaml
    

Metadata

Release files for pumaguard 20.post87

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pumaguard 20.post87
File Size Uploaded
pumaguard-20.post87.tar.gz 47.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pumaguard 20.post87
File Interpreter ABI Platform
pumaguard-20.post87-py3-none-any.whl Python 3 none any Details

Total release size: 60.9 MB

Release files / pumaguard-20.post87.tar.gz

Download URL pumaguard-20.post87.tar.gz
Size 47.3 MB
Tags Source
SHA-256 checksum
How to use checksums
d8dfa8ad89294e6c01e9ff2aeba3b0e39ae2d6364b586f607ac98780e24743e1
BLAKE2b-256 checksum
How to use checksums
de9d93fca8acb2171745e3af4fcb1e5767476f3dc48cd3a9fe9ad1e6edbed64f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 19, 2025.

Transparency log

Release files / pumaguard-20.post87-py3-none-any.whl

Download URL pumaguard-20.post87-py3-none-any.whl
Size 13.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
66f0e04ceac6a45ae23b7d4c11fd94b6dd5fb87978b85e46000e4c8ec5db07e3
BLAKE2b-256 checksum
How to use checksums
2c44034033fd59d14aba52d18cf1702a80eb8a7b1a3817769de591803fe127ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 19, 2025.

Transparency log

Release history Release notifications | RSS feed

25

1 release file

24

1 release file

23

1 release file

21

2 release files

This release

20.post87 This release

2 release files

20

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page