twisted / towncrier

Manage the release notes for your project.
https://towncrier.readthedocs.io
MIT License
755 stars 107 forks source link

Agree and document public API policy. #605

Open SmileyChris opened 1 month ago

SmileyChris commented 1 month ago

In my recent PRs, there has been some discussion around what constitutes part of the towncrier public API.

@adiroiban has asked around any changes to method names that aren't underscored, or adding new methods without underscores, with the consideration that since they can be imported, they could be considered "public".

My opinion is that only document methods receive public API treatment and it should be fine to change the signatures of any methods, and that it's not necessary to mark internal-only methods with an underscore prefix. But I'm fine doing that if that's the policy of the project!

Either way, to avoid confusion, perhaps this can be explicitly documented.

adiroiban commented 1 month ago

Thanks for the follow up.

As far as I know, the coding convetion for towncrier are the same as for twisted/twisted

I don't see anything explicitly mentiond in Twisted docs.


When working for public / open source projects, I think that is best to be as explicit as possible, to avoid any future confusion.


There is not much API documentation for towncrier... and I don't know if towcrier is expected to be used outside of the CLI

So maybe, what we need to do for #605 is just document that towncrier should only be used via the CLI and that all API is private.