-
Notifications
You must be signed in to change notification settings - Fork 963
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
Enable a "Test" mode that allows package reuploads #720
Comments
I think it could be valuable to lock packages in test that are registered in the production pypi, so that the package maintainer can continue to test without issue. But until it is locked in production, it should be able to be freely deleted and recreated in test. |
Honestly, I don't have a problem just freely allowing reuploads/deletions in test. The only catch is we'll need to restructure the URLs a bit to handle it sanely, but that's something I wanted to do anyways. The main reasons to lock packages on the "real" PyPI don't really apply to test at all once we restructure the URLs. |
First of all, I really appreciate your work! The Python community (and therefor you guys) is pretty awesome, I love it :) I already suggested the same thing here, but apparently you already know about this issue. I like the fact that packages uploaded on the live repo are locked. It will result in a more "secure", consistent, reliable and clean repo. It's great that an existing version can no longer be replaced by the developer and therefor data integrity is enforced. I suppose without this feature it can lead to a lot of confusion, if an active version will silently be replaced. However, as you already wrote above, it would be great to get a sandbox without punishment as soon as possible. Especially for new users to test their their first package. I created my first PyPI package a few days ago and had to learn it the "hard way" ;) Can I help and support you guys somehow? I want to give something back to the community and I especially want the get more active in the Python community. Let me know if I can support you guys in any way! Thanks guys! |
@domibarton Sorry for the lack of response here! We unfortunately haven't been particular good in the past couple of years when it comes to harnessing the enthusiasm of folks that express interest in contributing :( Some notes on possible design directions here:
At a technical level, the key capability that Warehouse would need in order to support this is the ability to publish two separate indices: the regular index that it already publishes, and a separate staging index for not-yet-published staging releases. It would also need to model (and make available via a metadata API) the distinction between the somewhat mutable immediately published releases (i.e. unpublishing and addition of binary artifacts permitted), completely mutable staging releases, and completely locked published releases. The upload API would also need to be adjusted such that it handled the 3 kinds of release state differently. |
For the folks in this thread who don't already know the context: The folks working on Warehouse have gotten funding to concentrate on improving and deploying Warehouse, and have kicked off work towards our development roadmap -- the most urgent task is to improve Warehouse to the point where we can redirect pypi.python.org to pypi.org so the site is more sustainable and reliable. Since this feature isn't something that the legacy site has, I've moved it to a future milestone. But I have opened #2891 for a related feature that we might be able to do in the next few months. And @domibarton we'd love your help contributing to the Warehouse project -- Ernest, one of the core developers, is specifically looking to do one-on-one videochat mentoring with new Warehouse contributors and has slots available every week for the next few months! Thanks and sorry again for the wait. |
Test PyPI is designed to be able to test packages, it should be treated as a sandbox and people shouldn't be "punished" for using it as such. We'll need some way to allow package reuploads in Test PyPI (but not in regular PyPI).
The text was updated successfully, but these errors were encountered: