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

Remove stray Python files from `src/` — `main.py`, `api/portfolio.py`, `models/portfolio.py`

Open Beginner friendly
#199 0 comments 0 reactions 0 assignees View on GitHub

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

good first issue refactor tooling

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

  1. Read all three files first and confirm they are prototype scaffolding with no live consumer. Nothing in package.json scripts, Dockerfile, docker-compose.yml, or .github/workflows/ invokes Python — but verify rather than assume.
  2. If confirmed dead, git rm them along with the now-empty src/api/ and src/models/ directories.
  3. If any logic is genuinely wanted, port it to TypeScript rather than keeping a dead Python file — and note that src/api/ and src/models/ would then need real TypeScript.
  4. Optionally add a lint guard so this cannot recur: npx tsc already ignores non-TS files, but an ESLint no-restricted-syntax or a simple CI grep for find src -name '*.py' would catch future strays. Keep it simple — a CI grep in .github/workflows/build-check.yml is enough.

Constraints

  • There is a requirements.txt at 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 under src/ only.
  • Do not delete requirements.txt in this issue.

Acceptance Criteria

  • No .py files remain under src/.
  • src/api/ and src/models/ are removed, or hold real TypeScript.
  • requirements.txt is either untouched or its contents explained in the PR description.
  • npx tsc --noEmit and npm test pass.
Dominant language
TypeScript
Stars
7
Forks
55
Avg merge
1d 17h
Merged PRs (30d)
5

Getting set up

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 SourceXXL/alian_structure-api

All issues in SourceXXL/alian_structure-api

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.