wyzely-detect


Namewyzely-detect JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://github.com/slashtechno/wyzely-detect
SummaryRecognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices
upload_time2024-03-08 22:20:35
maintainer
docs_urlNone
authorslashtechno
requires_python>=3.10,<3.12
licenseMIT
keywords object-detection face-detection wyze security yolov8 unified-push
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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  
### Python  
- Camera, either a webcam or a Wyze Cam  
    - All RTSP feeds _should_ work, however.  
    - **WSL, by default, does not support USB devices.** It is recommended to natively run this, but it is possible to use it on WSL with streams or some workarounds.  
- Python 3.10 or 3.11  
- Poetry (optional)  
- Windows or Linux  
    - I've tested this on MacOS - it works on my 2014 MacBook Air but not a 2011 MacBook Pro  
    - Both were upgraded with OpenCore, with the MacBook Air running Monterey and the MacBook Pro running a newer version of MacOS, which may have been the problem  

### 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  
Cloning the repository is not required when installing from PyPi but is required when installing from source  
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  


#### Installing from PyPi with pip (recommended)  
This assumes you have Python 3.10 or 3.11 installed  
1. `pip install wyzely-detect`  
    a. You may need to use `pip3` instead of `pip`  
2. `wyzely-detect`  

#### Poetry (best for GPU support)
1. `poetry install`  
    a. For GPU support, use `poetry install -E cuda --with gpu`
2. `poetry run -- wyzely-detect`  

