Building packages for an upcoming version of Qiime2

As I write this, Qiime 2022.8 is out now and 2022.11 will be out soon.

How do I build and test against this upcoming version of Qiime (2022.11) before its release?
Would it be better to wait for the release of 2022.11 and then build packages?

Thanks!

(Sorry if this is a basic question. IANACI/CDE)

Hey @colinbrislawn!

Great question :slightly_smiling_face:

You can test your package(s) using a QIIME 2 development environment, which will have our latest updates/changes that have been implemented post-2022.8. This development environment is built and tested against our existing QIIME 2 core/community distributions, and is re-built every day (in 8 hour increments). Here's where you can install this dev environment:

https://dev.qiime2.org/latest/quickstart/#install-qiime-2-within-a-conda-environment

In terms of whether it's better to test your package(s) now or post-2022.11 - it doesn't really matter, since we are running continuous integration/testing on our development environment. I think the only argument for or against waiting would be if there's a specific feature or update that you need to test against that we haven't finished implementing yet (like ANCOM-BC within q2-composition, as an example).

Hope this helps! Let me know if you have any other questions :nerd_face:

2 Likes

That's very helpful! I'll try that dev environment.

That makes sense!

I'm trying to train a classifier using a specific version of Qiime2 to avoid the "this classifier was trained with an old version of sklearn" error. I wonder if I need to wait for the environment to be frozen.

In the repo of environment-files, is 2022.11/staging/qiime2-2022.11-py38-linux-conda.yml close enough to avoid a sklearn version error, or should I wait for this to graduate from ./staging to ./release before running it?

Hey @colinbrislawn,

Sorry for the late reply on this!

I am actually wondering if we need to upgrade to a newer version of sklearn - that's been on our to-do list for a while, but we haven't gotten around to it quite yet.

In terms of the difference between that environment file in ./staging vs ./release - there won't be too much of a difference, since the ./release file is essentially just a 'promoted' version of the ./staging environment file on the date of the release. We do have a few more updates we'll be pushing through over the next couple of weeks - feel free to check out our 2022.11 project board on Github to see what we currently have in development and in review for this release.

I'll check in with @ebolyen today re: sklearn and circle back with you on that!

1 Like

Hey @colinbrislawn,

I checked in with Evan on this today, and while we can't guarantee this - we will try our best to get the latest version of sklearn in this upcoming release!

Thanks for telling me more!

When there is a staging version that is stable for release, can you @ me on GitHub? I'll see if I can get a build out before I leave...

I don't necessarily need a new sklean version, just whatever is going to be in 2022.11