Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documented strong compatibility guarantees #104

Closed
lordmauve opened this issue Feb 21, 2022 · 2 comments
Closed

Documented strong compatibility guarantees #104

lordmauve opened this issue Feb 21, 2022 · 2 comments

Comments

@lordmauve
Copy link

I'm a huge fan of defopt: it perfectly embodies contemporary Python idioms. I've recommended it inside my firm.

Something that concerns me is backwards-compatibility. If I upgrade defopt, it would be catastrophic if existing command line usage broke, because those command lines are saved in a thousand places, many of which are not in source control or not easily findable in source control.

It's also the case that people using defopt test their functions directly, not through defopt, so tests are less likely to cover the actual external command line.

The thing I've looked for in the documentation, and I don't see, is some kind of statement that we can expect backwards compatibility, e.g. within a major version number.

@anntzer
Copy link
Owner

anntzer commented Feb 21, 2022

I try reasonably hard to document any backwards-incompatible change (or any change, in fact) in the changelog, and to use a semver-ish versioning, but I explicitly cannot and will not make any guarantees of strict semver, because these do not make sense to me (see e.g. https://snarky.ca/why-i-dont-like-semver/, https://bernat.tech/posts/version-numbers/, https://hynek.me/articles/semver-will-not-save-you/, etc., although I do accept the fact that downstream testing of defopt integration likely doesn't make much sense). To give a concrete example, 5618766 changed help string generation (see e.g. the changed tests) -- is that a backwards incompatible change?

PS: Thanks for your appreciation of defopt :-)

@anntzer
Copy link
Owner

anntzer commented Sep 2, 2022

Closing as not actionable, but feel free to comment if you have more suggestions.

@anntzer anntzer closed this as not planned Won't fix, can't repro, duplicate, stale Sep 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants