TIMX 600 - Migrate to uv and other 2026-03 devops conventions#184
Open
TIMX 600 - Migrate to uv and other 2026-03 devops conventions#184
Conversation
Why these changes are being introduced: This repository required an updated from pipenv to uv and/or a handful of python project updated conventions. How this addresses that need: * Migrate dependencies from Pipfile/Pipfile.lock to pyproject.toml with uv * Delete Pipfile and Pipfile.lock * Remove black, replace with ruff format * Update Makefile: pipenv run to uv run, consolidated lint/lint-fix/security targets, pre-push hooks * Replace .pre-commit-config.yaml: default_stages pre-push, ruff-format with --diff, ruff-check without --fix, mypy with broader exclude * Update CI workflow: on push to on pull_request with paths-ignore, add permissions read-all, use python-uv-shared-* workflows * Update README: pipenv references replaced with uv * Use importlib.metadata for dynamic __version__ instead of hardcoded string * Bump project version to 4.0.0 Side effects of this change: * Pre-commit hooks now fire on push instead of commit * Linting hooks no longer auto-fix code; run make lint-fix manually Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/TIMX-600
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.
Purpose and background context
This PR updates the TDA library to use
uvinstead ofpipenv.Additionally, it applies python project conventions as outlined in this document: https://mitlibraries.atlassian.net/wiki/spaces/IN/pages/5205491713/2026-03-05+-+Python+Projects+DevOps+Updates.
Major Updates
uvinstead ofpipenvimportlib.metadatafor dynamic__version__instead of hardcoded stringv4.0.0One of the significant changes is how versioning is handled.
Previously, it was defined in
timdex_dataset_api.__init__and dynamically loaded duringsetuptoolsusage. Now, it's defined in thepyproject.tomlfile and dynamically retrieved in code.How can a reviewer manually see the effects of these changes?
Running of
make testandmake lintis sufficient for confirming that the library works as before.I did perform a
make updatefor a local instance of Transmogrifier, pointing to this branch, and confirmed that thev4.0version is picked up and used.Includes new or updated dependencies?
YES
Changes expectations for external applications?
YES
What are the relevant tickets?
Code review