| anaconda |
Anaconda (a) is often unneeded because there are binary wheels on PyPI (b) wastes disk space — how many Anaconda packages do you really use? (c) I’ve seen bugs caused solely by broken Anaconda packages (d) Anaconda, Inc. is a for-profit company. Why should I trust them to do things right? How can I be sure it’s safe? (e) Anaconda’s Spyder requires libselinux on SELinux-free systems. |
| caddy |
https://news.ycombinator.com/item?id=15237923 https://github.com/WedgeServer/wedge/issues/2 |
| csv |
https://chriswarrick.com/blog/2017/04/07/csv-is-not-a-standard/ |
| django |
Warrick’s Tenth Law: “Any sufficiently complicated Bottle or Flask app contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Django.” |
| email |
http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html |
| entry_points |
https://chriswarrick.com/blog/2014/09/15/python-apps-the-right-way-entry_points-and-scripts/ |
| factoids |
I’m using factoids (text macros) extensively on this channel. Here’s a list: https://chriswarrick.com/pub/factoids.html |
| float |
https://0.30000000000000004.com/ |
| fourteen |
How to improve Python packaging, or why fourteen tools are at least twelve too many: https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/ |
| gohlke |
http://www.lfd.uci.edu/~gohlke/pythonlibs/ |
| jupyter |
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/edit |
| learnpy |
If you can already program in another language: official tutorial https://docs.python.org/3/tutorial/ ; if not: Think Python http://greenteapress.com/wp/think-python-2e/ or https://automatetheboringstuff.com/ |
| learnpyN |
For newcomers to programming: Think Python http://greenteapress.com/wp/think-python-2e/ or Automate the Boring Stuff with Python https://automatetheboringstuff.com/ |
| learnpyY |
If you can already program in another language, read the official tutorial at https://docs.python.org/3/tutorial/ |
| locale |
https://chriswarrick.com/blog/2017/06/18/unix-locales-vs-unicode/ |
| lpthw |
Learn Python The Hard Way is not worth the $30 price tag. It’s discouragingly slow and boring. 19% of the book is printing. It makes you memorize truth tables instead of understanding logic. It often makes you Google things instead of teaching them. Go get a refund and read those instead (free!): http://greenteapress.com/wp/think-python-2e/ or https://automatetheboringstuff.com/ |
| packaging |
https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/ |
| packaging2023 |
https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/ |
| packaging2024 |
https://chriswarrick.com/blog/2024/01/15/python-packaging-one-year-later/ |
| pdm |
https://pdm.fming.dev/latest/ |
| pipenv |
Pipenv is a dependency management tool. It isn’t compatible with most workflows, and comes with many issues. https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/ |
| pipenv_url |
https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/ |
| pypt |
https://github.com/Kwpolska/python-project-template |
| pysetup |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/ |
| pysetup#23 |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#python-versions-2-vs-3 |
| pysetup#anaconda |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#distributions |
| pysetup#editors |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#editors-and-ides |
| pysetup#install |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#installing-python |
| pysetup#packages |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#installing-packages |
| pysetup#virtualenv |
https://chriswarrick.com/blog/2017/07/03/setting-up-a-python-development-environment/#virtual-environments |
| pyweb |
https://chriswarrick.com/blog/2016/02/10/deploying-python-web-apps-with-nginx-and-uwsgi-emperor/ |
| pyweb#ansible |
https://github.com/Kwpolska/ansible-nginx-uwsgi |
| runpackage |
You cannot run individual .py files that are part of a package. Instead of python foo/bar.py, use python -m foo.bar (you must be in the project top-level directory — that is, the directory that contains your top-level package). See also: https://go.chriswarrick.com/entry_points |
| splat |
https://docs.python.org/3/tutorial/controlflow.html#arbitrary-argument-lists |
| subprocess |
https://chriswarrick.com/blog/2017/09/02/spawning-subprocesses-smartly-and-securely/ |
| test |
Hello, world! ąćęłńóśźż |
| typeguard |
https://github.com/agronholm/typeguard |
| typing |
Type hints are awesome, in general… unless you end up with Dict[str, Union[List[Dict[str, Union[str, int, float]]], Dict[int, List[Dict[str, Union[bool, int, str]]]], int]] for a fairly simple JSON structure. |
| typing-runtime |
https://github.com/agronholm/typeguard |
| venv |
https://chriswarrick.com/blog/2018/09/04/python-virtual-environments/ |
| venv-lives |
https://hynek.me/articles/virtualenv-lives/ |
| workon |
function workon { source "$WORKON_HOME/$1/bin/activate" } |