Frigate, a network video recorder with real-time object detection for IP cameras, is transitioning its HTTP API from Flask to FastAPI to improve performance and maintainability.
The project focuses on efficient resource use and seamless integration with Home Assistant, leveraging AI technologies like OpenCV and TensorFlow.
Recent pull requests indicate a significant architectural shift with the transition to FastAPI (#13871), aiming to leverage asynchronous capabilities and modern Python features. Routine dependency updates (#13864, #13847) ensure security and compatibility, while feature enhancements like experimental time zone support (#13846) are being introduced.
Sean Kelly (xconverge)
Nicolas Mowen (NickM-27)
gtsiam
Josh Hawkins (hawkeye217)
Dependabot[bot]
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 7 | 11 | 7 | 1 | 1 |
30 Days | 37 | 42 | 82 | 3 | 1 |
90 Days | 157 | 134 | 437 | 11 | 1 |
1 Year | 247 | 200 | 911 | 19 | 1 |
All Time | 5208 | 5075 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Nicolas Mowen | 2 | 62/62/0 | 63 | 116 | 8031 | |
Josh Hawkins | 2 | 46/44/2 | 47 | 101 | 7331 | |
gtsiam | 1 | 7/6/1 | 6 | 39 | 1500 | |
None (dependabot[bot]) | 24 | 46/0/27 | 24 | 8 | 1500 | |
gwmullin | 1 | 0/1/0 | 1 | 2 | 151 | |
Blake Blackshear | 2 | 5/4/0 | 5 | 7 | 88 | |
Sean Kelly | 1 | 2/2/0 | 2 | 3 | 6 | |
OldTyT (OldTyT) | 1 | 1/1/0 | 1 | 1 | 4 | |
Marc Altmann | 2 | 1/1/0 | 2 | 1 | 4 | |
Martin Weinelt | 1 | 1/1/0 | 1 | 1 | 2 | |
Darryl Sokoloski (dsokoloski) | 1 | 2/1/1 | 1 | 1 | 1 | |
None (mrmorganmurphy) | 1 | 1/1/0 | 1 | 1 | 1 | |
None (cvroque) | 0 | 1/1/0 | 0 | 0 | 0 | |
Stepan Legachev (siberex) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (ghxstxch) | 0 | 1/1/0 | 0 | 0 | 0 | |
Rui Alves (iursevla) | 0 | 3/0/1 | 0 | 0 | 0 | |
None (leonbrag) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (Prototyped) | 0 | 1/0/1 | 0 | 0 | 0 | |
leccelecce (leccelecce) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (mrfreaky123) | 0 | 1/0/1 | 0 | 0 | 0 | |
Marcus Chia (ChiaXinLiang) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Recent activity on the Frigate project shows a diverse range of issues, including feature requests, bug reports, and enhancement suggestions. A notable theme is the focus on improving user experience and expanding functionality, particularly in the areas of UI enhancements and integration capabilities.
Several issues highlight anomalies or complications, such as #12266, where a bug in OpenVino affects users with specific hardware configurations. Additionally, issues like #12643 and #13038 suggest enhancements for user roles and camera stream management, indicating a demand for more granular control and customization.
Common themes include requests for improved UI elements (e.g., #13186), better handling of hardware acceleration (#12266), and enhanced integration with other systems (#12834). The community is actively engaged, with many issues receiving comments and suggestions from multiple contributors.
#13888: Simplify downloading clip
#13886: Keep statistics of total frame count as well as average frame rate for time series databases
#13229: FR: Combine related "Unsaved changes" warnings
#13210: Video panzoom image reset
These issues reflect ongoing efforts to refine the user interface and improve system performance metrics. The community's active participation in discussions suggests a collaborative approach to problem-solving and feature development.
The analysis of the provided pull requests (PRs) for the Frigate project reveals a mix of dependency updates and significant feature enhancements, particularly the transition from Flask to FastAPI for the HTTP API. This transition is crucial as it aims to improve performance and maintainability by leveraging FastAPI's asynchronous capabilities and automatic generation of OpenAPI documentation.
PR #13871: Frigate HTTP API using FastAPI
PR #13864: Bump vite from 5.4.0 to 5.4.7 in /web
PR #13847: Bump pytz from 2024.1 to 2024.2 in /docker/main
PR #13846: Bump react-day-picker from 8.10.1 to 9.1.1 in /web
PR #13825: Bump protobuf from 3.20.3 to 5.28.2 in /docker/tensorrt
PR #13788: Bump @typescript-eslint/eslint-plugin from 7.12.0 to 8.6.0 in /web
PR #13787: 0.15 Release
PR #13775: Bump dompurify from 3.0.6 to 3.1.6 in /docs
PR #13761: Bump @types/node from 20.14.10 to 22.5.5 in /web
PR #13760: Bump eslint-plugin-react-refresh from 0.4.8 to 0.4.12 in /web
PR #13717: Bump lucide-react from 0.407.0 to 0.441.0 in /web
PR #13709: Bump serve-static and express in /docs
PR #13708: Bump body-parser and express in /docs
14-15 (Multiple PRs): Various updates to dependencies like onnx
, peewee-migrate
, protobuf
, nvidia-cudnn-cu11
, etc., across different components (Docker images, web frontend).
- These updates are routine maintenance tasks aimed at keeping the software stack up-to-date with security patches, performance improvements, and new features provided by third-party libraries.
The analysis of these pull requests reveals several key themes:
Transition to FastAPI: The most significant change is the move towards FastAPI for handling HTTP requests within Frigate (#13871). This transition is expected to enhance performance due to FastAPI's asynchronous capabilities and better support for modern Python features like type hints and automatic validation.
Routine Dependency Updates: Many pull requests involve routine updates of dependencies across various components (#13864, #13847, #13846). These updates are crucial for maintaining security, compatibility with newer versions of libraries, and leveraging improvements made by library authors.
Security Enhancements: Several updates address security vulnerabilities either by updating libraries known to have vulnerabilities (#13775) or by incorporating security fixes provided by library authors (#13425).
Feature Additions: Some updates introduce new features or enhancements to existing functionalities (#13846 adds experimental support for time zones).
Community Engagement: The presence of multiple contributions from different authors indicates active community engagement around Frigate's development.
6-15 (Multiple PRs): Various updates to dependencies like onnx
, peewee-migrate
, protobuf
, nvidia-cudnn-cu11
, etc., across different components (Docker images, web frontend).
- These updates are routine maintenance tasks aimed at keeping the software stack up-to-date with security patches, performance improvements, and new features provided by third-party libraries.
In conclusion, Frigate is undergoing significant enhancements with its transition towards FastAPI while also maintaining regular updates across its software stack to ensure security and performance optimizations.
Sean Kelly (xconverge)
Nicolas Mowen (NickM-27)
gtsiam
Josh Hawkins (hawkeye217)
Dependabot[bot]
Collaboration: Frequent collaboration among team members, especially between Nicolas Mowen and other contributors like Josh Hawkins and gtsiam.
Focus Areas:
Active Maintenance: The project is under active development with frequent commits addressing a wide range of areas from bug fixes to feature enhancements.
The development team is actively working on enhancing the Frigate project through UI improvements, feature expansions, and regular maintenance. Collaboration among team members is evident in the shared tasks and joint efforts in resolving complex issues. The use of automated tools like Dependabot further aids in keeping the project up-to-date with the latest dependencies.