homesec 1.0.1__py3-none-any.whl → 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {homesec-1.0.1.dist-info → homesec-1.1.0.dist-info}/METADATA +45 -4
- {homesec-1.0.1.dist-info → homesec-1.1.0.dist-info}/RECORD +5 -5
- {homesec-1.0.1.dist-info → homesec-1.1.0.dist-info}/WHEEL +0 -0
- {homesec-1.0.1.dist-info → homesec-1.1.0.dist-info}/entry_points.txt +0 -0
- {homesec-1.0.1.dist-info → homesec-1.1.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: homesec
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: Pluggable async home security camera pipeline with detection, VLM analysis, and alerts.
|
|
5
5
|
Project-URL: Homepage, https://github.com/lan17/homesec
|
|
6
6
|
Project-URL: Source, https://github.com/lan17/homesec
|
|
@@ -246,15 +246,31 @@ Description-Content-Type: text/markdown
|
|
|
246
246
|
[](LICENSE)
|
|
247
247
|
[](https://www.python.org/)
|
|
248
248
|
[](https://peps.python.org/pep-0561/)
|
|
249
|
+
[](https://codecov.io/gh/lan17/HomeSec)
|
|
249
250
|
|
|
250
251
|
HomeSec is a self-hosted, extensible network video recorder that puts you in control. Store clips wherever you want, analyze them with AI, and get smart notifications—all while keeping your footage private and off third-party clouds.
|
|
251
252
|
|
|
252
|
-
Under the hood, it's a pluggable async pipeline for home security cameras. It records short clips, runs object detection, optionally calls a vision-language model (VLM) for a structured summary, and sends alerts via MQTT or email. The design
|
|
253
|
+
Under the hood, it's a pluggable async pipeline for home security cameras. It records short clips, runs object detection, optionally calls a vision-language model ([VLM](https://en.wikipedia.org/wiki/Vision%E2%80%93language_model)) for a structured summary, and sends alerts via [MQTT](https://en.wikipedia.org/wiki/MQTT) or email. The design prioritizes reliability and extensibility.
|
|
254
|
+
|
|
255
|
+
## Table of Contents
|
|
256
|
+
|
|
257
|
+
- [Highlights](#highlights)
|
|
258
|
+
- [Pipeline at a glance](#pipeline-at-a-glance)
|
|
259
|
+
- [Quickstart](#quickstart)
|
|
260
|
+
- [Configuration](#configuration)
|
|
261
|
+
- [Extensible by design](#extensible-by-design)
|
|
262
|
+
- [CLI](#cli)
|
|
263
|
+
- [Built-in plugins](#built-in-plugins)
|
|
264
|
+
- [Writing a plugin](#writing-a-plugin)
|
|
265
|
+
- [Observability](#observability)
|
|
266
|
+
- [Development](#development)
|
|
267
|
+
- [Contributing](#contributing)
|
|
268
|
+
- [License](#license)
|
|
253
269
|
|
|
254
270
|
## Highlights
|
|
255
271
|
|
|
256
|
-
-
|
|
257
|
-
- Parallel upload + filter (YOLOv8) with frame sampling and early exit
|
|
272
|
+
- Multiple pluggable video clip sources: [RTSP](https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol) motion detection, [FTP](https://en.wikipedia.org/wiki/File_Transfer_Protocol) uploads, or a watched folder
|
|
273
|
+
- Parallel upload + filter ([YOLOv8](https://en.wikipedia.org/wiki/You_Only_Look_Once)) with frame sampling and early exit
|
|
258
274
|
- OpenAI-compatible VLM analysis with structured output
|
|
259
275
|
- Policy-driven alerts with per-camera overrides
|
|
260
276
|
- Fan-out notifiers (MQTT for Home Assistant, SendGrid email)
|
|
@@ -276,6 +292,7 @@ ClipSource -> (Upload + Filter) -> VLM (optional) -> Alert Policy -> Notifier(s)
|
|
|
276
292
|
|
|
277
293
|
### Requirements
|
|
278
294
|
|
|
295
|
+
- Raspberry Pi 4 (or equivalent) or higher; any x86_64 system works as well
|
|
279
296
|
- Docker and Docker Compose
|
|
280
297
|
- Optional: MQTT broker, Dropbox credentials, OpenAI-compatible API key
|
|
281
298
|
|
|
@@ -476,6 +493,30 @@ my_filters = "my_package.filters.custom"
|
|
|
476
493
|
- Tests must include Given/When/Then comments.
|
|
477
494
|
- Architecture notes: `DESIGN.md`
|
|
478
495
|
|
|
496
|
+
## Contributing
|
|
497
|
+
|
|
498
|
+
Contributions are welcome! Here's how to get started:
|
|
499
|
+
|
|
500
|
+
1. **Fork and clone** the repository
|
|
501
|
+
2. **Create a branch** for your feature or fix: `git checkout -b my-feature`
|
|
502
|
+
3. **Install dependencies**: `uv sync`
|
|
503
|
+
4. **Make your changes** and ensure tests pass: `make check`
|
|
504
|
+
5. **Submit a pull request** with a clear description of your changes
|
|
505
|
+
|
|
506
|
+
### Guidelines
|
|
507
|
+
|
|
508
|
+
- All code must pass CI checks: `make check`
|
|
509
|
+
- Tests should include Given/When/Then comments explaining the test scenario
|
|
510
|
+
- New plugins should follow the existing patterns in `src/homesec/plugins/`
|
|
511
|
+
- Keep PRs focused on a single change for easier review
|
|
512
|
+
|
|
513
|
+
### Reporting Issues
|
|
514
|
+
|
|
515
|
+
Found a bug or have a feature request? Please [open an issue](../../issues) with:
|
|
516
|
+
- A clear description of the problem or suggestion
|
|
517
|
+
- Steps to reproduce (for bugs)
|
|
518
|
+
- Your environment (OS, Python version, HomeSec version)
|
|
519
|
+
|
|
479
520
|
## License
|
|
480
521
|
|
|
481
522
|
Apache 2.0. See `LICENSE`.
|
|
@@ -55,8 +55,8 @@ homesec/telemetry/db_log_handler.py,sha256=KM8g4kcOyPzFJbpGxpSzecx_hrEWY0YfpoIKy
|
|
|
55
55
|
homesec/telemetry/postgres_settings.py,sha256=EVD2_oi_KReFJvQmXxW026aurl_YD-KexT7rkbGQPHc,1198
|
|
56
56
|
homesec/telemetry/db/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
57
57
|
homesec/telemetry/db/log_table.py,sha256=wcZLwRht7FMa0z2gf37f_RxdVTNIdDiK4i_N3c_ibwg,473
|
|
58
|
-
homesec-1.0.
|
|
59
|
-
homesec-1.0.
|
|
60
|
-
homesec-1.0.
|
|
61
|
-
homesec-1.0.
|
|
62
|
-
homesec-1.0.
|
|
58
|
+
homesec-1.1.0.dist-info/METADATA,sha256=6FTsc92YcuDR06LBKMelYBot24Ii4EAPdA5ddrcsJUA,23274
|
|
59
|
+
homesec-1.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
60
|
+
homesec-1.1.0.dist-info/entry_points.txt,sha256=8ocCj_fP1qxIuL-DVDAUiaUbEdTMX_kg_BzVrJsbQYg,45
|
|
61
|
+
homesec-1.1.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
62
|
+
homesec-1.1.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|