(Attempt to) switch to Rye

This commit is contained in:
slashtechno 2024-03-08 20:36:17 -06:00
parent a775e6d43b
commit 00f777950c
Signed by: slashtechno
GPG Key ID: 8EC1D9D9286C2B17
5 changed files with 663 additions and 14 deletions

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "wyzely-detect" name = "wyzely-detect"
version = "0.2.1" version = "0.2.2"
description = "Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices" description = "Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices"
authors = ["slashtechno <77907286+slashtechno@users.noreply.github.com>"] authors = ["slashtechno <77907286+slashtechno@users.noreply.github.com>"]
repository = "https://github.com/slashtechno/wyzely-detect" repository = "https://github.com/slashtechno/wyzely-detect"

View File

@ -7,7 +7,6 @@ keywords = ["object-detection", "face-detection", "wyze", "security", "yolov8",
license = {file = "LICENSE"} license = {file = "LICENSE"}
readme = "README.md" readme = "README.md"
requires-python = ">=3.10, <3.12" requires-python = ">=3.10, <3.12"
dependencies = [ dependencies = [
"python-dotenv>=1.0.0,<2.0.0", "python-dotenv>=1.0.0,<2.0.0",
"httpx>=0.25.0,<0.26.0", "httpx>=0.25.0,<0.26.0",
@ -26,16 +25,10 @@ dependencies = [
] ]
[project.optional-dependencies] [project.optional-dependencies]
gpu = [ gpu = ["tensorflow[and-cuda] (>=2.14.0,<2.15.0)"]
"torch (>=2.1.0,<2.2.0); extra=='cuda'",
"tensorflow (>=2.14.0,<2.15.0); extra=='cuda'"
]
[project.dev-dependencies] [project.scripts]
black = ">=23.9.1,<24.0.0" wyzely-detect = "wyzely_detect.__main__:main"
ruff = ">=0.0.291,<0.1.0"
ipykernel = ">=6.25.2,<7.0.0"
nbconvert = ">=7.9.2,<8.0.0"
[project.urls] [project.urls]
Repository = "https://github.com/slashtechno/wyzely-detect" Repository = "https://github.com/slashtechno/wyzely-detect"
@ -44,12 +37,20 @@ Repository = "https://github.com/slashtechno/wyzely-detect"
requires = ["hatchling"] requires = ["hatchling"]
build-backend = "hatchling.build" build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["wyzely_detect"]
[tool.rye] [tool.rye]
managed = true managed = true
dev-dependencies = [] dev-dependencies = [
"black>=23.9.1,<24.0.0",
"ruff>=0.0.291,<0.1.0",
"ipykernel>=6.25.2,<7.0.0",
"nbconvert>=7.9.2,<8.0.0"
]
[tool.hatch.metadata] [tool.hatch.metadata]
allow-direct-references = true allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["src/rye"]

384
requirements-dev.lock Normal file
View File

@ -0,0 +1,384 @@
# generated by rye
# use `rye lock` or `rye sync` to update this lockfile
#
# last locked with the following flags:
# pre: false
# features: []
# all-features: false
# with-sources: false
-e file:.
absl-py==2.1.0
# via tensorboard
# via tensorflow-intel
# via wyzely-detect
anyio==4.3.0
# via httpx
asttokens==2.4.1
# via stack-data
astunparse==1.6.3
# via tensorflow-intel
attrs==23.2.0
# via jsonschema
# via referencing
beautifulsoup4==4.12.3
# via gdown
# via nbconvert
black==23.12.1
bleach==6.1.0
# via nbconvert
blinker==1.7.0
# via flask
cachetools==5.3.3
# via google-auth
certifi==2024.2.2
# via httpcore
# via httpx
# via requests
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via black
# via flask
colorama==0.4.6
# via click
# via ipython
# via tqdm
comm==0.2.1
# via ipykernel
contourpy==1.2.0
# via matplotlib
cycler==0.12.1
# via matplotlib
debugpy==1.8.1
# via ipykernel
decorator==5.1.1
# via ipython
deepface==0.0.85
# via wyzely-detect
defusedxml==0.7.1
# via nbconvert
exceptiongroup==1.2.0
# via anyio
# via ipython
executing==2.0.1
# via stack-data
fastjsonschema==2.19.1
# via nbformat
filelock==3.13.1
# via gdown
# via torch
fire==0.5.0
# via deepface
flask==3.0.2
# via deepface
flatbuffers==24.3.7
# via tensorflow-intel
fonttools==4.49.0
# via matplotlib
fsspec==2024.2.0
# via torch
gast==0.4.0
# via tensorflow-intel
gdown==5.1.0
# via deepface
# via retina-face
google-auth==2.28.2
# via google-auth-oauthlib
# via tensorboard
google-auth-oauthlib==1.0.0
# via tensorboard
google-pasta==0.2.0
# via tensorflow-intel
grpcio==1.62.1
# via tensorboard
# via tensorflow-intel
gunicorn==21.2.0
# via deepface
h11==0.14.0
# via httpcore
h5py==3.10.0
# via tensorflow-intel
hjson==3.1.0
# via wyzely-detect
httpcore==1.0.4
# via httpx
httpx==0.25.2
# via wyzely-detect
idna==3.6
# via anyio
# via httpx
# via requests
ipykernel==6.29.3
ipython==8.22.2
# via ipykernel
itsdangerous==2.1.2
# via flask
jedi==0.19.1
# via ipython
jinja2==3.1.3
# via flask
# via nbconvert
# via torch
jsonschema==4.21.1
# via nbformat
jsonschema-specifications==2023.12.1
# via jsonschema
jupyter-client==8.6.0
# via ipykernel
# via nbclient
jupyter-core==5.7.1
# via ipykernel
# via jupyter-client
# via nbclient
# via nbconvert
# via nbformat
jupyterlab-pygments==0.3.0
# via nbconvert
keras==2.13.1
# via deepface
# via mtcnn
# via tensorflow-intel
kiwisolver==1.4.5
# via matplotlib
libclang==16.0.6
# via tensorflow-intel
markdown==3.5.2
# via tensorboard
markupsafe==2.1.5
# via jinja2
# via nbconvert
# via werkzeug
matplotlib==3.8.3
# via seaborn
# via ultralytics
matplotlib-inline==0.1.6
# via ipykernel
# via ipython
mistune==3.0.2
# via nbconvert
mpmath==1.3.0
# via sympy
mtcnn==0.1.1
# via deepface
mypy-extensions==1.0.0
# via black
nbclient==0.9.0
# via nbconvert
nbconvert==7.16.2
nbformat==5.9.2
# via nbclient
# via nbconvert
nest-asyncio==1.6.0
# via ipykernel
networkx==3.2.1
# via torch
numpy==1.24.3
# via contourpy
# via deepface
# via h5py
# via matplotlib
# via opencv-python
# via opt-einsum
# via pandas
# via retina-face
# via scipy
# via seaborn
# via tensorboard
# via tensorflow-intel
# via torchvision
# via wyzely-detect
oauthlib==3.2.2
# via requests-oauthlib
opencv-python==4.8.1.78
# via deepface
# via mtcnn
# via retina-face
# via ultralytics
# via wyzely-detect
opt-einsum==3.3.0
# via tensorflow-intel
packaging==23.2
# via black
# via gunicorn
# via ipykernel
# via matplotlib
# via nbconvert
# via tensorflow-intel
pandas==2.2.1
# via deepface
# via seaborn
# via ultralytics
pandocfilters==1.5.1
# via nbconvert
parso==0.8.3
# via jedi
pathspec==0.12.1
# via black
pillow==10.2.0
# via deepface
# via matplotlib
# via retina-face
# via torchvision
# via ultralytics
platformdirs==4.2.0
# via black
# via jupyter-core
prettytable==3.10.0
# via wyzely-detect
prompt-toolkit==3.0.43
# via ipython
protobuf==4.25.3
# via tensorboard
# via tensorflow-intel
psutil==5.9.8
# via ipykernel
# via ultralytics
pure-eval==0.2.2
# via stack-data
py-cpuinfo==9.0.0
# via ultralytics
pyasn1==0.5.1
# via pyasn1-modules
# via rsa
pyasn1-modules==0.3.0
# via google-auth
pygments==2.17.2
# via ipython
# via nbconvert
pyparsing==3.1.2
# via matplotlib
pysocks==1.7.1
# via requests
python-dateutil==2.9.0.post0
# via jupyter-client
# via matplotlib
# via pandas
python-dotenv==1.0.1
# via wyzely-detect
pytz==2024.1
# via pandas
pywin32==306
# via jupyter-core
pyyaml==6.0.1
# via ultralytics
pyzmq==25.1.2
# via ipykernel
# via jupyter-client
referencing==0.33.0
# via jsonschema
# via jsonschema-specifications
requests==2.31.0
# via gdown
# via requests-oauthlib
# via tensorboard
# via torchvision
# via ultralytics
requests-oauthlib==1.3.1
# via google-auth-oauthlib
retina-face==0.0.14
# via deepface
rpds-py==0.18.0
# via jsonschema
# via referencing
rsa==4.9
# via google-auth
ruff==0.0.292
scipy==1.12.0
# via ultralytics
seaborn==0.13.2
# via ultralytics
six==1.16.0
# via asttokens
# via astunparse
# via bleach
# via fire
# via google-pasta
# via python-dateutil
# via tensorflow-intel
sniffio==1.3.1
# via anyio
# via httpx
soupsieve==2.5
# via beautifulsoup4
stack-data==0.6.3
# via ipython
sympy==1.12
# via torch
tensorboard==2.13.0
# via tensorflow-intel
tensorboard-data-server==0.7.2
# via tensorboard
tensorflow==2.13.1
# via deepface
# via retina-face
# via wyzely-detect
tensorflow-estimator==2.13.0
# via tensorflow-intel
tensorflow-intel==2.13.1 ; platform_system == "Windows"
# via tensorflow
# via wyzely-detect
tensorflow-io-gcs-filesystem==0.31.0 ; platform_system == "Windows"
# via tensorflow-intel
# via wyzely-detect
termcolor==2.4.0
# via fire
# via tensorflow-intel
thop==0.1.1.post2209072238
# via ultralytics
tinycss2==1.2.1
# via nbconvert
tomli==2.0.1
# via black
torch==2.1.2
# via thop
# via torchvision
# via ultralytics
# via wyzely-detect
torchvision==0.16.2
# via ultralytics
tornado==6.4
# via ipykernel
# via jupyter-client
tqdm==4.66.2
# via deepface
# via gdown
# via ultralytics
traitlets==5.14.1
# via comm
# via ipykernel
# via ipython
# via jupyter-client
# via jupyter-core
# via matplotlib-inline
# via nbclient
# via nbconvert
# via nbformat
typing-extensions==4.5.0
# via anyio
# via black
# via tensorflow-intel
# via torch
tzdata==2024.1
# via pandas
ultralytics==8.1.24
# via wyzely-detect
urllib3==2.2.1
# via requests
wcwidth==0.2.13
# via prettytable
# via prompt-toolkit
webencodings==0.5.1
# via bleach
# via tinycss2
werkzeug==3.0.1
# via flask
# via tensorboard
wheel==0.42.0
# via astunparse
# via tensorboard
wrapt==1.16.0
# via tensorflow-intel
setuptools==69.1.1
# via tensorboard
# via tensorflow-intel

264
requirements.lock Normal file
View File

@ -0,0 +1,264 @@
# generated by rye
# use `rye lock` or `rye sync` to update this lockfile
#
# last locked with the following flags:
# pre: false
# features: []
# all-features: false
# with-sources: false
-e file:.
absl-py==2.1.0
# via tensorboard
# via tensorflow-intel
# via wyzely-detect
anyio==4.3.0
# via httpx
astunparse==1.6.3
# via tensorflow-intel
beautifulsoup4==4.12.3
# via gdown
blinker==1.7.0
# via flask
cachetools==5.3.3
# via google-auth
certifi==2024.2.2
# via httpcore
# via httpx
# via requests
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via flask
colorama==0.4.6
# via click
# via tqdm
contourpy==1.2.0
# via matplotlib
cycler==0.12.1
# via matplotlib
deepface==0.0.85
# via wyzely-detect
exceptiongroup==1.2.0
# via anyio
filelock==3.13.1
# via gdown
# via torch
fire==0.5.0
# via deepface
flask==3.0.2
# via deepface
flatbuffers==24.3.7
# via tensorflow-intel
fonttools==4.49.0
# via matplotlib
fsspec==2024.2.0
# via torch
gast==0.4.0
# via tensorflow-intel
gdown==5.1.0
# via deepface
# via retina-face
google-auth==2.28.2
# via google-auth-oauthlib
# via tensorboard
google-auth-oauthlib==1.0.0
# via tensorboard
google-pasta==0.2.0
# via tensorflow-intel
grpcio==1.62.1
# via tensorboard
# via tensorflow-intel
gunicorn==21.2.0
# via deepface
h11==0.14.0
# via httpcore
h5py==3.10.0
# via tensorflow-intel
hjson==3.1.0
# via wyzely-detect
httpcore==1.0.4
# via httpx
httpx==0.25.2
# via wyzely-detect
idna==3.6
# via anyio
# via httpx
# via requests
itsdangerous==2.1.2
# via flask
jinja2==3.1.3
# via flask
# via torch
keras==2.13.1
# via deepface
# via mtcnn
# via tensorflow-intel
kiwisolver==1.4.5
# via matplotlib
libclang==16.0.6
# via tensorflow-intel
markdown==3.5.2
# via tensorboard
markupsafe==2.1.5
# via jinja2
# via werkzeug
matplotlib==3.8.3
# via seaborn
# via ultralytics
mpmath==1.3.0
# via sympy
mtcnn==0.1.1
# via deepface
networkx==3.2.1
# via torch
numpy==1.24.3
# via contourpy
# via deepface
# via h5py
# via matplotlib
# via opencv-python
# via opt-einsum
# via pandas
# via retina-face
# via scipy
# via seaborn
# via tensorboard
# via tensorflow-intel
# via torchvision
# via wyzely-detect
oauthlib==3.2.2
# via requests-oauthlib
opencv-python==4.8.1.78
# via deepface
# via mtcnn
# via retina-face
# via ultralytics
# via wyzely-detect
opt-einsum==3.3.0
# via tensorflow-intel
packaging==23.2
# via gunicorn
# via matplotlib
# via tensorflow-intel
pandas==2.2.1
# via deepface
# via seaborn
# via ultralytics
pillow==10.2.0
# via deepface
# via matplotlib
# via retina-face
# via torchvision
# via ultralytics
prettytable==3.10.0
# via wyzely-detect
protobuf==4.25.3
# via tensorboard
# via tensorflow-intel
psutil==5.9.8
# via ultralytics
py-cpuinfo==9.0.0
# via ultralytics
pyasn1==0.5.1
# via pyasn1-modules
# via rsa
pyasn1-modules==0.3.0
# via google-auth
pyparsing==3.1.2
# via matplotlib
pysocks==1.7.1
# via requests
python-dateutil==2.9.0.post0
# via matplotlib
# via pandas
python-dotenv==1.0.1
# via wyzely-detect
pytz==2024.1
# via pandas
pyyaml==6.0.1
# via ultralytics
requests==2.31.0
# via gdown
# via requests-oauthlib
# via tensorboard
# via torchvision
# via ultralytics
requests-oauthlib==1.3.1
# via google-auth-oauthlib
retina-face==0.0.14
# via deepface
rsa==4.9
# via google-auth
scipy==1.12.0
# via ultralytics
seaborn==0.13.2
# via ultralytics
six==1.16.0
# via astunparse
# via fire
# via google-pasta
# via python-dateutil
# via tensorflow-intel
sniffio==1.3.1
# via anyio
# via httpx
soupsieve==2.5
# via beautifulsoup4
sympy==1.12
# via torch
tensorboard==2.13.0
# via tensorflow-intel
tensorboard-data-server==0.7.2
# via tensorboard
tensorflow==2.13.1
# via deepface
# via retina-face
# via wyzely-detect
tensorflow-estimator==2.13.0
# via tensorflow-intel
tensorflow-intel==2.13.1 ; platform_system == "Windows"
# via tensorflow
# via wyzely-detect
tensorflow-io-gcs-filesystem==0.31.0 ; platform_system == "Windows"
# via tensorflow-intel
# via wyzely-detect
termcolor==2.4.0
# via fire
# via tensorflow-intel
thop==0.1.1.post2209072238
# via ultralytics
torch==2.1.2
# via thop
# via torchvision
# via ultralytics
# via wyzely-detect
torchvision==0.16.2
# via ultralytics
tqdm==4.66.2
# via deepface
# via gdown
# via ultralytics
typing-extensions==4.5.0
# via anyio
# via tensorflow-intel
# via torch
tzdata==2024.1
# via pandas
ultralytics==8.1.24
# via wyzely-detect
urllib3==2.2.1
# via requests
wcwidth==0.2.13
# via prettytable
werkzeug==3.0.1
# via flask
# via tensorboard
wheel==0.42.0
# via astunparse
# via tensorboard
wrapt==1.16.0
# via tensorflow-intel
setuptools==69.1.1
# via tensorboard
# via tensorflow-intel