upgrade to python 3.11 and with uv support #231
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.
This pull request introduces several improvements to the development experience and codebase consistency for the Data Formulator project. The main changes include adopting the
uvtool for Python environment management, updating documentation and devcontainer setup accordingly, and modernizing type hints throughout the Python codebase to use the newPEP 604syntax (X | Noneinstead ofOptional[X]). Additionally, support for Python 3.11 is formalized across the project.Development Environment & Tooling:
uvtool as a feature, and updated thepostCreateCommandto useuvfor dependency management and running the app. Ports 5000 and 5173 are now forwarded by default. (.devcontainer/devcontainer.json, .devcontainer/devcontainer.jsonL4-R21).python-versionfile specifying Python 3.11 for environment consistency.local_server.shandlocal_server.batscripts to preferuvfor running the backend if available, falling back topythonotherwise. [1] [2]Documentation Updates:
DEVELOPMENT.mdto recommend usinguvfor environment setup and app running, clarified backend/frontend development workflows, and updated instructions for bothuvandpipusage. [1] [2] [3] [4]Codebase Modernization & Consistency:
X | Noneand native collection types (e.g.,list[dict[str, Any]]), removing legacyOptional,List, andDictimports. This affects data loaders, utility modules, and function signatures throughout the codebase. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]OpenAIClientAdapterclass fromclient_utils.pyand cleaned up unused imports. [1] [2]These changes collectively streamline local development, improve documentation clarity, and modernize the codebase for better maintainability and type safety.