Skip to content

beta release roadmap

Greg Caporaso edited this page Mar 22, 2015 · 11 revisions

This page will cover the high-level steps needed to take scikit-bio from an alpha state to a relatively API-stable beta release. This release will coincide with SciPy 2015 at the beginning of July. We hope to be at, or very near to, a beta release by the end of May to give ourselves time to wrap up loose ends.

To achieve the quality of API that we expect from this package, there will be a large number of API changes which we will document and deprecate (where possible, though not all changes can be deprecated).

If you are a current user of scikit-bio, we recommend using the latest 0.2.x release version as the API will not change. Development versions are not recommended, as they are less stable and generally will not offer sufficient benefit to justify their use. The 0.3.x releases should be considered a fast moving target, but we will try to change only one aspect of the API at any given time to make this transition manageable. The 0.4.x releases should be considered stable and will be a significant improvement to 0.2.x.

What this means:

0.2.x

Use this if you need a bioinformatics library today that has a stable API (e.g. you are building software like QIIME). As is the case for QIIME 1.9.0, your package's install_requires should indicate that it depends on scikit-bio >= 0.2.3, < 0.3.0.

  • alpha
  • stable API
  • critical bug fixes will be back-ported

0.3.x

Use this if you are a scikit-bio developer, want to become one, or if you want the latest features and can tolerate API instability.

  • alpha
  • unstable API
  • frequent releases
  • these are the changes we need to achieve 0.4.x

0.4.x (target date: 6 July 2015 to correspond with SciPy 2015)

Use this if you love Python and bioinformatics! This is the final testing ground for our 1.0.0 release.

  • beta
  • stable, consistent API (pending feedback)

Roadmap

The most up-to-date information will be on the milestones. All releases will have a corresponding milestone, but the exact order and version numbers are not yet known for the minor releases.

Expected Releases:

  • 0.3.0: Clean up Alignment API and better integrate alignment algorithms with sequence objects and collections.
  • 0.3.1: Clean up TreeNode API, potentially change underlying implementation to make more efficient.
  • 0.3.2: Make DistanceMatrix/DissimilarityMatrix more efficient, including some API changes. Inheritance will be broken between these two objects.
  • 0.3.3: Clean up skbio.stats.ordination subpackage.
  • 0.3.4: Verify that all objects meet a consistent interface defined by an ABC (abstract base class).
  • 0.4.0: Wrap up any loose ends. Add phylogenetic diversity metrics. Verify coverage is at 99%+.