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

Support for nightly releases in pypi #8792

Open
omry opened this issue Nov 6, 2020 · 2 comments
Open

Support for nightly releases in pypi #8792

omry opened this issue Nov 6, 2020 · 2 comments
Labels
APIs/feeds feature request needs discussion a product management/policy issue maintainers and users should discuss

Comments

@omry
Copy link

omry commented Nov 6, 2020

I would like to open a discussion around what might nightly build support in pypi look like.
First, a small IRC paste:

omry> What's the general take on publishing nightly releases to pypi? the package is not large (about 200kb now), but I am not sure if things like maintaining last X nightlies are doable (nuke old nightly as if they never existed).
mgedmin> my gut feeling is "please don't", but I'm not a pypa member
PSFSlack5> omry: If the project is small, it's not really a big deal.
omry> PSFSlack5: my concern is more about polluting the version name-space. is there a programmatic way to delete packages?
PSFSlack5> omry: There is not. Some projects do a separate project name entirely, like https://pypi.org/p/tf-nightly
omry> PSFSlack5, that's not a bad solution. It would be nice to have a programmatic interface to manipulate packages for cases like this.
omry> in the tf example, they upload about 1GB a day: https://pypi.org/project/tf-nightly/2.4.0.dev20201018/#files
omry> I don't think they want to keep old nightlies forever.
cooperlees> omry: Prob worth an issue / discussion @ https://github.com/pypa/warehouse/issues
cooperlees> I'd love to see nightlies be able to only keep the last x weeks of nightlies for example and stable releases. Would be helpful for bandersnatch / mirror peoples

Something that could be nice is a way to maintain X last nightly packages automatically and have older nightlies be automatically deleted.

The pip client can potentially provide a specific error for people who are trying to install deleted nightly packages, something like:

The nightly package foo==version expired. 
Please install a newer nightly package or switch to a stable release.
nightly versions: [newest K nightly versions]
stable versions: [newest K stable versions]

Pip should also not show nightly packages in the message it normally shows when there is a mismatch version number.

@di di added APIs/feeds needs discussion a product management/policy issue maintainers and users should discuss labels Nov 6, 2020
@faxu
Copy link

faxu commented Nov 30, 2020

+1 for this feature. This has become troublesome for our project esp with the pypi size limit. Manually deleting all older packages every [n] weeks is difficult to manage.

@balopat
Copy link

balopat commented Dec 2, 2020

+1 for this feature. We find it very nice to be able to publish to a "latest" channel just by providing pip install --pre <package> (compared to having to provide a separate index, separate infra for publishing dev versions) and are in the process of switching over to that model as it is not explicitly discouraged anywhere. However, there aren't many projects doing this, and there isn't a good retention policy which created a bit of hesitation on our end to pull the trigger. As our project is tiny, this shouldn't matter much, we'll be below the project size limit.

Currently we have the two different packages like the tensorflow ecosystem. However, that creates a namespace collision. If you install accidentally both packages (for which there is no way to automatically defend against using only pip), the environment can get into a bad state that can get only resolved by uninstalling both packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APIs/feeds feature request needs discussion a product management/policy issue maintainers and users should discuss
Projects
None yet
Development

No branches or pull requests

4 participants