Skip to content

Conversation

@Adamkadaban
Copy link
Member

@Adamkadaban Adamkadaban commented Dec 31, 2025

Checklist

  • I have added a version label to my PR (e.g., patch, minor, major).
  • I have tested my changes locally and verified they work as expected.
  • I have added relevant tests to cover my changes.
  • I have made any necessary updates to the documentation.
  • I have made any necessary updates to the CLI.
  • I have made any necessary updates to the frontend.

Description

The goal of this PR is to make any fixes required to continue working on OpenLabs and to make quality of life improvements that will make our devloop faster.

This pull request modernizes the Python dependency and workflow management for the API by migrating from pip and requirements.txt/dev-requirements.txt to uv with a pyproject.toml-based configuration. It also replaces MyPy with Ty for static type checking, updates all relevant documentation and CI workflows, and refactors Docker and test setups to use uv. Additionally, it improves email validation logic and makes minor code quality adjustments.

So far, this PR:

  1. Fixes a bug in email validation introduced in a recent update
  2. Switches from pip to uv
  3. Switches from mypy to ty
  4. Makes some small lint changes
  5. Update api dockerfile to deal with cache issues on gh

Partially Fixes: #152
I think pulumi should be a seperate PR

@Adamkadaban Adamkadaban force-pushed the adam/modernization-staging branch from 7d7ebbb to b7f6f36 Compare December 31, 2025 08:19
@Adamkadaban Adamkadaban added the minor Increment the minor version when merged label Dec 31, 2025
- arq command now uses 'uv run arq' to ensure executable is in PATH
- uvicorn command now uses 'uv run uvicorn'
- All healthcheck commands now use 'uv run python'
- This ensures uv-managed dependencies are properly accessible
- Update cryptography to >=46.0.0 (from >=41.0.0)
- Update argon2-cffi to >=25.1.0 (from >=23.1.0)
- Update cdktf to >=0.21.0 (from >=0.20)
- Update cdktf-provider-aws to >=21.0.0 (from >=19.60)
- Update setuptools-scm to ~=9.0 (from ~=8.1)
- Update ruff to >=0.14.10 (from >=0.9.4)
- Update testcontainers to >=4.13.3 (from >=4.9.1)

All dependencies synced with uv.lock, security audit passed.

Also fixed ty type checker warnings by:
- Removing unused type: ignore comments that are no longer needed
- Adding proper variable initialization and assertions to fix
  possibly-unresolved-reference warnings
@Adamkadaban
Copy link
Member Author

It seems like ty does pretty well, but there are a good few false negatives, especially when working with pulumi, so I think it might be better to stick with mypy for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Increment the minor version when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenLabs Revival

2 participants