Categories
- python versions — Posts grouped by the Python version they cover.
 - peps — Posts describing specific PEPs
 - stdlib — Posts covering specific modules or function in stdlib.
 - typing — Posts about type annotations.
 
2023 (22)
- 2023-01-03 isinstance
 - 2023-02-14 wheel
 - 2023-02-21 pyproject.toml
 - 2023-02-28 build-system
 - 2023-03-07 tomllib
 - 2023-03-14 math.fsum
 - 2023-03-21 asyncio
 - 2023-03-28 asyncio.run
 - 2023-04-04 asyncio.sleep
 - 2023-04-11 asyncio.gather
 - 2023-04-18 asyncio.create_task
 - 2023-04-25 asyncio.Task may be GCed
 - 2023-07-18 zoneinfo
 - 2023-07-25 datetime.datetime.fold
 - 2023-08-01 unittest.mock.seal
 - 2023-08-08 typing.ParamSpec
 - 2023-08-10 typing.Concatenate
 - None str.join
 - None str.split
 - None str.startswith and str.endswith
 - 2023-08-15 Website announcement
 - 2023-08-17 Type parameter syntax
 
2022 (29)
- 2022-01-04 zip
 - 2022-07-05 atexit
 - 2022-07-12 faulthandler
 - 2022-07-14 faulthandler part 2
 - 2022-07-19 `from __future__ import annotations` (PEP-563)
 - 2022-07-26 typing.TYPE_CHECKING
 - 2022-08-02 Union alias (PEP-604)
 - 2022-08-09 LookupError
 - 2022-08-16 is
 - 2022-08-23 del
 - 2022-08-30 `__del__`
 - 2022-09-06 gc.is_finalized
 - 2022-09-13 warnings
 - 2022-09-20 string.Template
 - 2022-09-27 Chain `is`
 - 2022-10-11 generator scope
 - 2022-10-18 os.curdir
 - 2022-10-24 Python 3.11
 - 2022-10-25 Column in tracebacks
 - 2022-11-01 BaseException.add_note
 - 2022-11-08 ExceptionGroup
 - 2022-11-15 `except*`
 - 2022-11-17 `except*` for regular exceptions
 - 2022-11-22 contextlib.chdir
 - 2022-11-29 typing.assert_type
 - 2022-12-03 typing.Self
 - 2022-12-06 typing.dataclass_transform
 - 2022-12-20 reveal_type
 - 2022-12-27 typing.LiteralString
 
2021 (26)
- 2021-01-27 class scope
 - 2021-02-24 Season #2.5
 - 2021-02-25 scopes
 - 2021-03-02 nonlocal
 - 2021-03-04 int to str performance
 - 2021-03-09 bytearray
 - 2021-03-11 join lists
 - 2021-03-16 warning about is
 - 2021-03-18 float (IEEE 754)
 - 2021-03-23 float division
 - 2021-03-25 typing.TypedDict (PEP-589)
 - 2021-03-30 getattr type annotaions (PEP-526)
 - 2021-04-01 eval strategy
 - 2021-04-06 copy.deepcopy
 - 2021-04-08 eval order
 - 2021-04-15 KeyError
 - 2021-04-20 logging exc_info
 - 2021-04-22 logging extra
 - 2021-04-27 textwrap.dedent
 - 2021-04-29 types.MappingProxyType
 - 2021-05-04 sqlite3
 - 2021-05-06 `str.__getitem__` quirks
 - 2021-08-26 Development Mode
 - 2021-08-31 allow_nan
 - 2021-09-07 sre_parse
 - 2021-12-31 new year 2021-2022
 
