I am a Python software developer relying on multiple third-party libraries with independent release schedules. Although any release requires testing before deployment, it would be helpful to know immediately that an update entails a guaranteed development cost.
In other words, has the API changed? Some libraries follow the semver versioning convention, which signals such a change explicitly (including deeper changes). But others don't. For those, I'd like to inspect the API (i.e. all method signatures) and generate a report on any changes.
I'm looking for:
- a free software Python library
- that can generate a report of class/method headers for an arbitrary module (folder)
- (ideally) perform a diff between two modules
- (ideally) alert on semver-level differences (i.e. breaking changes to the API)
An online equivalent that covered libraries available on PyPI would suffice, but is not ideal because it couldn't handle local/private libraries.
An IDE plugin would suffice, in which case a plugin for PyCharm Community Edition would be ideal, a plugin for any other free software IDE that has Windows support would be a fallback.