"As an Open edX developer, I want to take advantage of python static type checking wherever possible, to reduce runtime errors in my code."
"As an Open edX developer, I want to isolate the use of the tagging libraries to their python APIs to improve encapsulation and reduce tight coupling to the underlying implementation."
Add openedx.features.content_tagging to mypy.ini so you get static type checking.
(stretch goal) Add mypy.ini support to https://github.com/openedx/openedx-learning so you get static type checking on openedx_tagging (minimum), and openedx_learning (if possible).
Add openedx.features.content_tagging to setup.cfg isolated_apps so you can make sure all other parts of the code are only importing from content_tagging.api.
Add openedx_tagging.core.tagging to setup.cfg isolated_apps so you can make sure we're only importing from the oel_tagging.api.
Story
"As an Open edX developer, I want to take advantage of python static type checking wherever possible, to reduce runtime errors in my code." "As an Open edX developer, I want to isolate the use of the tagging libraries to their python APIs to improve encapsulation and reduce tight coupling to the underlying implementation."
Description
cf https://github.com/openedx/edx-platform/pull/32661#discussion_r1271118769
Completion criteria
openedx.features.content_tagging
to mypy.ini so you get static type checking.mypy.ini
support to https://github.com/openedx/openedx-learning so you get static type checking onopenedx_tagging
(minimum), andopenedx_learning
(if possible).openedx.features.content_tagging
to setup.cfgisolated_apps
so you can make sure all other parts of the code are only importing fromcontent_tagging.api
.openedx_tagging.core.tagging
to setup.cfgisolated_apps
so you can make sure we're only importing from theoel_tagging.api
.Documentation updates & improvements criteria
Relevant PRs/repositories