Skip to main content

Manage video metadata for animal behaviour experiments

Project description

License CI Code style: Ruff pre-commit

beekeeping 🐝

Manage video metadata for animal behaviour experiments.

Overview

beekeeping is a web-based dashboard built with Dash-Plotly for managing video metadata in animal behaviour experiments. It provides an intuitive interface for creating, editing, and organizing metadata files associated with experimental videos.

Key Features:

  • Upload and manage project configurations
  • Interactive metadata table with editing capabilities
  • Bulk import from spreadsheets (CSV/Excel)
  • Automatic detection of videos missing metadata
  • Export metadata as YAML files
  • Responsive web interface with Bootstrap theming

It is based on an earlier codebase called WAZP, but focuses specifically on metadata management.

Installation

Install beekeeping inside a conda environment:

conda create -n beekeeping-env -c conda-forge python=3.12
conda activate beekeeping-env
git clone https://github.com/neuroinformatics-unit/beekeeping.git
cd beekeeping
pip install .

Getting Started

  1. Launch the application

    start-beekeeping
    

    The app opens in your browser at http://localhost:8050

  2. Upload Project Configuration

    • Navigate to the Home page
    • Upload your project_config.yaml file containing:
      videos_dir_path: /path/to/your/videos
      metadata_fields_file_path: /path/to/metadata_fields.yaml
      metadata_key_field_str: File
      
  3. Manage Video Metadata

    • Navigate to the Metadata page to view/edit your video metadata table
    • Each row represents one video file's metadata

Core Operations

Viewing and Editing Metadata

  • Browse: Scroll through the paginated table (25 rows per page)
  • Sort: Click column headers to sort data
  • Hide/Show columns: Use column visibility controls
  • Edit: Click any editable cell to modify values directly
  • Row selection: Click checkboxes to select rows for batch operations

Adding Missing Videos

  • Click "Check for missing metadata files"
  • The app scans your videos directory and adds rows for videos without .metadata.yaml files
  • File extensions supported: .avi, .mp4

Manual Data Entry

  • Click "Add empty row" to create a new metadata entry
  • Fill in the fields as needed
  • The filename field links to your video file

Batch Operations

  • Select All/Unselect All: Mass row selection controls
  • Export Selected: Click "Export selected rows as yaml" to save .metadata.yaml files for selected videos
  • Import from Spreadsheet: Upload CSV/Excel files to bulk generate metadata files

Spreadsheet Import Process

  1. Prepare your spreadsheet (CSV or Excel) with columns matching your metadata fields
  2. Click "Generate yaml files from spreadsheet"
  3. Upload your file
  4. The app will:
    • Match spreadsheet columns to metadata fields
    • Add missing columns with empty values
    • Only process rows with corresponding video files
    • Generate .metadata.yaml files in your videos directory
    • Show confirmation with count of files generated

License

⚖️ BSD 3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beekeeping-0.3.4.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beekeeping-0.3.4-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file beekeeping-0.3.4.tar.gz.

File metadata

  • Download URL: beekeeping-0.3.4.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for beekeeping-0.3.4.tar.gz
Algorithm Hash digest
SHA256 b8779c7b7f0dfa3a62bc6ca3f3e72cf54fee1e911761120b8ee22d82cdb2c477
MD5 c4ffefd6a3c02f2f19b92455e39e2779
BLAKE2b-256 e19b27669c919317d287f449041733647aca7f928be13acc2cf3f7f9ac2eb94e

See more details on using hashes here.

File details

Details for the file beekeeping-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: beekeeping-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for beekeeping-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d11c3056b97d47d05e55d63966e95cad42b07d1c2b3539895a1f93d3316c1736
MD5 219bbda448059b67d5f649de77db0d63
BLAKE2b-256 6e07a160108ef27210ff4c11caf8f95581cddee157d7b730813f6e7517137e8b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page