Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions deploy/launcher2/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Image processing
numpy==1.21.6
scipy==1.8.1
pillow
opencv-python-headless==4.11.0.86
imageio==2.27.0

# Device connection
adbutils==0.11.0
uiautomator2==2.16.17
uiautomator2cache==0.3.0.1
wrapt==1.15.0
retrying
lz4
av==10.0.0
psutil==5.9.3

# Utils
rich==11.2.0
tqdm
jellyfish==0.11.2
pyyaml
inflection
pydantic
aiofiles
prettytable==2.2.1
anyio==1.3.1

# Pushing
onepush==1.4.0
pycryptodome==3.9.9
pypresence==4.2.1

# Ocr
cnocr==1.2.3.1
mxnet==1.6.99

# Webui
pywebio==1.6.2
starlette==0.14.2
uvicorn[standard]==0.17.6
zerorpc==0.6.3
pyzmq==23.2.1
69 changes: 69 additions & 0 deletions deploy/launcher2/requirements_generator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import os

from deploy.logger import logger

BASE_FOLDER = os.path.dirname(os.path.abspath(__file__))
logger.info(BASE_FOLDER)


def read_file(file):
out = {}
with open(file, 'r', encoding='utf-8') as f:
for line in f.readlines():
if not line.strip():
continue
res = [s.strip() for s in line.split('==')]
if len(res) > 1:
name, version = res
else:
name, version = res[0], None
out[name] = version

return out


def write_file(file, data):
lines = []
for name, version in data.items():
if version:
lines.append(f'{name}=={version}')
else:
lines.append(str(name))

with open(file, 'w', encoding='utf-8', newline='') as f:
text = '\n'.join(lines)
text = text.replace('#', '\n#').strip()
f.write(text)


def launcher2_requirements_generate(requirements_in='requirements-in.txt'):
requirements = read_file(requirements_in)

logger.info(f'Generate requirements for launcher2 environment')
lock = {
'numpy': '1.21.6',
'scipy': '1.8.1',
'opencv-python': {
'name': 'opencv-python-headless',
'version': '4.11.0.86',
},
'wrapt': '1.15.0',
'cnocr': '1.2.3.1',
'mxnet': '1.6.99', # Modified version which does not actually exist
'pyzmq': '23.2.1',
}
new = {}
logger.info(requirements)
for name, version in requirements.items():
if name == 'alas-webapp':
continue
if name in lock:
version = lock[name] if not isinstance(lock[name], dict) else lock[name]['version']
name = name if not isinstance(lock[name], dict) else lock[name]['name']
new[name] = version

write_file(os.path.join(BASE_FOLDER, f'./requirements.txt'), data=new)


if __name__ == '__main__':
launcher2_requirements_generate()
4 changes: 3 additions & 1 deletion dev_tools/requirements_updater.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from deploy.AidLux.requirements_generator import aidlux_requirements_generate
from deploy.docker.requirements_generator import docker_requirements_generate
from deploy.headless.requirements_generator import headless_requirements_generate
from deploy.launcher2.requirements_generator import launcher2_requirements_generate

# Ensure running in Alas root folder
os.chdir(os.path.join(os.path.dirname(__file__), '../'))
Expand Down Expand Up @@ -40,4 +41,5 @@ def requirements_modify(file='requirements.txt'):
requirements_modify()
aidlux_requirements_generate()
docker_requirements_generate()
headless_requirements_generate()
headless_requirements_generate()
launcher2_requirements_generate()