Lots of big changes to the way that it works now, and I think now I’ve addressed most of the deploy/install related complaints that have been raised so far.
Space related things:
- Uninstalls C++/Java programs if present to free up disk space
- Stops the NI webserver during deploy to avoid out of memory errors
pyproject.toml
related things:
- Properly resolves
robotpy_extras
if you change it - Handles beta requirements and blank requirements better
- Resolves requirement markers properly so you can do things like this:
requires = [
"robotpy-opencv; platform_machine == 'roborio'", # installed on rio
"opencv-python; platform_machine != 'roborio'" # installed on desktop
]
- Checks to see if you actually downloaded packages before trying to install
- Clears the RoboRIO’s python packages before installation to ensure that only your requirements are installed – but it will ask you before it does this
I think these changes will result in a smoother deploy/install experience, but it’ll be really important to ensure that you specify your project requirements in pyproject.toml
.
If you want to try it out, run python -m pip install -U robotpy-installer
and make sure you get version 2024.1.0 or later. Feedback is definitely welcome, both here or as a github issue.