Remove stray Python files from `src/` — `main.py`, `api/portfolio.py`, `models/portfolio.py`
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 80/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python, typescript
- Domain
- backend
Research direction
Start by reading src/main.py, src/api/portfolio.py and src/models/portfolio.py, then check package.json scripts, Dockerfile, docker-compose.yml, .github/workflows/ and requirements.txt for any reference to them. If nothing live uses them, git rm the three files and the emptied src/api/ and src/models/ directories. Done means no .py files remain under src/, and npx tsc --noEmit and npm test still pass.
Written by the indexing model from the issue text.
Description
Problem
The TypeScript source tree contains three Python files:
src/main.py(11 lines)src/api/portfolio.py(31 lines)src/models/portfolio.py(16 lines)
These are the only .py files under src/, and they are not referenced by any build step. tsconfig.json has "include": ["src/**/*"] and "rootDir": "./src", so TypeScript will simply ignore them; nothing compiles, lints, or tests them. They are almost certainly left over from an early Python prototype of the portfolio API.
This also explains the two otherwise-puzzling empty-looking directories src/api/ and src/models/ in the source tree — each contains exactly one of these files and no TypeScript.
Why it matters
Small, but it is a real signal problem. A contributor looking for the portfolio API model finds src/models/portfolio.py and reasonably wonders whether the project is partly Python. npx tsc --noEmit gives no signal because the files are simply out of scope, and no linter is configured to catch them. Every extra unused language surface is ambiguity that has to be re-resolved by each new reader.
Suggested Direction
- Read all three files first and confirm they are prototype scaffolding with no live consumer. Nothing in
package.jsonscripts,Dockerfile,docker-compose.yml, or.github/workflows/invokes Python — but verify rather than assume. - If confirmed dead,
git rmthem along with the now-emptysrc/api/andsrc/models/directories. - If any logic is genuinely wanted, port it to TypeScript rather than keeping a dead Python file — and note that
src/api/andsrc/models/would then need real TypeScript. - Optionally add a lint guard so this cannot recur:
npx tscalready ignores non-TS files, but an ESLintno-restricted-syntaxor a simple CI grep forfind src -name '*.py'would catch future strays. Keep it simple — a CI grep in.github/workflows/build-check.ymlis enough.
Constraints
- There is a
requirements.txtat the repo root. Check whether it references these modules before deleting; if Python is genuinely used somewhere (docs tooling, a separate service), scope this issue to the three files undersrc/only. - Do not delete
requirements.txtin this issue.
Acceptance Criteria
- No
.pyfiles remain undersrc/. -
src/api/andsrc/models/are removed, or hold real TypeScript. -
requirements.txtis either untouched or its contents explained in the PR description. -
npx tsc --noEmitandnpm testpass.
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 55
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
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 SourceXXL/alian_structure-api
-
good first issue help wanted security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#266 ·
-
Parallelize the cache-warming loop in `cache-warming.service.ts` — warmers run strictly sequentiallyPossibly taken @syntaxsuuvam-spec claimed this 4 days ago. Opengood first issue performance
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#240 ·
-
documentation help wanted intermediate refactor
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
SourceXXL/alian_structure-api#215 ·
-
help wanted intermediate refactor
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SourceXXL/alian_structure-api#196 ·
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#175 ·
All issues in SourceXXL/alian_structure-api
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
vercel/streamdown#673 · 1 reaction ·
Maintainers usually reply within 1 day
-
docs(stream-protocol): document messageMetatadata on start/finish and the message-metadata chunkOpenfactory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
agilepathway/label-checker#721 ·
Maintainers usually reply within 1 day
-
CLI Empathy needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
chromaui/chromatic-cli#1524 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day