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
[v3 Downloader] RFC: installing cogs/shared libs from PyPI + cog discovery #1968
Comments
Definitely interested in this being supported. Would make distributing my cogs with proper versioning much simpler. Would this also include better interaction between the downloader and python venvs? (I Should probably collect the list of odd behavior's I've noticed with venv usage mixed with current downloader using |
Yeah. The idea is to install the cog package like any other pip package, which would automatically pull in the requirements for it. If it's in a venv, it would install to the venv's folder. Otherwise, it would put it downloader's A "repo" in this case would be a list of references to packages on PyPI, and would pull the appropriate metadata from there.
Please do. My WIP branch already disables |
I would just like to request the feature that is submodules to be allowed to be used in V3's downloader. I have already submitted a PR to this for V2, if you would like to check it out. Thank you! |
I'll add the submodule commands to what I've got working so far as per the PR. But it'll be tricky getting patch notes working for them, so those might be barebones/commit messages only until I have the rest stable and can focus on this. |
Previously, when downloader was loaded, the RepoManager would spawn a task to load available repos. If one repo failed loading for some reason, the function would raise and the remaining repos would never be loaded, however downloader would still appear to load correctly. This change handles exceptions better during repo loading, but also, if an unhandled exception is raised, downloader will fail to load as it should. Also included, as requested in Cog-Creators#1968, is the --recurse-submodules flag in cloning/pulling repositories. This change resolves Cog-Creators#1950. Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
Previously, when downloader was loaded, the RepoManager would spawn a task to load available repos. If one repo failed loading for some reason, the function would raise and the remaining repos would never be loaded, however downloader would still appear to load correctly. This change handles exceptions better during repo loading, but also, if an unhandled exception is raised, downloader will fail to load as it should. Also included, as requested in #1968, is the --recurse-submodules flag in cloning/pulling repositories. This change resolves #1950. Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
Feature request
Select the type of feature you are requesting:
Describe your requested feature
Since redbot can be installed directly using
pip
, and will be usable withoutgit
once discord.py v1.0+ hits PyPI, I think that Red should support cogs or cog collections installed as python packages.Fine-grained management via Downloader (beyond just calling
[p]pipinstall
) would be nice to have, but using setuptools plugin discovery (docs) is a good first step.Benefits:
pip install
, without adding any reposCurrent issues:
The text was updated successfully, but these errors were encountered: