homesec 1.1.1__py3-none-any.whl → 1.2.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.
Files changed (46) hide show
  1. homesec/__init__.py +1 -1
  2. homesec/app.py +38 -84
  3. homesec/cli.py +6 -10
  4. homesec/config/validation.py +38 -12
  5. homesec/interfaces.py +50 -2
  6. homesec/maintenance/cleanup_clips.py +4 -4
  7. homesec/models/__init__.py +6 -5
  8. homesec/models/alert.py +3 -2
  9. homesec/models/clip.py +4 -2
  10. homesec/models/config.py +62 -17
  11. homesec/models/enums.py +114 -0
  12. homesec/models/events.py +19 -18
  13. homesec/models/filter.py +13 -3
  14. homesec/models/source.py +4 -0
  15. homesec/models/vlm.py +18 -7
  16. homesec/plugins/__init__.py +7 -33
  17. homesec/plugins/alert_policies/__init__.py +34 -59
  18. homesec/plugins/alert_policies/default.py +20 -45
  19. homesec/plugins/alert_policies/noop.py +14 -29
  20. homesec/plugins/analyzers/__init__.py +20 -105
  21. homesec/plugins/analyzers/openai.py +70 -53
  22. homesec/plugins/filters/__init__.py +18 -102
  23. homesec/plugins/filters/yolo.py +103 -66
  24. homesec/plugins/notifiers/__init__.py +20 -56
  25. homesec/plugins/notifiers/mqtt.py +22 -30
  26. homesec/plugins/notifiers/sendgrid_email.py +34 -32
  27. homesec/plugins/registry.py +160 -0
  28. homesec/plugins/sources/__init__.py +45 -0
  29. homesec/plugins/sources/ftp.py +25 -0
  30. homesec/plugins/sources/local_folder.py +30 -0
  31. homesec/plugins/sources/rtsp.py +27 -0
  32. homesec/plugins/storage/__init__.py +18 -88
  33. homesec/plugins/storage/dropbox.py +36 -37
  34. homesec/plugins/storage/local.py +8 -29
  35. homesec/plugins/utils.py +8 -4
  36. homesec/repository/clip_repository.py +20 -14
  37. homesec/sources/base.py +24 -2
  38. homesec/sources/local_folder.py +57 -78
  39. homesec/sources/rtsp.py +45 -4
  40. homesec/state/postgres.py +46 -17
  41. {homesec-1.1.1.dist-info → homesec-1.2.0.dist-info}/METADATA +1 -1
  42. homesec-1.2.0.dist-info/RECORD +68 -0
  43. homesec-1.1.1.dist-info/RECORD +0 -62
  44. {homesec-1.1.1.dist-info → homesec-1.2.0.dist-info}/WHEEL +0 -0
  45. {homesec-1.1.1.dist-info → homesec-1.2.0.dist-info}/entry_points.txt +0 -0
  46. {homesec-1.1.1.dist-info → homesec-1.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,68 @@
1
+ homesec/__init__.py,sha256=i4wRlg0CV3bxbxAWL_uSqW39r_F2sTRBNbelmoYOPuA,452
2
+ homesec/app.py,sha256=-zGi1kwKUImu6e8Z6K_-SHyfiFBCwwpSaSBpCKvN_qU,11933
3
+ homesec/cli.py,sha256=rW5WR9dXqVONsUAB39ziDCaktZlDwOjKiGKPDno4gwU,5630
4
+ homesec/errors.py,sha256=fBW_OdnYgqtb6u6t0YZh4tHgsiv0Pb1DiF9G6b4Vcbk,2105
5
+ homesec/interfaces.py,sha256=b6BsYUQUelZv4yWHqm1XpUBzVQNn8tPbUFFCFLC4qoQ,9836
6
+ homesec/logging_setup.py,sha256=Z12nzCPK04cqFHfIQgasioGfXb4TLvXJT9stzD8Dh4c,5546
7
+ homesec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ homesec/storage_paths.py,sha256=MGQNT_7mJS6wuTWUHZNl0hvRmSVRvNksLu_imfZOEpo,1696
9
+ homesec/config/__init__.py,sha256=CjvulJwzj4Rdivrxz7tuDlyfw0c2IhqnSeUcHeu7ldk,421
10
+ homesec/config/loader.py,sha256=7BDw4plVQUCo8SHexdNiwAPd9mR8eVQEKnwzlvQthYQ,3030
11
+ homesec/config/validation.py,sha256=K1jgaVb-gi_99rb-gobEJBmF2WSiZJQfVMGfjqjm3iw,4017
12
+ homesec/health/__init__.py,sha256=fbndfsLOR9aA7d_5I1mEZN0oM5IYMmcJNjOt0iaXKZc,107
13
+ homesec/health/server.py,sha256=VP-4XmZ0K3ooFyd000AFOZohZ5R7QcnZC4n7oj0RMqI,7014
14
+ homesec/maintenance/__init__.py,sha256=6a5W2x8oUgnoWaK374-Wq_nrOD5UDAUqUtSANaEck2M,60
15
+ homesec/maintenance/cleanup_clips.py,sha256=sqeWLE9GrJfe29ntCasgvT2M-FWTymydHDQG-fZ3khg,23451
16
+ homesec/models/__init__.py,sha256=IVmkIEgTe1SvOzXilWw6BwSRQezAeBbqAt5y6EdZV5o,1955
17
+ homesec/models/alert.py,sha256=cMFr4NUGygq0-m2ep0jhjzVrFKM7kN1wJON1J0XwGY4,1010
18
+ homesec/models/clip.py,sha256=QaftnY7q20fQX4BTX6j-FBZLaoVSgk0DbpNf8kdnT60,2225
19
+ homesec/models/config.py,sha256=Z70xKrbDHi96j8IoRXPBw7DYAI7sjHR4M6nqReHTNds,14184
20
+ homesec/models/enums.py,sha256=WQk1PvYnJd5iaz51P5GM3XayqCf0VpQnLYmSuw1hrZk,3293
21
+ homesec/models/events.py,sha256=sgPDCSp9w60VUKKREYxNBZaxrFWW_bYyLwMFGHBawjk,4942
22
+ homesec/models/filter.py,sha256=6NS1rBI2zmrswK9NtMn0vZlbwbeMGCPuLCDKP9XWN0I,2259
23
+ homesec/models/source.py,sha256=F8ksGrOa09bxx5IEgQmxPWJNWOm8zvFLsRJxihJTlM4,2367
24
+ homesec/models/storage.py,sha256=63wyHdDt3QrfdsP0SmhrxtOeWRllZ1O2GPrA4jI7XmU,235
25
+ homesec/models/vlm.py,sha256=Uk6TPwqbKxzyAsOlBSzZru74nKjp2-LLyzIp5b3wM_c,3293
26
+ homesec/pipeline/__init__.py,sha256=kiQLECc6JIPmeIdBJrVpTApPs0GBAgWoZ1kU4XZyJVY,214
27
+ homesec/pipeline/alert_policy.py,sha256=gFl5SJ96fgEfEUnhSL51YA6O2GPGXTXmxaDC-q3h1rs,152
28
+ homesec/pipeline/core.py,sha256=D552e-xpIpom5C-Y_TkWB9Ufbm8xClGmCdo_4tseXuU,23840
29
+ homesec/plugins/__init__.py,sha256=ex1AY_pJa9PZkr6yaneX3KgImZ-GkenTwExH2cMcF3A,1269
30
+ homesec/plugins/registry.py,sha256=zzpWlFO2PMmtAyVx0xwcQEVkTUoQ8K6fzL_nkMeN1xY,5551
31
+ homesec/plugins/utils.py,sha256=a87kRYBZPnaUuvn6kRdf6N38b8aAbcPW9r-30T2rlBI,1980
32
+ homesec/plugins/alert_policies/__init__.py,sha256=ApjWte2c8lG_ZFx6TxHTRUp_41Q1-e1mwPO3yY6rO1M,1502
33
+ homesec/plugins/alert_policies/default.py,sha256=bB6DseIEXaiOlV5Y9VlTn18GTG9yaTEwPY83gHykvto,3266
34
+ homesec/plugins/alert_policies/noop.py,sha256=xcdyZAlQf6X_AqQWUPkRMHLK8J6d7PTXWoPbwpnSlQE,1262
35
+ homesec/plugins/analyzers/__init__.py,sha256=GLC01lACmqZjKjMbkUnB_yYnOTxW_XEOwOfHK-I9SX0,915
36
+ homesec/plugins/analyzers/openai.py,sha256=qLN9Qhj-DvqEE6nHXIfW0QPp2EhSVwIVVXzq-QSqdzQ,15979
37
+ homesec/plugins/filters/__init__.py,sha256=JgPJTcW8yKa6JRIED4w8o5j_n_k5J7xwQbhAqDYofA4,866
38
+ homesec/plugins/filters/yolo.py,sha256=gCuFHtqZsJVimaX1p7XvP9MTP9vliLiwniZWioAH5RA,11130
39
+ homesec/plugins/notifiers/__init__.py,sha256=6T3OX4Vg1XKZeSG6AlZzw0o2KlaRr_mePBDIZEbr5Rw,1066
40
+ homesec/plugins/notifiers/mqtt.py,sha256=1zUKUHFvT65ysawFXEwWHvY8rg310fRsSSKhIFeaUL4,5946
41
+ homesec/plugins/notifiers/multiplex.py,sha256=LlnwozjkMDQwz7__v7mT4AohZbiWZK39CZunamRp7FM,3676
42
+ homesec/plugins/notifiers/sendgrid_email.py,sha256=gZSv3FRaN8qCMO6D-MX8b6XVz-gSgrFhkFV6j1ILdi4,8682
43
+ homesec/plugins/sources/__init__.py,sha256=weLYuCLrmWIUvRTYmfgqVcOFHonZgTngDKFSks4yg8s,1025
44
+ homesec/plugins/sources/ftp.py,sha256=hdMcjC3lhCAdn9ZnuYNZbKbUWsXUOcql1r_OJXoCPso,849
45
+ homesec/plugins/sources/local_folder.py,sha256=nCAJr0l8FpUpI3amkOPDN69XkAYtxgez3utq1jNRdPQ,1214
46
+ homesec/plugins/sources/rtsp.py,sha256=PbSrDEcvbTPq6xnA6i87DLCEtxHWdMVBjd6QQm1DAsc,814
47
+ homesec/plugins/storage/__init__.py,sha256=oJPrjgpke7VK3MY8L-GGmDVB4eWx7IgXcmVQXMcMw7g,1235
48
+ homesec/plugins/storage/dropbox.py,sha256=AQkEFV4lXqS1pbVazNuskEaEpr5CvLkrYdUK8EE7eAM,9992
49
+ homesec/plugins/storage/local.py,sha256=CbuSaWEi9ft1zxOURcmOKzwyq0UXIyHqyHoQD6sxivI,3231
50
+ homesec/repository/__init__.py,sha256=6cye2uQIA2v6jeLk5D2S9y3rlkfzJH5GceqdOroF3hU,160
51
+ homesec/repository/clip_repository.py,sha256=nRcswsIX--Z9p7J33FsqNlDtMAmt438VUbfvZHX0FlY,17090
52
+ homesec/sources/__init__.py,sha256=wuCtiF44ceo7n3wJN51VHHcDavko3ubUDICtFbWmaRI,505
53
+ homesec/sources/base.py,sha256=dKTxJxcDwJtykWDN3WYzkW5mtkRqlOJxJLWcLy82_Zo,7582
54
+ homesec/sources/ftp.py,sha256=ynIPbgcbIi1jub8yr4H1259Y1HbNM42RFDBBivXD4mg,7308
55
+ homesec/sources/local_folder.py,sha256=eW7ghgRsqTnZ5ZMPbsXh9ntqfue1UeM29ZpvRvLthPA,8461
56
+ homesec/sources/rtsp.py,sha256=T_DoAExu58pukRDjPNZ7wELDIebbQpVFrg29L9xACa8,48866
57
+ homesec/state/__init__.py,sha256=Evt1jqTebmpJD1NUzNh3vwt5pbjDlLjQ0DgMCSAZOuM,255
58
+ homesec/state/postgres.py,sha256=I-cXqW5cgz-hpaHc0JIv3DnIBTmGxE28P8ZxBAGabSw,17765
59
+ homesec/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ homesec/telemetry/db_log_handler.py,sha256=KM8g4kcOyPzFJbpGxpSzecx_hrEWY0YfpoIKygETy5k,7539
61
+ homesec/telemetry/postgres_settings.py,sha256=EVD2_oi_KReFJvQmXxW026aurl_YD-KexT7rkbGQPHc,1198
62
+ homesec/telemetry/db/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
63
+ homesec/telemetry/db/log_table.py,sha256=wcZLwRht7FMa0z2gf37f_RxdVTNIdDiK4i_N3c_ibwg,473
64
+ homesec-1.2.0.dist-info/METADATA,sha256=0N3Lg00FUl57PUV4VWe_vbIfQDOq-xib2wnkSU6dQS4,23274
65
+ homesec-1.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
66
+ homesec-1.2.0.dist-info/entry_points.txt,sha256=8ocCj_fP1qxIuL-DVDAUiaUbEdTMX_kg_BzVrJsbQYg,45
67
+ homesec-1.2.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
68
+ homesec-1.2.0.dist-info/RECORD,,
@@ -1,62 +0,0 @@
1
- homesec/__init__.py,sha256=tO_V5DJgS44qHCIySDUFIK5-Rbgjh3MpUBHa2HhZiB4,452
2
- homesec/app.py,sha256=ma1_wClIHAFyVB-dOzSlKvoWAWUhHvAPjZVARtqHTK0,14124
3
- homesec/cli.py,sha256=OOp1rKNTRWxAPNRErV_6XJ7nMxaa9msCbbbpXbBsUdM,5771
4
- homesec/errors.py,sha256=fBW_OdnYgqtb6u6t0YZh4tHgsiv0Pb1DiF9G6b4Vcbk,2105
5
- homesec/interfaces.py,sha256=z_bL6zrow5dxXBQLyeCK4ED7HzDrGBHe83Mm5W_4_pk,8388
6
- homesec/logging_setup.py,sha256=Z12nzCPK04cqFHfIQgasioGfXb4TLvXJT9stzD8Dh4c,5546
7
- homesec/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- homesec/storage_paths.py,sha256=MGQNT_7mJS6wuTWUHZNl0hvRmSVRvNksLu_imfZOEpo,1696
9
- homesec/config/__init__.py,sha256=CjvulJwzj4Rdivrxz7tuDlyfw0c2IhqnSeUcHeu7ldk,421
10
- homesec/config/loader.py,sha256=7BDw4plVQUCo8SHexdNiwAPd9mR8eVQEKnwzlvQthYQ,3030
11
- homesec/config/validation.py,sha256=eDMM8upz_ATVWPDBtXkhNQOJEvh1gPU1LzY0UlH---M,2792
12
- homesec/health/__init__.py,sha256=fbndfsLOR9aA7d_5I1mEZN0oM5IYMmcJNjOt0iaXKZc,107
13
- homesec/health/server.py,sha256=VP-4XmZ0K3ooFyd000AFOZohZ5R7QcnZC4n7oj0RMqI,7014
14
- homesec/maintenance/__init__.py,sha256=6a5W2x8oUgnoWaK374-Wq_nrOD5UDAUqUtSANaEck2M,60
15
- homesec/maintenance/cleanup_clips.py,sha256=KmpadZjcYjsq3q0xjgN307w6X5dxdvqa1ukUMn_8llg,23455
16
- homesec/models/__init__.py,sha256=zcSyQR0Mq_YlIrUFG304pQ72the1vtNbkWhjNJsso50,1889
17
- homesec/models/alert.py,sha256=lBPP7qQK97JN2RI5Wlpqk6JSeGQxRiiwxzEloNfyKOc,968
18
- homesec/models/clip.py,sha256=srqSLT1YXSG9CSZscOQssMSyg40SGaoEjABg9FzOxFQ,2254
19
- homesec/models/config.py,sha256=BHHxfWQ_RtcTkAyHFVTBybiwZSCHgZJ9cmR5veOt3BA,12234
20
- homesec/models/events.py,sha256=WdfkQrVPpEbjvPEhPsMnQQe9TgVglMfo9Ctz3xUJmFc,4605
21
- homesec/models/filter.py,sha256=3f0hhXA1qPw1IOCxUIq5tGEQpeUTwJrrPL7DowQhMRg,1974
22
- homesec/models/source.py,sha256=eHaJV8gk559kWNy0mt4KMr_zpdIccMvF7x4t3PkotGs,2204
23
- homesec/models/storage.py,sha256=63wyHdDt3QrfdsP0SmhrxtOeWRllZ1O2GPrA4jI7XmU,235
24
- homesec/models/vlm.py,sha256=Wd_hxWyIAETLtOth0FJoRt-sY9NdCS89T-BV-8ZDcP4,2883
25
- homesec/pipeline/__init__.py,sha256=kiQLECc6JIPmeIdBJrVpTApPs0GBAgWoZ1kU4XZyJVY,214
26
- homesec/pipeline/alert_policy.py,sha256=gFl5SJ96fgEfEUnhSL51YA6O2GPGXTXmxaDC-q3h1rs,152
27
- homesec/pipeline/core.py,sha256=D552e-xpIpom5C-Y_TkWB9Ufbm8xClGmCdo_4tseXuU,23840
28
- homesec/plugins/__init__.py,sha256=RhsQXLV1TJHoPVmk4Ql_X3IPQhFam5WXJMXjGUoXLuE,2117
29
- homesec/plugins/utils.py,sha256=Cj9bnL4ldlD8ryvqCwAhc-HBgYby3eugN49Ltycemy4,1778
30
- homesec/plugins/alert_policies/__init__.py,sha256=hPM7bK1DW6jown-IMNm4TkW471TBqkd56kMHpliJjg0,1978
31
- homesec/plugins/alert_policies/default.py,sha256=uWoxGGFDE-t6ykddFbkOAX_2Tizg30alrUYJ9muuA_E,3895
32
- homesec/plugins/alert_policies/noop.py,sha256=s-pJMpq6ekC6dVlg_lY7pizT_RYqCrOOHjJU7qAt5A0,1627
33
- homesec/plugins/analyzers/__init__.py,sha256=K2LqO9Isa9xbL_duwi59TGvRTD9i5L-yYcg1pEBiJ_o,3138
34
- homesec/plugins/analyzers/openai.py,sha256=18UfBiki0Qq7UcyGwxBY1lBz541mYYy-itxBamz6rqU,15392
35
- homesec/plugins/filters/__init__.py,sha256=mpn7l51fCU7r3y5GkB5krVf6dX66gJIFftvUWg0Zf4I,3165
36
- homesec/plugins/filters/yolo.py,sha256=bcE6S9QFBF7ZIbF2G_vhKQuAcXpPBJrmmxQPC3r4YYY,9781
37
- homesec/plugins/notifiers/__init__.py,sha256=PaKnY6Yvzk_ovK8mmJ_iqUtK_B-DeUpgtN480rBbxH0,1911
38
- homesec/plugins/notifiers/mqtt.py,sha256=p-Q4dTvQFqjazX141_FHKjGtIWsuvUQsfq_DnwBF-pM,6131
39
- homesec/plugins/notifiers/multiplex.py,sha256=LlnwozjkMDQwz7__v7mT4AohZbiWZK39CZunamRp7FM,3676
40
- homesec/plugins/notifiers/sendgrid_email.py,sha256=UZ_e-K31yHebUsXRUsAqdllytZUp1vv594RhdI0jwhE,8462
41
- homesec/plugins/storage/__init__.py,sha256=UzYg0TeQwSBwm-5EAZ6lRn3-fI-BYOBQWqTu2cUHVks,3026
42
- homesec/plugins/storage/dropbox.py,sha256=Rafi4NTTJBvm82BId5CYSFXkIbvV4IDDFAJiLbQUlL0,9793
43
- homesec/plugins/storage/local.py,sha256=lXaVQRUpiZMqtSGDLKb2IZUIela_ysqc3QbRx3lPBBI,3703
44
- homesec/repository/__init__.py,sha256=6cye2uQIA2v6jeLk5D2S9y3rlkfzJH5GceqdOroF3hU,160
45
- homesec/repository/clip_repository.py,sha256=qSkfVk2MIx9wOKskUWUNnYwO-w0showR4WPsxUdCijs,16807
46
- homesec/sources/__init__.py,sha256=wuCtiF44ceo7n3wJN51VHHcDavko3ubUDICtFbWmaRI,505
47
- homesec/sources/base.py,sha256=HZkGJkyUjRRkELZnpEoslUuV0du7S-uWPvNQhToxDWU,6926
48
- homesec/sources/ftp.py,sha256=ynIPbgcbIi1jub8yr4H1259Y1HbNM42RFDBBivXD4mg,7308
49
- homesec/sources/local_folder.py,sha256=-6CbnuLNOhVZx7wDoQUtGc_t6JtegLkIKbusvtI85NQ,8955
50
- homesec/sources/rtsp.py,sha256=3TOFDfIqadH3-DepB1xgv6mtOd0h-FYppZXBXSTBBi0,47304
51
- homesec/state/__init__.py,sha256=Evt1jqTebmpJD1NUzNh3vwt5pbjDlLjQ0DgMCSAZOuM,255
52
- homesec/state/postgres.py,sha256=Yis8ip2Y9dNYyTr2WEBcZ51m0ECoHuOe_XWT83cYQaI,16670
53
- homesec/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- homesec/telemetry/db_log_handler.py,sha256=KM8g4kcOyPzFJbpGxpSzecx_hrEWY0YfpoIKygETy5k,7539
55
- homesec/telemetry/postgres_settings.py,sha256=EVD2_oi_KReFJvQmXxW026aurl_YD-KexT7rkbGQPHc,1198
56
- homesec/telemetry/db/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
57
- homesec/telemetry/db/log_table.py,sha256=wcZLwRht7FMa0z2gf37f_RxdVTNIdDiK4i_N3c_ibwg,473
58
- homesec-1.1.1.dist-info/METADATA,sha256=_-urmcNlTrXZyAeWXSk1TJ5W0YAiMhdo4MmuzZT7FjE,23274
59
- homesec-1.1.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
60
- homesec-1.1.1.dist-info/entry_points.txt,sha256=8ocCj_fP1qxIuL-DVDAUiaUbEdTMX_kg_BzVrJsbQYg,45
61
- homesec-1.1.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
62
- homesec-1.1.1.dist-info/RECORD,,