fix(api,robot-server): upgrade pydantic, upgrade and add test dev deps #6673
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR is here to solve a few issues in our Python stack, one of which is blocking and the rest of which are just annoying.
Main reason for PR:
api
to move neutral protocol engine stuff intoapi
where it can live closer to other protocol-related stuffUpgraded to latest Pydantic for important features around default field valuesUpdate: blocked on this upgrade, need to stick to Pydantic 1.4.0 for nowWill require buildroot update: feat: upgrade package/python-pydantic to 1.6.1 buildroot#107Additional stuff in PR:
mock
package to get access to the Python 3.7 backport ofAsyncMock
pytest-watch
package to have watch mode forpytest
Why did I lump a bunch of disparate stuff into one PR? Because every single call to
pipenv install
on my machine takes 2 minutes and most of them require me torm -rf Pipfile.lock
to get the commands to actually succeed. I decided to put them all in one PR for my own sanity and because lockfile changes are scary and I don't want to deal with them more than once.Changelog
See above.
Review requests
Risk assessment
Medium, in the grand scheme of things. Deep dependency issues are problems that we've run into in the past. Does not affect production dependencies on the OT-2 because those are controlled by buildroot