systemetric / robocon-website

🌐 Robocon Website
https://robocon.uk/
BSD 2-Clause "Simplified" License
1 stars 4 forks source link

There is no list of 3rd party libarries #122

Open shardros opened 2 years ago

shardros commented 2 years ago

Like SR there should be a list on the website of 3rd party libraries, for example: https://studentrobotics.org/docs/programming/python/libraries

Pandaroses commented 11 months ago

will check out tomorrow

scorbett123 commented 11 months ago

As a note on this, at the moment on our brains some libraries are installed in the wrong place so don't work, so it would be good to check if importing e.g. serial works on yours.

I think when I checked this is due to the libraries being installed on the user, whereas we run shepherd from root. But can't fully remember.

Edit: I think this only applies to serial

Pandaroses commented 11 months ago

i've added all the libraries that are listed in shepherds pyproject.toml, using depfinder i've found a larger list of dependencies, but do not know their versions image image if there is a better way to find packages and versions could you please let me know, development is on branch fr

shardros commented 11 months ago

@WillMunns

scorbett123 commented 11 months ago

A way to list absolutely everything is the command python3 -m pip freeze > installed.txt

When I run this on my dev brain I get this list, however this may not be the same as you'll get on your brains

Packages

appdirs==1.4.4 asn1crypto==0.24.0 astroid==2.7.3 autopep8==1.5.5 certifi==2018.8.24 chardet==3.0.4 click==8.0.1 colorzero==1.1 cryptography==2.6.1 Cython==0.29.32 entrypoints==0.3 flake8==3.8.4 Flask==2.2.3 Flask-Cors==3.0.10 Flask-Sockets==0.2.1 gevent==21.8.0 gevent-websocket==0.10.1 gpiozero==1.6.2 greenlet==1.1.1 hidapi==0.12.0.post2 idna==2.6 importlib-metadata==4.8.1 intelhex==2.3.0 isort==5.9.3 itsdangerous==2.0.1 jedi==0.17.2 Jinja2==3.0.1 keyring==17.1.1 keyrings.alt==3.1.1 lazy-object-proxy==1.6.0 MarkupSafe==2.1.2 mccabe==0.6.1 numpy==1.21.2 olefile==0.46 opencv-contrib-python==4.5.3.56 parso==0.7.1 picamera==1.13 Pillow==8.3.2 platformdirs==2.3.0 pluggy==1.0.0 pycairo==1.20.1 pycodestyle==2.6.0 pycrypto==2.6.1 pydocstyle==6.1.1 pyedbglib==2.20.3.105 pyflakes==2.2.0 PyGObject==3.30.4 pylint==2.10.2 pymcuprog==3.13.3.166 pyserial==3.5 python-apt==1.8.4.3 python-jsonrpc-server==0.4.0 python-language-server==0.36.2 pytz==2021.1 pyxdg==0.25 PyYAML==6.0 requests==2.21.0 rope==0.19.0 RPi.GPIO==0.7.0 scipy==1.7.1 SecretStorage==2.3.1 six==1.16.0 smbus2==0.4.1 snowballstemmer==2.1.0 spidev==3.5 ssh-import-id==5.7 toml==0.10.2 typed-ast==1.4.3 typing-extensions==3.10.0.2 ujson==4.1.0 urllib3==1.24.1 Werkzeug==2.2.3 wiringpi==2.60.1 wrapt==1.12.1 yapf==0.31.0 zipp==3.5.0 zope.event==4.5.0 zope.interface==5.4.0

But half of these there's no reason for them to use, so this list could be significantly cut down.

I guess this would also be an opportunity to think about if there is any other packages we want to have preinstalled, that aren't necessarily used by us, e.g. pyserial. Does anyone have any ideas for other packages to install?