blakeblackshear.frigate/frigate
Rui Alves cffc431bf0
Frigate HTTP API using FastAPI (#13871)
* POC: Added FastAPI with one endpoint (get /logs/service)

* POC: Revert error_log

* POC: Converted preview related endpoints to FastAPI

* POC: Converted two more endpoints to FastAPI

* POC: lint

* Convert all media endpoints to FastAPI. Added /media prefix (/media/camera && media/events && /media/preview)

* Convert all notifications API endpoints to FastAPI

* Convert first review API endpoints to FastAPI

* Convert remaining review API endpoints to FastAPI

* Convert export endpoints to FastAPI

* Fix path parameters

* Convert events endpoints to FastAPI

* Use body for multiple events endpoints

* Use body for multiple events endpoints (create and end event)

* Convert app endpoints to FastAPI

* Convert app endpoints to FastAPI

* Convert auth endpoints to FastAPI

* Removed flask app in favour of FastAPI app. Implemented FastAPI middleware to check CSRF, connect and disconnect from DB. Added middleware x-forwared-for headers

* Added starlette plugin to expose custom headers

* Use slowapi as the limiter

* Use query parameters for the frame latest endpoint

* Use query parameters for the media snapshot.jpg endpoint

* Use query parameters for the media MJPEG feed endpoint

* Revert initial nginx.conf change

* Added missing even_id for /events/search endpoint

* Removed left over comment

* Use FastAPI TestClient

* severity query parameter should be a string

* Use the same pattern for all tests

* Fix endpoint

* Revert media routers to old names. Order routes to make sure the dynamic ones from media.py are only used whenever there's no match on auth/etc

* Reverted paths for media on tsx files

* Deleted file

* Fix test_http to use TestClient

* Formatting

* Bind timeline to DB

* Fix http tests

* Replace filename with pathvalidate

* Fix latest.ext handling and disable uvicorn access logs

* Add cosntraints to api provided values

* Formatting

* Remove unused

* Remove unused

* Get rate limiter working

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
2024-09-24 07:05:30 -06:00
..
api Frigate HTTP API using FastAPI (#13871) 2024-09-24 07:05:30 -06:00
comms Work through most of the cspell warnings in python (#13794) 2024-09-17 10:41:46 -05:00
detectors Remove context file (#13885) 2024-09-22 08:38:23 -06:00
embeddings Chroma fixes (#13902) 2024-09-23 06:53:19 -06:00
events Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
genai write prompts for genai at the camera level (#13767) 2024-09-16 08:46:11 -06:00
images
motion Work through most of the cspell warnings in python (#13794) 2024-09-17 10:41:46 -05:00
output Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
ptz try deleting zoom spaces if disabled (#13915) 2024-09-23 15:34:08 -05:00
record Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
review Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
stats Work through most of the cspell warnings in python (#13794) 2024-09-17 10:41:46 -05:00
test Frigate HTTP API using FastAPI (#13871) 2024-09-24 07:05:30 -06:00
track Adjust stationary reqs depending on state (#11226) 2024-05-03 17:28:06 -05:00
util Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
__init__.py app container and config schema 2021-01-26 21:40:33 -06:00
__main__.py Frigate HTTP API using FastAPI (#13871) 2024-09-24 07:05:30 -06:00
app.py Frigate HTTP API using FastAPI (#13871) 2024-09-24 07:05:30 -06:00
config.py Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
const.py Removed usage of PyYAML for config parsing. (#13883) 2024-09-22 10:56:57 -05:00
ffmpeg_presets.py Update ffmpeg to 7 and update intel hwaccel docs (#13834) 2024-09-19 13:29:58 -06:00
log.py Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
models.py Implement support for notifications (#12523) 2024-08-29 20:19:50 -06:00
mypy.ini update deps (#6093) 2023-04-15 14:17:59 -05:00
object_detection.py Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
object_processing.py Fix detections logic (#13781) 2024-09-16 18:23:10 -05:00
plus.py strip whitespaces when loading secrets (#12393) 2024-07-12 07:36:15 -06:00
storage.py Ensure storage cleanup doesn't fail (#8531) 2023-11-07 23:21:43 +00:00
timeline.py Do not handle object if data is None (#13830) 2024-09-19 07:51:07 -06:00
types.py Convert config updating and video/audio queues to use zmq (#9893) 2024-02-19 07:26:59 -06:00
video.py Move more things out of FrigateApp (#13897) 2024-09-24 07:07:47 -05:00
watchdog.py Cleanup and organize utils (#7033) 2023-07-06 09:28:50 -05:00