{"id":13616455,"url":"https://github.com/eyecuvision/bumblebee","last_synced_at":"2025-07-16T04:37:00.874Z","repository":{"id":57427827,"uuid":"322353741","full_name":"eyecuvision/bumblebee","owner":"eyecuvision","description":"Video Processing API","archived":false,"fork":false,"pushed_at":"2021-04-24T12:53:57.000Z","size":48156,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T12:05:02.028Z","etag":null,"topics":["computer-vision","data-processing","numpy","opencv","torch","video-processing-pipeline"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eyecuvision.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-17T16:38:41.000Z","updated_at":"2023-03-15T05:25:26.000Z","dependencies_parsed_at":"2022-09-09T08:50:40.659Z","dependency_job_id":null,"html_url":"https://github.com/eyecuvision/bumblebee","commit_stats":null,"previous_names":["eye-c-u/bumblebee"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eyecuvision/bumblebee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyecuvision%2Fbumblebee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyecuvision%2Fbumblebee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyecuvision%2Fbumblebee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyecuvision%2Fbumblebee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eyecuvision","download_url":"https://codeload.github.com/eyecuvision/bumblebee/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eyecuvision%2Fbumblebee/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265481936,"owners_count":23773976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","data-processing","numpy","opencv","torch","video-processing-pipeline"],"created_at":"2024-08-01T20:01:28.752Z","updated_at":"2025-07-16T04:37:00.841Z","avatar_url":"https://github.com/eyecuvision.png","language":"Python","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# Bumblebee\n[![PyPI](https://img.shields.io/pypi/v/eyecu_bumblebee.svg)](https://pypi.python.org/pypi/eyecu_bumblebee)\n[![Downloads](https://pepy.tech/badge/eyecu-bumblebee/week)](https://pepy.tech/project/eyecu-bumblebee) \\\n![Bumblebee image](./docs/bumblebee.png)\n\nBumblebee provides high level components to construct training pipelines for videos conveniently.\n\n\n- [Install](#install)\n- [Motivation](#motto)\n- [Our Websites](#our-websites)\n- [Examples](#examples)\n    - [A pipeline with basic elements](#a-pipeline-with-basic-elements)\n    - [Using Manager API](#using-manager-api)\n    - [Read limited section of video](#read--limited-section-of-video)\n    - [Iterate frames with frame numbers](#iterate-frames-with-frame-numbers)\n    - [Iterate frames in batches](#iterate-frames-in-batches)\n- [Team](#team)\n- [License](#license)\n\n\n\n## Install\n\n```\npip install eyecu_bumblebee\n```\n\n## Motivation\n\nEverything should be made as simple as possible, but no simpler. - Albert Einstein\n\n## Our Websites\n\n[EyeCU Vision](https://eyecuvision.com/) \\\n[EyeCU Future](https://eyecufuture.com/) \n\n\n## Examples\n\n### A pipeline with basic elements\n\n```python\nfrom bumblebee import *\n\n\nif __name__ == \"__main__\":\n    \n    video_path = \"/path/to/video.mp4\"\n\n    # Create a source\n    file_stream = sources.FileStream(video_path)\n\n    # Add an effect\n    goto = effects.GoTo(file_stream)\n\n    END_OF_VIDEO = file_stream.get_duration()\n    goto(END_OF_VIDEO)\n\n    # Create a dataset\n    single_frame = datasets.Single(file_stream)\n\n    last_frame = single_frame.read()\n\n```\n\n### Using Manager API\n\n```python\nfrom bumblebee import *\n\n\nif __name__ == \"__main__\":\n    \n    # Create a training manager\n    manager = managers.BinaryClassification(\n        [\"path/to/video_dir\",\"path/to/another_dir\"],\n        [\"path/to/labels\"]\n    )\n\n    number_of_epochs = 300\n    \n    for epoch,(frame_no,frame,prob) in manager(number_of_epochs):\n        # Use data stuff\n        ...    \n\n```\n\n\n### Read  limited section of video\n```python\nfrom bumblebee import *\n\n\nif __name__ == \"__main__\":\n  \n    video_path = \"/path/to/video.mp4\"\n    start_frame = 35\n    end_frame = 40\n    \n    file_stream = sources.FileStream(video_path)\n    \n    limited_stream = effects.Start(file_stream,start_frame)\n    limited_stream = effects.End(limited_stream,end_frame)\n\n    single_frame = datasets.Single(file_stream)\n\n    for frame in single_frame:\n        ...  \n\n```\n\n### Iterate frames with frame numbers\n```python\nfrom bumblebee import *\n\n\nif __name__ == \"__main__\":\n  \n    video_path = \"/path/to/video.mp4\"\n    \n    file_stream = sources.FileStream(video_path)\n    \n    single_frame = datasets.Single(file_stream)\n    current_frame = effects.CurrentFrame(file_stream)\n    \n    \n    for frame_ind,frame in zip(current_frame,single_frame):\n        ...  \n\n``` \n\n\n\n### Iterate frames in batches\n\n```python\nfrom bumblebee import *\n\n\nif __name__ == \"__main__\":\n  \n    video_path = \"/path/to/video.mp4\"\n    batch_size = 64\n    \n    file_stream = sources.FileStream(video_path)\n    \n    batch = datasets.Batch(file_stream, batch_size=batch_size)\n    \n    for frames in batch:\n        ...  \n\n``` \n\n## Team\nThis project is currently developed and maintained by [ovuruska](https://github.com/ovuruska).\n\n\n## License\nBumblebee has MIT license. You can find further details in [LICENSE](LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyecuvision%2Fbumblebee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feyecuvision%2Fbumblebee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feyecuvision%2Fbumblebee/lists"}