The TIL series of articles contains very short articles documenting something I learned “today”.
Today I learned how to inspect a lazy import object in Python 3.15.
Today I learned how to install jupyter properly while using uv to manage tools.
Today I learned how to do multiline input in the REPL using an uncommon combination of arguments for the built-in open.
Today I learned how to inline SVGs in Jupyter notebooks in two simple steps.
Today I learned how to use the equals sign to align numbers when doing string formatting in Python.
Today I learned you can format your Python code directly with uv.
Today I learned you can specify a custom value when using the class method dict.fromkeys.
Today I learned how to use \b and \B to match prefixes and suffixes with regex.
Today I learned that you can dynamically change the type of an object in Python.
Today I learned about a Python Easter Egg hidden in the hash of two special float values.
Today I learned how to set different thousands separators using string formatting.
Today I learned that the module builtins grows dynamically in the REPL.
Today I learned how to detect collisions between circles and rectangles with 100% accuracy.
Today I learned how to publish a Python package to PyPI with uv.
Today I learned that I can use the percent sign to run commands from inside Jupyter notebooks.
Today I learned that Polars allows non-strict vertical concatenation of dataframes with the parameter how="vertical".
Today I learned how to create standalone Python scripts with uv.
Today I learned how I can use the method 'groupdict' from a regex match to get a dictionary with all named groups.
Today I learned that if you suppress the exception KeyboardInterrupt then your program is still interrupted but it doesn't display a traceback.
Today I learned that the hash of an integer is the integer itself, except for -1. The hash of -1 is -2.