AOSSIE-Org / AOSSIE-Org/PictoPy

BUG: Missing 'requests' in requirements.txt causes ModuleNotFoundError in API utils

Ouverte Adaptée aux débutants
#1,533 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug enhancement
Langage dominant
Python
Étoiles
284
Forks
680
Merge moyen
7 j 5 h
PR mergées (30 j)
4

Description

In backend/app/utils/API.py, line 1 imports requests:
import requests
from app.config.settings import SYNC_MICROSERVICE_URL
However, requests is neither listed in backend/requirements.txt nor in PyInstaller's PictoPy.spec hiddenimports.
As a result, running tests (such as tests/test_folders.py) or invoking backend functions that trigger sync microservice restarts on a clean virtual environment fails with:
ModuleNotFoundError: No module named 'requests'

Steps to Reproduce

Set up a fresh virtual environment.
Install dependencies using pip install -r backend/requirements.txt.
Run pytest tests/test_folders.py.
Observe test collection failure due to ModuleNotFoundError: No module named 'requests'.

Proposed Solution

Since the project already standardizes on httpx (pinned in requirements.txt:73 and bundled in PictoPy.spec), we can either:
Refactor app/utils/API.py to use httpx.post() to keep dependencies minimal and consistent with the rest of the backend (similar to model_downloader.py).
Or explicitly add requests to requirements.txt and PictoPy.spec.
I've verified this locally and would love to be assigned to submit a clean PR with unit test coverage.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start with backend/app/utils/API.py and reproduce the clean-environment failure using backend/requirements.txt, then inspect PictoPy.spec and the existing httpx entry. Run pytest tests/test_folders.py to confirm the import problem and use the project’s dependency and packaging configuration to decide which supported approach fits. Done means dependency installation and packaging no longer leave the API utility import unresolved.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend, build-system, testing
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
72/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.