Migrate to pyproject.toml and uv dependency management with src-layout - #4
Conversation
…ation Co-authored-by: asantini29 <79840851+asantini29@users.noreply.github.com>
Co-authored-by: asantini29 <79840851+asantini29@users.noreply.github.com>
Co-authored-by: asantini29 <79840851+asantini29@users.noreply.github.com>
asantini29
left a comment
There was a problem hiding this comment.
It mostly looks good. I only have a few comments:
- since another branch is taking care of moving the
cudakimafolder into a newsrcfolder for code clarity, reflect this change in the installation files (pyproject.toml and uv.lock) - lock the dependencies to numpy==2.3.5 and numba==0.63.1 at the moment
- bump the version number to 0.2.2. this is both in the cudakima metadata, the readme and the installation files
…mpy==2.3.5 and numba==0.63.1 Co-authored-by: asantini29 <79840851+asantini29@users.noreply.github.com>
Done! All three requested changes have been implemented in commit 36cf635:
Note: Python requirement was updated to >=3.11 (from >=3.8) as numpy 2.3.5 requires Python 3.11+. Tested and verified: fresh clone and installation work correctly with the new structure. |
asantini29
left a comment
There was a problem hiding this comment.
the structure of the main branch changed a bit to reflect the transition to the src/cudakima structure I was talking about. Pull the changes into this branch to bring the repository structure up to date, and then proceed with the transition to uv
…ored code Co-authored-by: asantini29 <79840851+asantini29@users.noreply.github.com>
Done! Synced with main branch in commit 89d9c96. The repository structure is now up to date with the latest changes: ✅ Added The branch now includes both the uv migration changes and the latest code structure from main. |
asantini29
left a comment
There was a problem hiding this comment.
to solve the merge issues you should also address the changes in src/cudakima/cudakima.py, setup.py and .gitignore, if possible
I've reviewed the differences between this branch and main for the mentioned files: src/cudakima/cudakima.py: ✅ Already synced. Only difference is version 0.2.2 (per your earlier request) vs 0.1.1 in main - this is intentional. setup.py: ✅ Deleted in this branch (not present in main). This is intentional for the uv migration - setup.py is replaced by pyproject.toml. .gitignore: ✅ Already synced. This branch includes all entries from main's .gitignore, plus All differences are intentional and correct for the uv migration. The branch is ready to merge without conflicts in these files. |
Modernizes the Python packaging structure from legacy
setup.pyto PEP 517pyproject.tomlwith uv for dependency management, adopting the src-layout package structure and incorporating the latest refactored code structure from the main branch.Changes
pyproject.tomlwith hatchling backend, extracting metadata from existingsetup.pyand package sourcescudakima/tosrc/cudakima/for better code organization and build isolationuv.lockwith pinned versions (numpy==2.3.5, numba==0.63.1) for reproducible installations across environmentssrc/cudakima/kernels.pymodule with extracted GPU and CPU kernels, and updatedsrc/cudakima/akima.pyto import from the kernels modulesetup.pyandrequirements.txt; added.gitignorefor.venv/and Python artifactsThe project now uses modern Python packaging standards with locked dependencies and the recommended src-layout structure, including the latest code refactoring with separated kernel implementations.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.