> Poetry does the same by default, using a format like >=1.23.4,<2.0.0. I find this less readable than ^1.23.4, but the effect is the same.
What???
I understood the first format instantly, but had no idea what the second meant until the author explained it.
I don't know if there's a good source for where this convention started but it's not that uncommon; offhand, both npm[1] and Cargo[2] support that format.
[1]: https://docs.npmjs.com/about-semantic-versioning#using-seman... [2]: https://doc.rust-lang.org/cargo/reference/specifying-depende...
Once you know what the ^ means (I always think of “roof”), I do think that one character is easier to read than >=,<
I saw that ^ so many times in npm and never knew what it meant until now
Same. I found that wild to take in.
And then you look it up once, and now you know what it means forever. By contrast, the former expression is much wider with more going on, and furthermore you can't skim past it being sure nothing funny is going on because it may or may not be a range compatible with the latter form.