Metadata-Version: 2.1
Name: wyzely-detect
Version: 0.1.0
Summary: Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices
Home-page: https://github.com/slashtechno/wyzely-detect
License: MIT
Keywords: object-detection,face-detection,wyze,security,yolov8,unified-push
Author: slashtechno
Author-email: 77907286+slashtechno@users.noreply.github.com
Requires-Python: >=3.10,<3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: deepface (>=0.0.79,<0.0.80)
Requires-Dist: hjson (>=3.1.0,<4.0.0)
Requires-Dist: httpx (>=0.25.0,<0.26.0)
Requires-Dist: numpy (>=1.23.2,<2.0.0)
Requires-Dist: opencv-python (>=4.8.1.78,<5.0.0.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: tensorflow (>=2.14.0,<3.0.0)
Requires-Dist: tensorflow-io-gcs-filesystem (==0.31.0)
Requires-Dist: torch (>=2.0.0,!=2.0.1,!=2.1.0)
Requires-Dist: ultralytics (>=8.0.190,<9.0.0)
Project-URL: Repository, https://github.com/slashtechno/wyzely-detect
Description-Content-Type: text/markdown

# Wyzely Detect  
Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices  

### Features  
- Recognize objects  
- Recognize faces  
- Send notifications to your phone (or other devices) using [ntfy](https://ntfy.sh/)  
- Optionally, run headless with Docker  
- Either use a webcam or an RTSP feed  
    - Use [mrlt8/docker-wyze-bridge](https://github.com/mrlt8/docker-wyze-bridge) to get RTSP feeds from Wyze Cams  


## Prerequisites  
### Poetry/Python  
- Camera, either a webcam or a Wyze Cam  
    - All RTSP feeds _should_ work, however.  
- Python 3.10 or 3.11  
- Poetry  
### Docker  
- A Wyze Cam  
    - Any other RTSP feed _should_ work, as mentioned above  
- Docker
- Docker Compose


## What's not required  
- A Wyze subscription  

## Usage  
### Installation  
1. Clone this repo with `git clone https://github.com/slashtechno/wyzely-detect`  
2. `cd` into the cloned repository  
3. Then, either install with [Poetry](https://python-poetry.org/) or run with Docker  

#### Docker  
1. Modify to `docker-compose.yml` to achieve desired configuration
2. Run in the background with `docker compose up -d

#### Poetry  
1. `poetry install`  
2. `poetry run -- wyzely-detect`  
### Configuration  
The following are some basic CLI options. Most flags have environment variable equivalents which can be helpful when using Docker. 

- For face recognition, put images of faces in subdirectories `./faces` (this can be changed with `--faces-directory`) 
    - Keep in mind, on the first run, face rec
- By default, notifications are sent for all objects. This can be changed with one or more occurrences of `--detect-object` to specify which objects to detect
    - Currently, all classes in the [COCO](https://cocodataset.org/) dataset can be detected
- To specify where notifications are sent, specify a [ntfy](https://ntfy.sh/) URL with `--ntfy-url`
- To configure the program when using Docker, edit `docker-compose.yml` and/or set environment variables.
- **For further information, use `--help`**

### How to uninstall  
- If you used Docker, run `docker-compose down --rmi all` in the cloned repository
- If you used Poetry, just delete the virtual environment and then the cloned repository
