OpenALPR Webhook Processor for IP Cameras

Following requirements.txt does not result in any errors:

Code:
aiohttp==3.11.16
aiohttp-retry==2.8.3
aiosignal==1.3.1
alembic==1.10.4
aniso8601==9.0.1
argcomplete==3.0.8
arrow==1.2.3
astral==2.2
async-timeout==4.0.2
asyncio==3.4.3
attrs==23.1.0
blinker==1.9
certifi==2022.12.7
cfgv==3.3.1
charset-normalizer==3.1.0
click==8.1.3
colorama==0.4.4
Cython==0.29.34
decli==0.6.1
distlib==0.3.6
dnspython==2.3.0
email-validator==2.0.0.post2
filelock==3.12.0
Flask==3.1.0
flask-ipban==1.1.5
Flask-Login==0.6.2
Flask-Mail==0.9.1
Flask-Migrate==2.6.0
Flask-Minify==0.41
flask-paginate==2022.1.8
flask-restx==0.5.1
Flask-Script==2.0.6
Flask-SQLAlchemy==2.5.1
Flask-WTF==1.0.0
frozenlist==1.5.0
greenlet==3.2.0
gunicorn==20.1.0
htmlmin==0.1.12
identify==2.5.24
idna==3.4
importlib-metadata==6.6.0
ipc-sun-sync==0.2.3
itsdangerous==2.2.0
Jinja2==3.1.2
jsmin==3.0.1
jsonschema==4.17.3
lesscpy==0.15.1
Mako==1.2.4
MarkupSafe==2.1.1
marshmallow==3.14.1
marshmallow-sqlalchemy==0.22.3
multidict==6.0.4
nodeenv==1.8.0
oauthlib==3.2.2
packaging==23.1
phonenumbers==8.13.11
platformdirs==3.5.1
ply==3.11
progressbar2==4.2.0
prompt-toolkit==3.0.38
psutil==5.9.5
pycountry==22.3.5
PyJWT==2.6.0
pyrsistent==0.19.3
python-dateutil==2.8.2
python-utils==3.7.0
pytimeparse==1.1.8
pytz==2022.1
PyYAML==6.0.1
questionary==1.10.0
random-password-generator==2.2.0
rcssmin==1.1.1
redis==4.4.4
Redis-Sentinel-Url==1.0.1
requests==2.28.2
requests-oauthlib==1.3.1
rq==1.12.0
setproctitle==1.3.2
six==1.16.0
SQLAlchemy==1.4.29
sqlalchemy-json==0.5.0
termcolor==2.3.0
tomlkit==0.11.8
twilio==8.0.0
typing_extensions==4.5.0
urllib3==1.26.15
URLObject==2.4.3
virtualenv==20.23.0
wcwidth==0.2.6
Werkzeug==3.1
WTForms==3.0.0
xxhash==3.2.0
yarl==1.17.0
zipp==3.15.0

