Skip to main content

Tools to use for easing development and maintaining consistency. There are links to readings as well.

info

These tools can be used along with your development environment and IDE so that you can follow coding conventions better.

Version Management

info

These can be used with dependency Management

Dependency Management:

Project Templates:

Linters:

Formatters:

Type Inference

  • mypy optional static type coding with python through annotations. from Dropbox but most famous in community.
    • Alternative: pyright from Microsoft. Usually available in VSCode
    • Alternative: pyre from Facebook.
    • Alternative: pytype from Google.

Testing:

  • pytest with plugins
    • Alternative: Inbuilt unittest
  • hypothesis and mock for data generation and mocking in tests.
  • tox for test automation in different python version
    • Alternative: nox is tox with python API i.e. py file settings so can be used if you need any dynamism.

Other tools:

Readings and References: