microsoft / microsoft/satclip

Modern Python Package Refactor (pyproject.toml, src layout, versioning)

Open
#25 10 comments 0 reactions 0 assignees View on GitHub

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

  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.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.