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
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.