The TIL series of articles contains very short articles documenting something I learned “today”.
Today I learned how to build the Python documentation to preview changes I wanted to make.
Today I learned how to use the equals sign to align numbers when doing string formatting in Python.
Today I learned you can change the casing of matched groups when doing a search & replace in VS Code with regex.
Today I learned you can format your Python code directly with uv.
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 you can use uv to install CLI tools with extra dependencies.
Today I learned how to use uv to escape uv and go back to using venv and pip for a given project.
Today I learned how to publish a Python package to PyPI with uv.
Today I learned that Python has nested Easter eggs in the standard library.
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.
Today I learned how to allow my custom objects to be unpacked into keyword arguments like '**kwargs'.
Today I learned how to use the Polars function pl.date_range to create date sequences with calendar-aware intervals between dates.