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

Migrate as much as possible to pyproject.toml, stop using versioneer to manage versions, update dependencies.yaml. #232

Merged
merged 11 commits into from
Jun 7, 2023

Conversation

bdice
Copy link
Contributor

@bdice bdice commented Jun 5, 2023

Modernizes kvikio's Python build system to help with CUDA 12 migration. Some of these changes were made for other RAPIDS repos in separate PRs over the course of time but I am doing them all together in this PR to help kvikio catch up to the state of other repos.

Major changes:

  • Removed versioneer.
  • Uses pyproject.toml for as much metadata as possible.
  • Updates/copies/fixes/centralizes linter configurations for isort, mypy, etc.

Closes #194. Addresses some things mentioned in #186.

@bdice bdice changed the title Move some contents to pyproject.toml. Migrate as much as possible to pyproject.toml. Jun 5, 2023
@bdice bdice changed the title Migrate as much as possible to pyproject.toml. Migrate as much as possible to pyproject.toml, stop using versioneer to manage versions, update dependencies.yaml. Jun 5, 2023
@bdice bdice marked this pull request as ready for review June 5, 2023 23:09
@bdice
Copy link
Contributor Author

bdice commented Jun 5, 2023

@madsbk @vyasr Can you both please review this when you have a moment? I lack privileges to request reviewers or add labels.

Copy link
Contributor

@vyasr vyasr left a comment

Choose a reason for hiding this comment

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

Changes generally look right to me. Made a couple of small suggestions but approving either way.

"Programming Language :: Python :: 3.9",
],
# Include the separately-compiled shared library
extras_require={"test": ["pytest", "pytest-xdist"]},
packages=find_packages(exclude=["tests*"]),
Copy link
Contributor

Choose a reason for hiding this comment

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

I would reuse the find_packages result for package_data to guarantee they stay in sync.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, good call. Will do.

"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
],
packages=find_packages(exclude=["tests*"]),
include_package_data=True,
Copy link
Contributor

Choose a reason for hiding this comment

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

Not critical since kvikio doesn't have wheels, but scikit-build has bugs with include_package_data so specifying package_data explicitly (like in the non-legate setup.py) is safer. That said I don't see wheels happening for legate-kvikio anytime soon so it's mostly just to be safe.

Copy link
Contributor

Choose a reason for hiding this comment

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

#233.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll unresolve this thread -- I'd be happy to try and fix #233 in this PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, if you're here and it's straightforward.

@vyasr vyasr added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Jun 6, 2023
Copy link
Member

@madsbk madsbk left a comment

Choose a reason for hiding this comment

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

Awesome, thanks @bdice. I only have a minor question.

Comment on lines +36 to +37
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Copy link
Member

@madsbk madsbk Jun 6, 2023

Choose a reason for hiding this comment

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

I am wondering if it is best just to remove the Python :: <version> lines? Are they used by anyone?

Copy link
Contributor

Choose a reason for hiding this comment

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

They are used on pypi for classification (and presented to the user on the webpage), e.g. https://pypi.org/project/numpy/

@madsbk
Copy link
Member

madsbk commented Jun 7, 2023

@bdice, is this PR ready to be merged?

@bdice
Copy link
Contributor Author

bdice commented Jun 7, 2023

@madsbk Yes, this can merge. I’ll open a small follow up for the package data changes #233. I didn’t have time yesterday to finish that.

@madsbk
Copy link
Member

madsbk commented Jun 7, 2023

/merge

@rapids-bot rapids-bot bot merged commit 4efb31c into rapidsai:branch-23.08 Jun 7, 2023
@jakirkham
Copy link
Member

Thanks all! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants