Found 73 bookmarks
Custom sorting
pycodestyle
pycodestyle
Another linter of sorts for Python, with an emphasis on code style as defined in PEP 8. I tend to use pylint for linting but this seems to be in favour when using lsp-mode in Emacs.
·pycodestyle.pycqa.org·
pycodestyle
Python behind the scenes #1: how the CPython VM works
Python behind the scenes #1: how the CPython VM works
This article opens a series which seeks to answer this very question. We'll dive into the internals of CPython, Python's most popular implementation. By doing so we'll understand the language itself at a deeper level. That is the primary goal of this series. If you're familiar with Python and comfortable reading C but have no much experience working with CPython's source code, there is a good chance you'll find this writing interesting.
·tenthousandmeters.com·
Python behind the scenes #1: how the CPython VM works
Musings on Python Type Hints
Musings on Python Type Hints
As a huge fan of type hinting in Python, I feel this is a good article introducing the sorts of things you should think about, and the benefits you should derive from using type hints.
·samgeo.codes·
Musings on Python Type Hints
Should You Use Upper Bound Version Constraints?
Should You Use Upper Bound Version Constraints?

I don't agree with much of this, but I recognise it's a valid position. To quote from the TL;DR at the end:

"Capping dependencies has long term negative effects, especially for libraries, and should never be taken lightly. A library is not installed in isolation; it has to live with other libraries in a shared environment. Only add a cap if a dependency is known to be incompatible or there is a high (>75%) chance of it being incompatible in its next release. Do not cap by default - capping dependencies makes your software incompatible with other libraries that also have strict lower limits on dependencies, and limits future fixes. Anyone can fix a missing cap, but users cannot fix an over restrictive cap causing solver errors. It also encourages hiding issues until they become harder to fix, it does not scale to larger systems, it limits your ability to access security and bugfix updates, and some tools (Poetry) force these bad decisions on your downstream users if you make them. Never cap Python, it is fundamentally broken at the moment. Also, even packing capping has negative consequences that can produce unexpected solves."

·iscinumpy.dev·
Should You Use Upper Bound Version Constraints?
Why (Python) type hinting sucks
Why (Python) type hinting sucks
I don’t agree with the post - type hinting is awesome in my experience - but it’s a cleverly-crafted argument and there’s some interesting debate in the comments.
·reddit.com·
Why (Python) type hinting sucks
My User Experience Porting Off setup.py
My User Experience Porting Off setup.py
There seems to be a lot of confusion around setup.py and friends; and while I’ve seen pushback against this post (mostly sniffy gatekeeper stuff rather than helpful feedback), it’s a worthwhile read if only because the confusion is real.
·gregoryszorc.com·
My User Experience Porting Off setup.py
Terminal Emulators Battle Royale – Unicode Edition!
Terminal Emulators Battle Royale – Unicode Edition!

It turns out that Unicode support in Terminals is a lot more difficult than it first appears. A quick overview of special support for Unicode characters in Terminals:

  • "Wide" or "Fullwidth" characters, particularly for East Asian languages and emojis, are codepoints that occupy two cells in a terminal instead of one.
  • "Zero" width combining characters used in languages such as Arabic, Hebrew, or Hindi do not occupy any cells themselves; instead, they modify the previous character.
  • "Zero Width Joiner" (ZWJ U+200D) reduces and combines many codepoints into a single emoji. This is similar to combining, but encoded in a completely different way.
  • "Variation Selector-16" (VS-16 U+FE0F) is a special character that, for specific "Narrow" emojis consuming one cell, causes them to become "Wide", consuming two cells.
·jeffquast.com·
Terminal Emulators Battle Royale – Unicode Edition!