0.4.0 was already stable and ready for use, 1.0.0 makes some minor changes internally and cleans up some cruft, leading to a slightly improved DX. After not being able to come up with anything useful for a long time, I think that's a good sign that the library has (at least for me) successfully filled its niche.
The only major change is that `Opt.take_args` and `Opt.take_flag` now both take the optional `mut` keyword argument. Setting `mut=False` will not mutate the argument list. This addition removes more boilerplate code and keeps a consistent syntax.
python
>>> import lethargy
>>> lst = ["--name", "test", "example"]
>>> lethargy.Opt("name").takes(2).take_args(lst, mut=False)
['test', 'example']
>>> lst
['--name', 'test', 'example']
Some minor changes include:
- `Opt` also has a more consistent and useful `repr`.
python
>>> import lethargy
>>> lethargy.Opt("name")
<Opt('name') at 0x107e53190>
>>> lethargy.Opt("name").takes(2)
<Opt('name').takes(2) at 0x107dbb790>
>>> lethargy.Opt("name").takes(2, int)
<Opt('name').takes(2, int) at 0x107e53190>
- `Opt.__eq__` compares converters (eg. `Opt().takes(0, int) != Opt().takes(0, list)`)