Refactor repo structure and move package management to uv#38
Merged
Conversation
3515876 to
dd1ed36
Compare
42964c5 to
594af67
Compare
594af67 to
434271b
Compare
Member
RealLast
pushed a commit
that referenced
this pull request
Dec 15, 2025
# Add Automated REUSE Setup ## ♻️ Current situation & Problem - As noted in #38 , our current licensing setup is a bit inconsistent. ## ⚙️ Release Notes - Adds a template and command example to unity the header setup. ## ✅ Testing - @masquare: I ran the command once to adjust all headers. ### Code of Conduct & Contributing Guidelines By creating and submitting this pull request, you agree to follow our [Code of Conduct](https://github.com/StanfordBDHG/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordBDHG/.github/blob/main/CONTRIBUTING.md): - [x] I agree to follow the [Code of Conduct](https://github.com/StanfordBDHG/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordBDHG/.github/blob/main/CONTRIBUTING.md).
Collaborator
|
Accepted #39 @masquare @PSchmiedmayer |
Member
ThomasKaar
approved these changes
Dec 16, 2025
Collaborator
ThomasKaar
left a comment
There was a problem hiding this comment.
thanks a lot for the work here @masquare !! 🚀
added some minor questions. the one from common_evaluator_plot.py needs to be resolved, the others are fine either way for me
when those are resolved it is good to go
4d5b79c to
a63c76d
Compare
Signed-off-by: masquare <masquare@users.noreply.github.com>
a63c76d to
b7043ca
Compare
1 task
masquare
added a commit
that referenced
this pull request
Dec 19, 2025
# Fix publish workflow inputs and add branch verification ## ♻️ Current situation & Problem Fixes issues with the PyPI publish workflow (`publish.yml`): 1. Incorrect YAML structure for workflow dispatch inputs (nested under `target` instead of directly under `inputs`) 2. Inconsistent casing for TestPyPI (was `TestPyPi`) 3. Smoke tests referencing old `tests/` directory (should be `test/`) 4. Missing safety mechanism to prevent accidental publication to PyPI from non-main branches Related to: [Refactor repo structure and move package management to uv (#38)](#38) ## ⚙️ Release Notes **Improvements:** - Fixed GitHub Actions workflow YAML syntax for publish workflow dispatch inputs - Added branch verification step to prevent publishing to PyPI from non-main branches - Updated smoke test paths to match current repository structure - Fixed casing inconsistency: `TestPyPi` → `TestPyPI` **Breaking Changes:** None ## 📚 Documentation The changes are self-documented through: - Clear error message when attempting to publish to PyPI from a non-main branch - In-line comments explaining the branch verification check - Consistent naming conventions across the workflow ## ✅ Testing The workflow has been tested with: - Manual workflow dispatch to verify input structure is correctly parsed - Branch verification logic confirms that only the main branch can publish to PyPI - Smoke tests now correctly reference the `test/` directory - All changes maintain backward compatibility with existing PyPI and TestPyPI publication flows **Testing performed:** - ✅ Verified workflow YAML syntax is valid - ✅ Tested branch verification logic blocks non-main branch publications - ✅ Confirmed smoke test paths exist and are executable ### Code of Conduct & Contributing Guidelines By creating and submitting this pull request, you agree to follow our [Code of Conduct](https://github.com/StanfordBDHG/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordBDHG/.github/blob/main/CONTRIBUTING.md): - [x] I agree to follow the [Code of Conduct](https://github.com/StanfordBDHG/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordBDHG/.github/blob/main/CONTRIBUTING.md).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactor repo structure and move package management to uv
♻️ Current situation & Problem
This PR restructures the repository for better organization and modernizes the package management by migrating from
requirements.txttouv(a fast Python package installer and resolver). This addresses:uvfor faster, more reliable dependency resolutionResolves the ongoing effort to improve project organization and developer experience.
⚙️ Release Notes
Features
Package Management Migration: Migrated from
requirements.txttopyproject.tomlwithuv.lockfor reproducible buildsuvpyproject.tomlRepository Structure Improvements:
scripts/directory for better organization.gitignorefiles to.gitkeepin empty directories (data/,notebooks/).gitmodulesand submodule references.python-versionto specify Python 3.12Updated Documentation: README now reflects the new structure and package management approach
Migration Guide for Users
If you were previously using
requirements.txt:Before:
After:
📚 Documentation
The project now uses
pyproject.tomlas the single source of truth for project metadata and dependencies. Key sections include:For detailed project information, see
README.mdand the inline documentation inpyproject.toml.The repository structure has been improved:
✅ Testing
This PR maintains full backward compatibility with existing tests. No new test files were added as this is primarily a structural and tooling refactoring:
test/directoryuv syncfollowed by test executionManual testing steps:
uv syncto install all dependenciesscripts/directory are executable and functionalCode of Conduct & Contributing Guidelines
By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines: