I continue to slowly work my way through the calmcode back catalogue. This week I learned about three tiny utility packages that make certain parsing tasks less painful.
parse (introduced here) is a way of turning simple text patterns into restructured data. Take the following example as an illustration:
from parse import parse
url = "https://github.com/strickvl/some-repo/"
parse("https://github.com/{owner}/{repo}/", url).named
# returns {'owner': 'strickvl', 'repo': 'some-repo'}As Vincent explains, it’s sort of the inverse or opposite operation to what happens with an f-string.
For URLs of various kinds that you want to decompose easily, yarl (introduced here) is a great way to approach that in Python.
For dates stored in some kind of a string format, you might want to try datefinder (introduced here), an elegant if not always perfect way for converting date strings into datetime.datetime objects.