Closed
Description
This issue is for tracking the effort to release a version 1.0 of rules_python.
There are several reasons for wanting to have a major version release:
- Better communicates when breaking changes are made
- Easier support for multiple versions and backporting of functionality
- Major versions are an indicator of fitness for use.
Anyways, there's a few large items to complete before a 1.0 release can be considered:
- Implementation is all in rules_python Starlark, not Bazel itself.
- Written policies that cover breaking changes, backwards compatibility, support for older rules_python versions, and supported Bazel versions
- Bazel rules are rather leaky: it's easy for implementation details to unintentionally be
visible and accessible to users, even if weren't intended so. This is especially true for
rules_python, which carries various legacy and historical behaviors. - Requiring e.g. the latest patch or minor version release of Bazel allows us to take advantage
of newer functionality and reduce the size of the test/support matrix - Steps necessary to introduce a breaking change (e.g. docs about how to migrate, issues to file, etc).
- Bazel rules are rather leaky: it's easy for implementation details to unintentionally be
- Human friendly changelog, i.e. CHANGELOG.md in keepachangelog.org-style format.
- API review: reduce our API footprint to what makes sense (there's a variety of things exposed publicly that probably shouldn't be public)
EDIT: additional scope
-
Renamepip_parse
to something else. - Mark
gazelle
as experimental or splitting the versioning scheme so that it is clear that it does not have similar semver guarantees. - Mark
pip.parse
APIs as experimental and to stabilize later. - We should have a category of public but unstable API. Certain things should be called out: gazelle, sphinxdocs, toolchain implementation details, requirements locking?
- Should we explicitly say that we would implement
bzlmod
first andWORKSPACE
is something that needs to be supported until bazel 9 is the lowest supported version. It's OK to have new features inbzlmod
only, butWORKSPACE
has to be present. PRs would be welcome forWORKSPACE
additions. - Allow overriding
TOOL_VERSIONS
for thepython
bzlmod extension to have API parity.
Metadata
Metadata
Assignees
Labels
No labels