python tooling cribsheet
π§π‘οΈπΉπ‘οΈ itβs dangerous to go alone! take this ππ οΈππ οΈ
This page is a brain-dump of the tools & libraries I reach for in python in various situations. Itβs a living document; I intend to update it as my practices drift. Perhaps youβll find something you find interesting here!
See also: my reference python repo.
ππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈ
Python tooling:
- mypy: type checker
- pylint: linter
- bellybutton: linter that lets you write custom rules
- jupyter notebook: good for quick experimentation
- black: formatter
- isort: sort imports
- docformatter: formats docstrings
- pyenv: manages switches between different versions of the python interpretter
- tox: test code against different python versions
- pythex: online regex sandbox
Python libraries:
- argparse: for building CLI tools which take arguments
- click: another way of building CLI tools which take arguments
- sqlalchemy: for a programmatic interface to a SQL database
- fastapi: for a server
- pydantic: for validating data to server endpoints
- pytest: for testing
- beautifulsoup: for webscraping
- rich: for pretty-printing to the terminal
- hypothesis: for property-based testing
- sphinx: for documentation generation
- altair: for visualization
- tqdm: for progress bars
- sortedcontainers: for performant sorted containers
- numpy: for matrix / vector manipulations
ππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈππ οΈ