Modern Python Package Refactor (pyproject.toml, src layout, versioning)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 376
- Forks
- 47
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I've been actively using Satclip and recently refactored it into a modern Python package here: Haight3/satclip. I wanted to ask whether you'd be interested in adopting this structure upstream or as an optional branch.
Here’s what was changed:
Key Modernization Features:
-
PEP 621-compliant pyproject.toml (removes the need for setup.py/setup.cfg)
-
src/ layout to improve import hygiene and avoid namespace clashes
-
Explicit versioning support baked into the build process
-
All imports cleaned and made absolute for clarity
-
Add Documentation to most of the functions and modules.
Benefits:
-
Easier integration with tools like pipx, build, tox, pytest, and ruff
-
Simplifies distribution via PyPI or internal registries
-
Much easier for downstream users to consume and extend
-
Plays well with IDEs and type checkers (VSCode, PyCharm, mypy)
-
Helps modularize and test parts like location_encoder, wrap, etc.
Happy to open a PR or break this into smaller parts if you think it’s of interest!
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Compare the repository's current packaging setup with the linked Haight3/satclip structure, focusing on pyproject.toml, the proposed src layout, versioning, imports, and documentation. Read the issue discussion before proceeding; done requires an agreed upstream scope and verified packaging, imports, and tests for the selected changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100