FogROS2
FogROS2 copied to clipboard
build: switch to poetry, add development dependencies
This PR includes a number of small changes.
- Switch to the
poetrypackage manager.- poetry is a modern python package manager, taking advantage of the standardized pyproject.toml configuration format
- ⚠️ This requires a colcon plugin that isn't in the default ubuntu install. I don't know if ROS likes this, and if they don't I'll either need to get the plugin upstreamed (😢) or figure out some other clever solution.
- dependencies are now pinned and locked with hashes (before, the latest version was always pulled via an unversioned requirements.txt, which means fogros2 could just break all of a sudden and we’d have to scramble to fix it)
- Add code formatting tools (black, isort, flake8)
- Add mypy to check types
- safety!
I should probably just render it out as a setup.py... https://github.com/python-poetry/poetry/issues/761#issuecomment-521124268 😢
Note: to test this PR, you need https://discourse.ros.org/t/use-poetry-in-your-ros2-packages-with-colcon-poetry-ros/25096 installed atm