Skip to content

Conversation

@ghukill
Copy link
Collaborator

@ghukill ghukill commented Oct 21, 2025

Purpose and background context

This PR is the initial application setup, including:

  • renaming my_app to embeddings
  • beginning with a very minimal README
  • updating the uv entrypoint script to be called embeddings

This app is built from the uv branch in python-cli-template. That branch had a recent update which this new repository inherits.

As discussed internally, we had decided that new CLI applications would likely use uv. Additionally, this application will have fairly significant library and technical requirements, making uv a good choice.

This application also includes a .aws-architecture file with the value linux/arm64, which will build an arm64 image/container once we get to deployment. This file is utilized in the Makefile to build the appropriate image type for the convenience command make docker-build.

How can a reviewer manually see the effects of these changes?

Clone the repo and then run make install.

Then, confirm make test and make lint pass.

Additionally, you can build a docker image and launch a container to test that side of things:

make docker-build
make docker-run

Output:

docker run timdex-embeddings:latest
2025-10-21 20:42:52,252 INFO embeddings.cli.main(): Logger 'root' configured with level=INFO
2025-10-21 20:42:52,252 INFO embeddings.cli.main(): No Sentry DSN found, exceptions will not be sent to Sentry
2025-10-21 20:42:52,252 INFO embeddings.cli.main(): Running process
2025-10-21 20:42:52,252 INFO embeddings.cli.main(): Total time to complete process: 0:00:00.000212

Includes new or updated dependencies?

NO

Changes expectations for external applications?

NO

What are the relevant tickets?

Code review

  • Code review best practices are documented here and you are encouraged to have a constructive dialogue with your reviewers about their preferences and expectations.

How this addresses that need:

The root module will be called 'embeddings', and the entrypoint
executable will be called 'embeddings'.

Side effects of this change:
* None

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/USE-111
Why these changes are being introduced:

When a .aws-architecture file is present, docker builds should
use this architecture.  This will come organically when we get
into AWS ECR builds, but this application also includes a
convenience 'make docker-build' that should utilize it too.

How this addresses that need:
* Adds 'CPU_ARCH' env var to top of Makefile

Side effects of this change:
* None

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/USE-111
@ghukill ghukill marked this pull request as ready for review October 21, 2025 20:43
@ghukill ghukill requested a review from a team October 21, 2025 20:45
@jonavellecuerdo jonavellecuerdo self-requested a review October 22, 2025 13:19
Copy link

@jonavellecuerdo jonavellecuerdo left a comment

Choose a reason for hiding this comment

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

It's looking good to me, however, one thing I noticed is that the Docker file uses Python 3.13. I'm assuming this is because that's what's in the template, but .python-version still reads 3.12. Can you verify which version of Python will be used?

@ghukill
Copy link
Collaborator Author

ghukill commented Oct 22, 2025

It's looking good to me, however, one thing I noticed is that the Docker file uses Python 3.13. I'm assuming this is because that's what's in the template, but .python-version still reads 3.12. Can you verify which version of Python will be used?

Nice catch!! Thank you. Should be 3.12 all around. Dockerfile is updated.

@ghukill ghukill merged commit 6ef490f into main Oct 22, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants