Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Being able to install packages

Open
#222 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
cli

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)
  • 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/bin because...
    $ 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PyAr/fades

All issues in PyAr/fades

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.