USE 373 - Update to 2026-03 python project conventions#380
Merged
Conversation
Why these changes are being introduced: This project was due for a few key updates: pipenv to uv, python version, etc. These updates fall under a 2026-03 snapshot of targets and conventions for python projects. How this addresses that need: * Migrates from pipenv to uv * Updates to python 3.13 * Updates to linting, pre-commit, and Makefile conventions * Default to arm64 architecture and Makefile commands build to that * Minor linting and formatting updates going from black to ruff format Side effects of this change: * Effectively, none. Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/USE-373
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
Why these changes are being introduced
This project was due for a few key updates: pipenv to uv, python version, etc. These updates fall under a 2026-03 snapshot of targets and conventions for python projects.
How this addresses that need:
How this updated was implemented
This update was performed via an experimental process of using an AI agent to follow a specification. The specification can be found here: 2026-03-05 - Python Projects DevOps Updates.
Additionally, the first pass of work by the agent can be seen in this PDF file.
A secondary pass was taken when realized that
Makefilewould need updates fordist-dev,publish-dev, etc. The confluence specification document was updated, and a secondary round of updates performed. Here is additional output from that:How can a reviewer manually see the effects of these changes?
1- Remove
pipenvenvironment and replace withuvenvironment2- Set env vars:
3- Run Opensearch locally
4- Run TIM via
uv:5- Build docker container and ping local opensearch:
Lastly, see this run in Dev1 for confirmation that TIM is working as before updates: https://us-east-1.console.aws.amazon.com/states/home?region=us-east-1#/v2/executions/details/arn:aws:states:us-east-1:222053980223:execution:timdex-ingest-dev:04c0956a-908b-4a35-a945-c757ffa9c717.
Includes new or updated dependencies?
YES
Changes expectations for external applications?
NO
What are the relevant tickets?
Code review