Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

thoughts on experimental features #1239

Open
ctb opened this issue Nov 17, 2020 · 1 comment
Open

thoughts on experimental features #1239

ctb opened this issue Nov 17, 2020 · 1 comment

Comments

@ctb
Copy link
Contributor

ctb commented Nov 17, 2020

over in #1238 (comment), @luizirber spaketh:

I created a new feature on the Rust side, "experimental". The idea is to allow experimentation without making stability guarantees, including passing all checks required for merging (like wasm support). #1221 is another example of an "experimental" feature.
In order to avoid piling up experimental features, I also propose a requirement that sourmash-Python CAN'T use the "experimental" feature. This keeps us honest, and force stabilization in the Rust side =]
This is sort of equivalent to the nightly features in the Rust compiler.

and I respondedeth:

Hmm. 👎

I instead propose that we add an "experimental" subcommand in sourmash CLI that is explicitly not stable.

Alternatively, as long as it's exposed by the Rust API to Python, I can use it in scripts. So we could keep it away from the CLI, at the cost of not being able to evolve a better CLI as we play with use cases.

Motivation: I do most of my experimentation in Python, as do others, and I think sourmash has benefited substantially from this kind of experimentation. So I want to keep this available!

to which @luizirber volleyed:

Fair point. Note that we can request "experimental" features from the Rust side on any sourmash PRs just fine (add "--features experimental" to the cargo invocation in setup.py), what I'm blocking is merging PRs that use the experimental feature without also "stabilizing" it on the Rust side.

this issue is to continue that conversation, divorced from the specific PR in question!

@ctb
Copy link
Contributor Author

ctb commented Nov 17, 2020

I have a related question, too. Do we want to do pre-releases? Conda doesn't support them but (as I'm finding out with spacegraphcats) pip/pypi sure does!

It would be somewhat useful for me now that I'm relying on experimental features from sourmash pre-4.0 in genome-grist and spacegraphcats. I could use direct-install-from-github, I suppose, but it's nice to be able to pin versions for benchmarking (as we're seeing in spacegraphcats).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant