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" } |