AOSSIE-Org / AOSSIE-Org/PictoPy

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

Open Beginner friendly
#1,533 2 comments 0 reactions 0 assignees View on GitHub
bug enhancement
Dominant language
Python
Stars
284
Forks
680
Avg merge
7d 5h
Merged PRs (30d)
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.

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, build-system, testing
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.