HumanSignal / HumanSignal/label-studio

io_storages/filesystem.py is a dead module — its `from .base import …` target doesn't exist

Open Beginner friendly
#9,815 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
28.3k
Forks
3.7k
Avg merge
14h
Merged PRs (30d)
15

Description

**Describe the bug**
`label_studio/io_storages/filesystem.py:10` does `from .base import BaseForm, BaseStorage, CloudStorage`, but no `base` module exists in `io_storages/` (nearest is `base_models.py`, which does not define `BaseForm` or `CloudStorage`). Importing the module raises `ModuleNotFoundError` immediately.

A repo-wide search finds zero importers of this module, so nothing currently breaks — but it's a landmine: the first future import crashes. Suggest either deleting the file or fixing the import if it's meant to be live; happy to PR whichever you prefer.

**To Reproduce**
1. `python -c "import label_studio.io_storages.filesystem"` → `ModuleNotFoundError: No module named 'label_studio.io_storages.base'`
2. `ls label_studio/io_storages/` → no `base.py`
3. `grep -rn "io_storages.filesystem\|from .filesystem\|import filesystem" label_studio/` → zero importers

**Expected behavior**
Modules in the package either import cleanly or don't ship.

**Screenshots**
n/a

**Environment (please complete the following information):**
- OS: n/a (code-level finding)
- Label Studio Version: develop @ 63fdee07510d873e39920b1f75daedae721e71ca (2026-07-12)

**Additional context**
Found while validating DACIP, a static contract-analysis tool I'm building, against open-source codebases.

Contributor guide

Open the contributing guide

Research direction

Start with label_studio/io_storages/filesystem.py and reproduce the failure with `python -c "import label_studio.io_storages.filesystem"`. Check the repository search results and nearby io_storages modules before choosing whether the unused module should be removed or its import corrected. Done means the dead module no longer ships broken, and the relevant import or package checks pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
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.