The edx-platform codebase already includes quite a few type annotations, but they were not regularly checked. This may cause problems, when the annotations themselves include errors (as we found out in some of the learning_sequences annotations). So here, we add mypy as a dev requirement and introduce a make command to run mypy regularly. Mypy runs on a very small portion of the total edx-platform, as configured in mypy.ini. Our hope is that developers will add more and more modules to this configuration file, until we can eventually run mypy on the full code base. See discussion: https://discuss.openedx.org/t/dev-notes-running-mypy-on-edx-platform/4860
23 lines
1.3 KiB
Plaintext
23 lines
1.3 KiB
Plaintext
# Dependencies that are used in development environments.
|
|
# Please do not use this file for packages that are needed in production or for test runs.
|
|
#
|
|
# These are installed automatically in devstack, and can also be installed manually using:
|
|
#
|
|
# pip install -r requirements/edx/development.txt
|
|
#
|
|
# When adding a new dependency which is imported from edx-platform code as a library,
|
|
# update scripts/dependencies/development.txt accordingly.
|
|
|
|
-c ../constraints.txt
|
|
|
|
-r pip-tools.txt # pip-tools and its dependencies, for managing requirements files
|
|
-r testing.txt # Dependencies for running the various test suites
|
|
|
|
click # Used for perf_tests utilities in modulestore
|
|
django-debug-toolbar # A set of panels that display debug information about the current request/response
|
|
edx-sphinx-theme # Documentation theme
|
|
mypy # static type checking
|
|
pywatchman # More efficient checking for runserver reload trigger events
|
|
sphinxcontrib-openapi[markdown]==0.6.0 # OpenAPI (fka Swagger) spec renderer for Sphinx; pinned because 0.70 requires Python >=3.6
|
|
vulture # Detects possible dead/unused code, used in scripts/find-dead-code.sh
|