Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: reorganize repo for multiple packages #35

Merged
merged 6 commits into from
Jan 25, 2024

Conversation

federicobond
Copy link
Member

@federicobond federicobond commented Jan 19, 2024

This is a work-in-progress proposal for organizing the repo around multiple packages

Signed-off-by: Federico Bond <federicobond@gmail.com>
@federicobond federicobond force-pushed the multiple-packages branch 4 times, most recently from e3c7bf4 to 5936527 Compare January 19, 2024 03:23
@federicobond
Copy link
Member Author

Tooling is still a bit of a hack, happy to take suggestions. I mostly wanted to get the basic structure right.

@federicobond federicobond marked this pull request as ready for review January 19, 2024 03:25
@federicobond federicobond requested a review from a team as a code owner January 19, 2024 03:25
@federicobond federicobond force-pushed the multiple-packages branch 6 times, most recently from b5aa8a1 to cf2cad0 Compare January 20, 2024 04:43
Copy link

codecov bot commented Jan 20, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (6e082a7) 85.12% compared to head (e3ea4b2) 90.86%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   85.12%   90.86%   +5.73%     
==========================================
  Files           6        8       +2     
  Lines         121      186      +65     
==========================================
+ Hits          103      169      +66     
+ Misses         18       17       -1     
Flag Coverage Δ
unittests 90.86% <100.00%> (+5.73%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Federico Bond <federicobond@gmail.com>
Signed-off-by: Federico Bond <federicobond@gmail.com>
Signed-off-by: Federico Bond <federicobond@gmail.com>
@federicobond
Copy link
Member Author

Ok, so I did some research on the tooling for packaging and dependency management and after looking at different options, including Flit, Poetry and PDM, I have integrated a tool called Hatch that is being developed under the umbrella of the PyPA.

Hatch solves the problem of running tests in isolated environments for each package, which we weren't able to do with the existing Makefile setup. It's easy to understand, fast, and adheres much better to modern Python packaging standards (Poetry is known for doing its own thing, sometimes with questionable choices for package authors).

The only downside of Hatch is that there is no explicit monorepo support yet, but I don't believe it to be a deal breaker at the moment.

I think we can give it a try and see if works for our use case. Worst case scenario is we have to tweak up pyproject.toml files to use a different tool.

@beeme1mr
Copy link
Member

I'll look into this more tomorrow but it looks like great progress.

@beeme1mr
Copy link
Member

@federicobond could you please sign off on the commits when you have a moment?

Signed-off-by: Federico Bond <federicobond@gmail.com>
@federicobond
Copy link
Member Author

Sure! I was missing the last one apparently, sorry about that.

@federicobond federicobond requested a review from gruebel January 24, 2024 01:00
Copy link
Member

@gruebel gruebel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice work 🍻

.github/workflows/build.yml Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
Co-authored-by: Anton Grübel <anton.gruebel@gmail.com>
Signed-off-by: Federico Bond <federicobond@gmail.com>
@federicobond federicobond merged commit 1cef37c into open-feature:main Jan 25, 2024
17 checks passed
@federicobond federicobond deleted the multiple-packages branch January 25, 2024 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants