Python
Recommended packages:
pipenv | installs packages in a virtual python environment and maintains a Pipfile with all requirements |
---|
Requirements / Dependencies
Articles
Shebang
Has to be on the first line of every executable script so the interpreter can be found. Correct Shebang for Python 3 is:
#!/usr/bin/env python3
Types
- mypy is an optional type checker for Python
- Python: better typed than you think – mypy assisted error handling, exception mechanisms in other languages, fun with pattern matching and type variance (Dima Gerasimov, 2019)
- Our journey to type checking 4 million lines of Python (Dropbox, 2019)
- Applying mypy to real world projects – Some hints and tips for getting started with Mypy and introducing it to existing projects (Cal Paterson, 2020)
Libraries
- requests – "HTTP for humans" – HTTP connections and data retrieval
- PyMoo – single- and multi-objective algorithms and features related to multi-objective optimization such as visualization and decision making.
- Scrapy – fast high-level web crawling & scraping framework
- Altair – declarative visualisation.
web frameworks
dos and don'ts
what you should NOT do with Python
cool projects made with Python
- youtube-dl – download videos from portals like youtube, vimeo, bitchute and lots of others
- can also be paired well with the mpv video player (not written in Python)
- Py Terminal Media Viewer – utf-8/truecolor image and video viewer for the terminal
- Home Assistant – home automation
- Ansible – DevOps
learning Python
- CodeCombat – Coding game where you can learn Python and JS by programming the moves of an RPG character.
Troubleshooting
/usr/bin/env: 'python3\r': No such file or directory
Line endings are in Windows format (CRLF
/ \r\n
) and not Linux/Unix format (LF
/ \n
). Fix this with dos2unix
or your text editor's save options.
error: option --single-version-externally-managed not recognized
--single-version-externally-managed
is an option used for Python packages instructing the setuptools
module to create a Python package which can be easily managed by the host's package manager if needed.
Fedora / CentOS 7+:
dnf in python3-setuptools python3-wheel
others:
pip install -U setuptools wheel