#### Docker  
Running with Docker has the benefit of having easier configuration, the ability to run headlessly, and easy setup of Ntfy and [mrlt8/docker-wyze-bridge](https://github.com/mrlt8/docker-wyze-bridge). However, for now, CPU-only is supported. Contributions are welcome to add GPU support. In addition, Docker is tested a less-tested method of running this program.  

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

### 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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/slashtechno/wyzely-detect",
    "name": "wyzely-detect",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<3.12",
    "maintainer_email": "",
    "keywords": "object-detection,face-detection,wyze,security,yolov8,unified-push",
    "author": "slashtechno",
    "author_email": "77907286+slashtechno@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/a3/db/35e2a9cb6558ab657c557927e2acb1e753044ffa96159c192664809e82b6/wyzely_detect-0.2.1.tar.gz",
    "platform": null,
    "description": "# Wyzely Detect  \nRecognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices  \n\n### Features  \n- Recognize objects  \n- Recognize faces  \n- Send notifications to your phone (or other devices) using [ntfy](https://ntfy.sh/)  \n- Optionally, run headless with Docker  \n- Either use a webcam or an RTSP feed  \n    - Use [mrlt8/docker-wyze-bridge](https://github.com/mrlt8/docker-wyze-bridge) to get RTSP feeds from Wyze Cams  \n\n\n## Prerequisites  \n### Python  \n- Camera, either a webcam or a Wyze Cam  \n    - All RTSP feeds _should_ work, however.  \n    - **WSL, by default, does not support USB devices.** It is recommended to natively run this, but it is possible to use it on WSL with streams or some workarounds.  \n- Python 3.10 or 3.11  \n- Poetry (optional)  \n- Windows or Linux  \n    - I've tested this on MacOS - it works on my 2014 MacBook Air but not a 2011 MacBook Pro  \n    - Both were upgraded with OpenCore, with the MacBook Air running Monterey and the MacBook Pro running a newer version of MacOS, which may have been the problem  \n\n### Docker  \n- A Wyze Cam  \n    - Any other RTSP feed _should_ work, as mentioned above  \n- Docker\n- Docker Compose\n\n\n## What's not required  \n- A Wyze subscription  \n\n## Usage  \n### Installation  \nCloning the repository is not required when installing from PyPi but is required when installing from source  \n1. Clone this repo with `git clone https://github.com/slashtechno/wyzely-detect`  \n2. `cd` into the cloned repository  \n3. Then, either install with [Poetry](https://python-poetry.org/) or run with Docker  \n\n\n#### Installing from PyPi with pip (recommended)  \nThis assumes you have Python 3.10 or 3.11 installed  \n1. `pip install wyzely-detect`  \n    a. You may need to use `pip3` instead of `pip`  \n2. `wyzely-detect`  \n\n#### Poetry (best for GPU support)\n1. `poetry install`  \n    a. For GPU support, use `poetry install -E cuda --with gpu`\n2. `poetry run -- wyzely-detect`  \n\n#### Docker  \nRunning with Docker has the benefit of having easier configuration, the ability to run headlessly, and easy setup of Ntfy and [mrlt8/docker-wyze-bridge](https://github.com/mrlt8/docker-wyze-bridge). However, for now, CPU-only is supported. Contributions are welcome to add GPU support. In addition, Docker is tested a less-tested method of running this program.  \n\n1. Modify to `docker-compose.yml` to achieve desired configuration  \n2. Run in the background with `docker compose up -d`\n\n### Configuration  \nThe following are some basic CLI options. Most flags have environment variable equivalents which can be helpful when using Docker. \n\n- For face recognition, put images of faces in subdirectories `./faces` (this can be changed with `--faces-directory`) \n    - Keep in mind, on the first run, face rec\n- 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\n    - Currently, all classes in the [COCO](https://cocodataset.org/) dataset can be detected\n- To specify where notifications are sent, specify a [ntfy](https://ntfy.sh/) URL with `--ntfy-url`\n- To configure the program when using Docker, edit `docker-compose.yml` and/or set environment variables.\n- **For further information, use `--help`**\n\n### How to uninstall  \n- If you used Docker, run `docker-compose down --rmi all` in the cloned repository\n- If you used Poetry, just delete the virtual environment and then the cloned repository\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices",
    "version": "0.2.1",
    "project_urls": {
        "Homepage": "https://github.com/slashtechno/wyzely-detect",
        "Repository": "https://github.com/slashtechno/wyzely-detect"
    },
    "split_keywords": [
        "object-detection",
        "face-detection",
        "wyze",
        "security",
        "yolov8",
        "unified-push"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0afc1d1f63282bbb4eeb039a200f562e918328d24878cbb3ad2bc17b95a671c",
                "md5": "f16ddcf1af6740f627cd34a5ca874cfb",
                "sha256": "79c8f15670a20c2cdb3c055e07e0dd244af8a85e119622514f82485639eca6fc"
            },
            "downloads": -1,
            "filename": "wyzely_detect-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f16ddcf1af6740f627cd34a5ca874cfb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<3.12",
            "size": 25970,
            "upload_time": "2024-03-08T22:20:33",
            "upload_time_iso_8601": "2024-03-08T22:20:33.813549Z",
            "url": "https://files.pythonhosted.org/packages/e0/af/c1d1f63282bbb4eeb039a200f562e918328d24878cbb3ad2bc17b95a671c/wyzely_detect-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3db35e2a9cb6558ab657c557927e2acb1e753044ffa96159c192664809e82b6",
                "md5": "08e3dd95f274b7a84aeca56955788779",
                "sha256": "e652f46f3527d376beeeea1862238a9d4575366dfe3f19fecceff811da05dbca"
            },
            "downloads": -1,
            "filename": "wyzely_detect-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "08e3dd95f274b7a84aeca56955788779",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<3.12",
            "size": 25516,
            "upload_time": "2024-03-08T22:20:35",
            "upload_time_iso_8601": "2024-03-08T22:20:35.415902Z",
            "url": "https://files.pythonhosted.org/packages/a3/db/35e2a9cb6558ab657c557927e2acb1e753044ffa96159c192664809e82b6/wyzely_detect-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-08 22:20:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "slashtechno",
    "github_project": "wyzely-detect",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "wyzely-detect"
}
        
Elapsed time: 0.23677s