Hi folks,

With the recent releases, the interest in PyIceberg has been growing at a
very exciting speed: https://pypistats.org/packages/pyiceberg. And this got
me thinking about the roadmap for a 1.0.0 release.

Looking up for guidelines for "when to make a 1.0.0 release", the answer on
semver.org stood out to me, which says:

"If your software is being used in production, it should probably already
be 1.0.0. If you have a stable API on which users have come to depend, you
should be 1.0.0. If you’re worrying a lot about backward compatibility, you
should probably already be 1.0.0."

And based on the many community engagements, I believe that all of the
above points are true at this stage of the project, and excitingly so!

So here's my attempt at getting the conversation started to get ourselves
ready for the 1.0.0 release. While we already have milestone trackers for
minor releases to introduce new features, I think it would be helpful to
think of the goals for the 1.0.0 release separately and in parallel to our
existing efforts to introduce new features.

Based on the discussions from the recent PyIceberg Community Sync, we have
identified the following items as the big rocks for the 1.0.0 milestone
<https://github.com/apache/iceberg-python/milestone/8>:
1. Documentation - docstrings, mkdocs
2. Explicit declaration of public APIs and API compatibility checks in the
CI
3. Optionally, a performance regression benchmark check in the CI

I'd love to hear more thoughts from the community on what criteria should
define when PyIceberg would be ready for a 1.0.0 and how we can work
towards that goal.

Sung

Reply via email to