Skip to main content

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

Metadata

Release files for beekeeping 0.3.4

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

Source distribution (sdist)

Source distribution for beekeeping 0.3.4
File Size Uploaded Provenance Actions
beekeeping-0.3.4.tar.gz 25.6 kB Without provenance Details for beekeeping-0.3.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for beekeeping 0.3.4
File Interpreter ABI Platform Actions
beekeeping-0.3.4-py3-none-any.whl Python 3 none any Details for beekeeping-0.3.4-py3-none-any.whl

Total release size: 42.3 kB

Release files / beekeeping-0.3.4.tar.gz

Download URL beekeeping-0.3.4.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b8779c7b7f0dfa3a62bc6ca3f3e72cf54fee1e911761120b8ee22d82cdb2c477
BLAKE2b-256 checksum
How to use checksums
e19b27669c919317d287f449041733647aca7f928be13acc2cf3f7f9ac2eb94e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / beekeeping-0.3.4-py3-none-any.whl

Download URL beekeeping-0.3.4-py3-none-any.whl
Size 16.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d11c3056b97d47d05e55d63966e95cad42b07d1c2b3539895a1f93d3316c1736
BLAKE2b-256 checksum
How to use checksums
6e07a160108ef27210ff4c11caf8f95581cddee157d7b730813f6e7517137e8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for beekeeping 0.3.4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.4 This release

2 release files No provenance

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