Being able to install packages
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reading the fades CLI entry point and its existing virtualenv creation, reuse, and package-install flow. Trace how setuptools entry points appear in the virtualenv's bin directory. Done means a package-install option can install the package, reuse or create the virtualenv, and place its generated scripts in the appropriate system path.
Written by the indexing model from the issue text.
Description
We've been talking a lot with @sils1297 about the best way for a project developer to tell their users to install a package without having to care about virtualenvs, and we found the best way would be to have an option like:
sudo fades --install=mypackage
In this case, fades would:
- create a virtualenv, as usual (even reuse one if already has it!)
- note1: user could do
--install=mypackage==1.3 - note2: or even do
--install=mypackage=1.3 -d dep1 -d dep2(but we really expect that 'mypackage' would have dependencies already defined at setup.py, directly usable by pip)
- note1: user could do
- find out the scripts or entry-points defined in mypackage (possibly exploring mypackage's setup.py manually); these scripts/entrypoints were handled properly by setuptools in the virtualenv (it just copies the scripts, or create specific .py for the entry points)
- copy those scripts to the same system path from where 'fades' is being executed (which AFAIK it would be the better way to know, in a sane multiplatformly way) which is the default system path)
Let's see for example what would happen with a sample project, 'coala':
- you'll do:
sudo fades --install=coala - it will create a virtualenv, install coala there, and you'll see how setuptools created scripts for coala's entry points:
$ ls -l ~/.local/share/fades/d9127346-8e11-4731-a9ef-fd9763c5b851/bin/
total 56
...
-rwxrwxr-x 1 facundo facundo 278 jul 21 11:44 coala
-rwxrwxr-x 1 facundo facundo 281 jul 21 11:44 coala-ci
-rwxrwxr-x 1 facundo facundo 283 jul 21 11:44 coala-dbus
-rwxrwxr-x 1 facundo facundo 290 jul 21 11:44 coala-delete-orig
-rwxrwxr-x 1 facundo facundo 285 jul 21 11:44 coala-format
-rwxrwxr-x 1 facundo facundo 283 jul 21 11:44 coala-json
...
- fades would copy those scripts to
/usr/binbecause...
$ which fades
/usr/bin/fades
- Dominant language
- Python
- Stars
- 223
- Forks
- 44
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PyAr/fades
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Proposal: support uv as an optional backend for venv creation & installsPossibly taken @gilgamezh claimed this 114 days ago. Open
Difficulty 5/5 Over a week Newbie friendliness 42/100
-
Revisit "nested virtualenvs" problemPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 4/5 3-5 days Newbie friendliness 30/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
huggingface/peft#3955 ·
Maintainers usually reply within 1 day
-
author-page correction
Difficulty 2/5 1-3 hours Newbie friendliness 60/100
acl-org/acl-anthology#10313 ·
Maintainers usually reply within 1 day
-
anime duplicate exception request-theme
Difficulty 1/5 Under an hour Newbie friendliness 82/100
LizardByte/ThemerrDB#8926 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
huggingface/transformers#49556 ·
Maintainers usually reply within 1 day
-
area/security bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
mozilla-ai/otari#2245 ·
Maintainers usually reply within 1 day