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
Proposal for smooth rolling releases #252
Comments
What do you think about it guys? Please feedback! |
Hmm I haven't really read or thought about this in detail yet, but I'd like for _ in trange(int(1e8), desc="hello"): That is, no inner computation (extreme case of low inner computations), a On 28 August 2016 at 18:03, Stephen L. notifications@github.com wrote:
|
Agree @casperdcl but I would add another benchmark as mandatory:
Just to have the other extreme case. Also, is there a reason |
@lrq3000 I agree 100%. But extensions to tqdm core can still be accepted, as subclasses of Encourage those using unstable submodules to use |
My proposed suggestion would let people use and add performance slowing features without affecting core performance. |
@CrazyPython Yes exactly that's the point, let's be more lenient about merging in submodules that are slower or using third-party libraries. Until now we refused because we wanted high quality submodules, but we can make a clear classification system (alpha, beta, stable) so that users know which submodules they can use in production and which are more experimental. |
Very nice! |
As we are receiving more and more issues, we are having more and more PR opened with dormant features that noone is using.
I propose that we integrate these PR into
tqdm
more quickly and easily than currently, but that we define clear guidelines before.Essentially, I propose to codify the development process in 2 processes: a solid one for core tqdm, and a way more flexible and lenient for submodules.
Here are my ideas of some release guidelines:
pandas
,numpy
, etc.To summary, the idea is that we lock the core (like we implicitly do currently but now explicitly with clear guidelines) to maintain the current quality (reliability, performance, API), but still allow new features to be developped quickly: the solution is to use abusively of submodules.
The great thing about submodules is that we don't really care if they are not really stable nor if they are unit tested: they are additional features, people may want to try them or not, it's up to them. But I think we should include them in tqdm public releases, this will allow to get more feedback and provide more quickly the public with new features.
This will also allow us to more quickly develop new features as making unit tests is taking a lot of time, so we can focus on developing new features first, release them, then add unit tests for the popular submodules (instead of adding unit tests for every submodules even the ones that will maybe be removed in the future...).
The other advantage is that we could then more quickly close PR and issues, because currently we have lots of PR that are totally fine but they are not merged because they are not enough unit tested or just not perfect enough by our standards. But I think that our high standards are fine for tqdm core, but not for submodules: submodules are extensions and thus they should have a more flexible development process: add new modules, modify them, delete unused/deprecated ones, refine popular ones (unit test, better code, comments), etc.
In the end, we can rewrite the Readme and add a section about submodules with their respective maturity state and description, for example:
TODO:
The text was updated successfully, but these errors were encountered: