Manage video metadata for animal behaviour experiments
Project description
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
-
Launch the application
start-beekeeping
The app opens in your browser at
http://localhost:8050 -
Upload Project Configuration
- Navigate to the Home page
- Upload your
project_config.yamlfile containing:videos_dir_path: /path/to/your/videos metadata_fields_file_path: /path/to/metadata_fields.yaml metadata_key_field_str: File
-
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.yamlfiles - 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.yamlfiles for selected videos - Import from Spreadsheet: Upload CSV/Excel files to bulk generate metadata files
Spreadsheet Import Process
- Prepare your spreadsheet (CSV or Excel) with columns matching your metadata fields
- Click "Generate yaml files from spreadsheet"
- Upload your file
- The app will:
- Match spreadsheet columns to metadata fields
- Add missing columns with empty values
- Only process rows with corresponding video files
- Generate
.metadata.yamlfiles in your videos directory - Show confirmation with count of files generated
License
⚖️ BSD 3-Clause
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8779c7b7f0dfa3a62bc6ca3f3e72cf54fee1e911761120b8ee22d82cdb2c477
|
|
| MD5 |
c4ffefd6a3c02f2f19b92455e39e2779
|
|
| BLAKE2b-256 |
e19b27669c919317d287f449041733647aca7f928be13acc2cf3f7f9ac2eb94e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d11c3056b97d47d05e55d63966e95cad42b07d1c2b3539895a1f93d3316c1736
|
|
| MD5 |
219bbda448059b67d5f649de77db0d63
|
|
| BLAKE2b-256 |
6e07a160108ef27210ff4c11caf8f95581cddee157d7b730813f6e7517137e8b
|