Result of pip3 install -r requirements.txt:
Code:
Successfully installed Cython-0.29.34 Flask-Login-0.6.2 Flask-Mail-0.9.1 Flask-Migrate-2.6.0 Flask-Minify-0.41 Flask-SQLAlchemy-2.5.1 Flask-Script-2.0.6 Flask-WTF-1.0.0 Jinja2-3.1.2 Mako-1.2.4 MarkupSafe-2.1.1 PyJWT-2.6.0 PyYAML-6.0.1 Redis-Sentinel-Url-1.0.1 SQLAlchemy-1.4.29 aiohappyeyeballs-2.6.1 aiohttp-3.11.16 aiohttp-retry-2.8.3 aiosignal-1.3.1 alembic-1.10.4 aniso8601-9.0.1 argcomplete-3.0.8 arrow-1.2.3 astral-2.2 async-timeout-4.0.2 asyncio-3.4.3 attrs-23.1.0 certifi-2022.12.7 cfgv-3.3.1 charset-normalizer-3.1.0 click-8.1.3 colorama-0.4.4 decli-0.6.1 distlib-0.3.6 dnspython-2.3.0 email-validator-2.0.0.post2 filelock-3.12.0 flask-ipban-1.1.5 flask-paginate-2022.1.8 flask-restx-0.5.1 frozenlist-1.5.0 greenlet-3.2.0 gunicorn-20.1.0 htmlmin-0.1.12 identify-2.5.24 idna-3.4 importlib-metadata-6.6.0 ipc-sun-sync-0.2.3 jsmin-3.0.1 jsonschema-4.17.3 lesscpy-0.15.1 marshmallow-3.14.1 marshmallow-sqlalchemy-0.22.3 multidict-6.0.4 nodeenv-1.8.0 packaging-23.1 phonenumbers-8.13.11 platformdirs-3.5.1 ply-3.11 progressbar2-4.2.0 prompt-toolkit-3.0.38 propcache-0.3.1 psutil-5.9.5 pycountry-22.3.5 pyrsistent-0.19.3 python-dateutil-2.8.2 python-utils-3.7.0 pytimeparse-1.1.8 pytz-2022.1 questionary-1.10.0 random-password-generator-2.2.0 rcssmin-1.1.1 redis-4.4.4 requests-2.28.2 requests-oauthlib-1.3.1 rq-1.12.0 setproctitle-1.3.2 setuptools-78.1.0 six-1.16.0 sqlalchemy-json-0.5.0 termcolor-2.3.0 tomlkit-0.11.8 twilio-8.0.0 typing_extensions-4.5.0 urllib3-1.26.15 virtualenv-20.23.0 wcwidth-0.2.6 xxhash-3.2.0 yarl-1.17.0 zipp-3.15.0
./app.py --host=0.0.0.0 --port=8080
give me the following error:
Code:
./app.py: line 23: import: command not found
./app.py: line 25: from: command not found
./app.py: line 26: from: command not found
./app.py: line 27: from: command not found
./app.py: line 29: from: command not found
./app.py: line 30: from: command not found
./app.py: line 33: syntax error near unexpected token `('
./app.py: line 33: `DEBUG = os.getenv('DEBUG', 'False') == 'True''
 
Dear All,

install was successful
Code:
sudo -i
apt install git
apt install build-essential python3 python3-dev python3-venv python3-pip redis-server && systemctl enable redis-server && systemctl start redis-server
git clone https://github.com/mibs510/OpenALPR-Webhook
cd OpenALPR-Webhook
python3 -m venv ./venv
source ./venv/bin/activate
pip3 install flask-dance
pip3 install -r requirements.txt

no errors

but when i run: ./app.py --host=0.0.0.0 --port=8080
i get the following error:
Code:
(venv) root@DNB20-series:/home/user/OpenALPR-Webhook# ./app.py --host=0.0.0.0 --port=8080
./app.py: line 23: import: command not found
./app.py: line 25: from: command not found
./app.py: line 26: from: command not found
./app.py: line 27: from: command not found
./app.py: line 29: from: command not found
./app.py: line 30: from: command not found
./app.py: line 33: syntax error near unexpected token `('
./app.py: line 33: `DEBUG = os.getenv('DEBUG', 'False') == 'True''


Can somebody assist me?
 
Hello everyone. v6.0.0-alpha12 is available, i've added some machine learning to detect when plates are going to be seen again.

1753292873005.png




there are also performance metrics and machine learning configuration values in the settings:
1753292719310.png

I am currently refactoring the entire application, feedback is appreciated!
 
Last edited:
Wow, this is awesome

I may start fresh on this, I have well over a million entries and its gotten pretty slow
 
  • Like
Reactions: tech101
Wow, this is awesome

I may start fresh on this, I have well over a million entries and its gotten pretty slow
if it's possible, send me your database and i can figure out some optimizations. upload it to google cloud or something. i can make a script for you to run if you want to obfuscate plate numbers and pictures if you want.
 
Thanks, I'll upload it

Its pretty huge, its gotten quite slow and if a car drives past once, it shows 4 hits (when it should show 2, front and back)
 
Glad I have somewhat fast internet!

1753626135970.png
 
v6.0.0-alpha13 has a debug section in the settings that will clear out pictures and obfuscate the plate numbers. make sure you create a copy of your database file before you run it, it's very destructive.