2020 (57)
- 2020-05-26 intro (season 2)
 - 2020-05-28 str.removeprefix
 - 2020-06-04 `dict.__or__` (PEP-584)
 - 2020-06-09 generic built-in types (PEP-585)
 - 2020-06-16 ast.unparse
 - 2020-06-18 decorators (PEP-614)
 - 2020-06-23 sys.setrecursionlimit
 - 2020-06-26 match
 - 2020-07-02 class body
 - 2020-07-07 `__init_subclass__` (PEP-487)
 - 2020-07-09 `__prepare__`
 - 2020-07-14 data and non-data descriptors
 - 2020-07-16 @cached_property
 - 2020-07-21 `__set_name__` (PEP-487)
 - 2020-07-23 dunder
 - 2020-07-28 don't use magic methods directly
 - 2020-07-30 assert
 - 2020-08-04 colorsys
 - 2020-08-06 typing.final
 - 2020-08-13 license
 - 2020-08-18 fnmatch
 - 2020-08-25 ast.literal_eval
 - 2020-08-27 zen of python (PEP-20)
 - 2020-09-01 nan
 - 2020-09-08 format
 - 2020-09-10 object and type
 - 2020-09-15 everything is object
 - 2020-09-17 sys.modules
 - 2020-09-22 numbers (PEP-3141)
 - 2020-09-24 types.SimpleNamespace
 - 2020-10-01 contextlib.nullcontext
 - 2020-10-06 enum
 - 2020-10-08 types.DynamicClassAttribute
 - 2020-10-13 zipapp
 - 2020-10-15 `__new__` and `__init__`
 - 2020-10-20 unittest.mock.sentinel
 - 2020-10-22 yield and comprehensions
 - 2020-10-27 f-strings and docstrings
 - 2020-10-29 codecs
 - 2020-11-03 comprehensions are functions
 - 2020-11-05 dict as `__slots__`
 - 2020-11-10 pydoc
 - 2020-11-12 `__class_getitem__` (PEP-560)
 - 2020-11-17 ipaddress
 - 2020-11-19 `__index__` (PEP-357)
 - 2020-11-24 `__qualname__` (PEP-3155)
 - 2020-11-26 str.isdigit
 - 2020-12-01 emojis
 - 2020-12-03 json default
 - 2020-12-08 ipython
 - 2020-12-10 array performance
 - 2020-12-15 functools.lru_cache
 - 2020-12-17 functools.cache
 - 2020-12-22 re.compile
 - 2020-12-24 math.tau (PEP-628)
 - 2020-12-29 join strings
 - 2020-12-31 new year 2020-2021
 
2018 (73)
- 2018-03-18 loop scope
 - 2018-03-19 Dict keys (2)
 - 2018-03-20 iPython magic (2)
 - 2018-03-21 Decorator syntax (2)
 - 2018-03-22 Interactive shell: exit
 - 2018-03-23 HTTP redirect (2)
 - 2018-03-24 LookupError
 - 2018-03-25 Keyword-only arguments
 - 2018-03-26 pytest
 - 2018-03-27 abc.abstractmethod (2)
 - 2018-03-28 heapq (2)
 - 2018-03-29 getattr VS getattribute
 - 2018-03-30 JSON streaming
 - 2018-03-31 epoch before Python 3.3
 - 2018-04-01 Python + Perl + Ruby = <3
 - 2018-04-02 __dict__ and __slots__
 - 2018-04-03 Choosing subclass
 - 2018-04-04 tzinfo and pytz
 - 2018-04-05 @contextmanager decorator
 - 2018-04-06 __getitem__ and slices
 - 2018-04-07 FSM (4)
 - 2018-04-09 Generator.throw
 - 2018-04-10 Slice view
 - 2018-04-11 Reduce
 - 2018-04-12 functools.wraps
 - 2018-04-13 suppress
 - 2018-04-14 Parameters unpacking
 - 2018-04-15 Why numbering should start at zero
 - 2018-04-16 Coverage
 - 2018-04-17 Generator length
 - 2018-04-18 List copy
 - 2018-04-19 attrs
 - 2018-04-20 SQL pagination
 - 2018-04-21 multiprocessing.Pool
 - 2018-04-22 multiprocessing threads
 - 2018-04-23 Multiple dispatch
 - 2018-04-24 `__exit__` return value
 - 2018-04-25 bisect
 - 2018-04-26 Unicode vs utf-8
 - 2018-04-27 Is Python interpreted language?
 - 2018-04-28 `__hash__`
 - 2018-04-30 Communication with subprocess
 - 2018-05-01 partial
 - 2018-05-02 LSP for dict
 - 2018-05-03 Is it a function?
 - 2018-05-04 `format` syntax (2)
 - 2018-05-05 Midnight
 - 2018-05-06 `__length_hint__`
 - 2018-05-07 `enumerate`
 - 2018-05-08 itertools.chain
 - 2018-05-09 `else` in loops
 - 2018-05-10 How to create a closure
 - 2018-05-11 raw_input vs input
 - 2018-05-12 Function composition
 - 2018-05-13 Recursive repr
 - 2018-05-15 Patch built-ins
 - 2018-05-16 Source file path
 - 2018-05-17 tempfile
 - 2018-05-18 Context manager vs decorator
 - 2018-05-19 contextlib.closing
 - 2018-05-20 Decimal
 - 2018-05-21 Making file path
 - 2018-05-22 UTF-8: how to cut bytes
 - 2018-05-23 asyncio: futures
 - 2018-05-25 Nested context managers
 - 2018-05-26 Tail recursion
 - 2018-05-28 asyncio: yielding future
 - 2018-05-29 asyncio: await in `__await__`
 - 2018-05-30 asyncio: `get_event_loop`
 - 2018-05-31 asyncio: schedule a coroutine
 - 2018-06-01 aiotask-context: contextvars for asyncio
 - 2018-06-02 async `for` and `with`
 - 2018-06-04 C3 MRO
 
      Generated on 2023-08-15
      using Python 3.11.4
      
        (be46f27)