refactor(modernization): overall modernization#39
refactor(modernization): overall modernization#39hasansezertasan wants to merge 4 commits intomainfrom
Conversation
There was a problem hiding this comment.
Sorry @hasansezertasan, you have reached your weekly rate limit of 500000 diff characters.
Please try again later or upgrade to continue using Sourcery
There was a problem hiding this comment.
Review by RecurseML
🔍 Review performed on 393d630..de1112d
✨ No bugs found, your code is sparkling clean
✅ Files analyzed, no issues (50)
• .github.yaml
• .gitignore
• .pre-commit-config.yaml
• .python-version
• LICENSE
• README.md
• components/navbar/pyproject.toml
• components/navbar/src/navbar/__init__.py
• examples/basic_component_gallery/README.md
• examples/basic_component_gallery/main.py
• examples/basic_component_gallery/requirements.txt
• examples/dynamic_page_titles/README.md
• examples/dynamic_page_titles/main.py
• examples/dynamic_page_titles/requirements.txt
• examples/flask_fastui/README.md
• examples/flask_fastui/app.py
• examples/flask_fastui/requirements.txt
• examples/hello_world/README.md
• examples/hello_world/main.py
• examples/hello_world/requirements.txt
• examples/litestar_fastui/README.md
• examples/litestar_fastui/app.py
• examples/litestar_fastui/requirements.txt
• examples/navigation/README.md
• examples/navigation/main.py
• examples/navigation/requirements.txt
• examples/random_number_generator/README.md
• examples/random_number_generator/main.py
• examples/random_number_generator/requirements.txt
• examples/robyn_fastui/README.md
• examples/robyn_fastui/app.py
• examples/robyn_fastui/requirements.txt
• examples/simple-form/requirements.txt
• examples/simple-layout/requirements.txt
• examples/simple_form/pyproject.toml
• examples/simple_form/src/simple_form/__init__.py
• examples/simple_form/src/simple_form/main.py
• examples/simple_layout/README.md
• examples/simple_layout/main.py
• examples/simple_layout/requirements.txt
• examples/starlette_fastui/README.md
• examples/starlette_fastui/main.py
• examples/starlette_fastui/requirements.txt
• examples/sub-application/requirements.txt
• examples/sub_application/README.md
• examples/sub_application/main.py
• examples/sub_application/requirements.txt
• integrations/with-blacksheep/pyproject.toml
• integrations/with-blacksheep/src/with_blacksheep/__init__.py
• integrations/with-bottle/pyproject.toml
⏭️ Files skipped (52)
| Locations |
|---|
components/navbar/README.md |
examples/simple_form/README.md |
integrations/with-blacksheep/README.md |
integrations/with-bottle/README.md |
integrations/with-bottle/src/with_bottle/__init__.py |
integrations/with-django/README.md |
integrations/with-django/pyproject.toml |
integrations/with-django/src/with_django/__init__.py |
integrations/with-emmet/README.md |
integrations/with-emmet/pyproject.toml |
integrations/with-emmet/src/with_emmet/__init__.py |
integrations/with-falcon/README.md |
integrations/with-falcon/pyproject.toml |
integrations/with-falcon/src/with_falcon/__init__.py |
integrations/with-fastapi-sub-application/README.md |
integrations/with-fastapi-sub-application/pyproject.toml |
integrations/with-fastapi-sub-application/src/with_fastapi_sub_application/__init__.py |
integrations/with-fastapi/README.md |
integrations/with-fastapi/pyproject.toml |
integrations/with-fastapi/src/with_fastapi/__init__.py |
integrations/with-flask/README.md |
integrations/with-flask/pyproject.toml |
integrations/with-flask/src/with_flask/__init__.py |
integrations/with-hug/README.md |
integrations/with-hug/pyproject.toml |
integrations/with-hug/src/with_hug/__init__.py |
integrations/with-litestar/README.md |
integrations/with-litestar/pyproject.toml |
integrations/with-litestar/src/with_litestar/__init__.py |
integrations/with-masonite/README.md |
integrations/with-masonite/pyproject.toml |
integrations/with-masonite/src/with_masonite/__init__.py |
integrations/with-pyramid/README.md |
integrations/with-pyramid/pyproject.toml |
integrations/with-pyramid/src/with_pyramid/__init__.py |
integrations/with-quart/README.md |
integrations/with-quart/pyproject.toml |
integrations/with-quart/src/with_quart/__init__.py |
integrations/with-robyn/README.md |
integrations/with-robyn/pyproject.toml |
integrations/with-robyn/src/with_robyn/__init__.py |
integrations/with-sanic/README.md |
integrations/with-sanic/pyproject.toml |
integrations/with-sanic/src/with_sanic/__init__.py |
integrations/with-starlette/README.md |
integrations/with-starlette/pyproject.toml |
integrations/with-starlette/src/with_starlette/__init__.py |
integrations/with-tornado/README.md |
integrations/with-tornado/pyproject.toml |
integrations/with-tornado/src/with_tornado/__init__.py |
pyproject.toml |
uv.lock |
High-level PR Summary
This PR performs a major modernization and restructuring of the FastUI tutorials repository. The project migrates from Poetry to uv for dependency management, adopts Python 3.10+ as the minimum version, and removes SQLAlchemy and Typer dependencies while adding Robyn support. The refactoring introduces a workspace/monorepo structure with separate
pyproject.tomlfiles for individual examples and components, organizing framework integrations into a newintegrations/directory. Code changes include type hint improvements, formatting fixes, updated pre-commit hooks with newer tool versions, and an expanded.gitignorefile with comprehensive OS and tool-specific patterns. The README is updated to document the new structure and include additional examples.⏱️ Estimated Review Time: 1-3 hours
💡 Review Order Suggestion
pyproject.tomluv.lock.python-version.pre-commit-config.yaml.gitignoreREADME.mdLICENSE.github.yamlexamples/hello_world/main.pyexamples/simple_layout/main.pyexamples/dynamic_page_titles/main.pyexamples/navigation/main.pyexamples/random_number_generator/main.pyexamples/basic_component_gallery/main.pyexamples/simple_form/src/simple_form/main.pyexamples/simple_form/pyproject.tomlexamples/flask_fastui/app.pyexamples/litestar_fastui/app.pyexamples/starlette_fastui/main.pyexamples/robyn_fastui/app.pyexamples/sub_application/main.pycomponents/navbar/pyproject.tomlcomponents/navbar/src/navbar/__init__.pyexamples/simple_form/src/simple_form/__init__.pyintegrations/with-fastapi/pyproject.tomlintegrations/with-fastapi/src/with_fastapi/__init__.pyintegrations/with-flask/pyproject.tomlintegrations/with-flask/src/with_flask/__init__.pyintegrations/with-litestar/pyproject.tomlintegrations/with-litestar/src/with_litestar/__init__.pyintegrations/with-starlette/pyproject.tomlintegrations/with-starlette/src/with_starlette/__init__.pyintegrations/with-robyn/pyproject.tomlintegrations/with-robyn/src/with_robyn/__init__.pyintegrations/with-django/pyproject.tomlintegrations/with-django/src/with_django/__init__.pyintegrations/with-quart/pyproject.tomlintegrations/with-quart/src/with_quart/__init__.pyintegrations/with-blacksheep/pyproject.tomlintegrations/with-blacksheep/src/with_blacksheep/__init__.pyintegrations/with-bottle/pyproject.tomlintegrations/with-bottle/src/with_bottle/__init__.pyintegrations/with-emmet/pyproject.tomlintegrations/with-emmet/src/with_emmet/__init__.pyintegrations/with-falcon/pyproject.tomlintegrations/with-falcon/src/with_falcon/__init__.pyintegrations/with-fastapi-sub-application/pyproject.tomlintegrations/with-fastapi-sub-application/src/with_fastapi_sub_application/__init__.pyintegrations/with-hug/pyproject.tomlintegrations/with-hug/src/with_hug/__init__.pyintegrations/with-masonite/pyproject.tomlintegrations/with-masonite/src/with_masonite/__init__.pyintegrations/with-pyramid/pyproject.tomlintegrations/with-pyramid/src/with_pyramid/__init__.pyintegrations/with-sanic/pyproject.tomlintegrations/with-sanic/src/with_sanic/__init__.pyintegrations/with-tornado/pyproject.tomlintegrations/with-tornado/src/with_tornado/__init__.pyexamples/hello_world/README.mdexamples/simple_layout/README.mdexamples/dynamic_page_titles/README.mdexamples/navigation/README.mdexamples/random_number_generator/README.mdexamples/basic_component_gallery/README.mdexamples/simple_form/README.mdexamples/flask_fastui/README.mdexamples/litestar_fastui/README.mdexamples/starlette_fastui/README.mdexamples/robyn_fastui/README.mdexamples/sub_application/README.mdexamples/hello_world/requirements.txtexamples/simple_layout/requirements.txtexamples/dynamic_page_titles/requirements.txtexamples/navigation/requirements.txtexamples/random_number_generator/requirements.txtexamples/basic_component_gallery/requirements.txtexamples/flask_fastui/requirements.txtexamples/litestar_fastui/requirements.txtexamples/starlette_fastui/requirements.txtexamples/robyn_fastui/requirements.txtexamples/sub_application/requirements.txtcomponents/navbar/README.mdintegrations/with-fastapi/README.mdintegrations/with-flask/README.mdintegrations/with-litestar/README.mdintegrations/with-starlette/README.mdintegrations/with-robyn/README.mdintegrations/with-django/README.mdintegrations/with-quart/README.mdintegrations/with-blacksheep/README.mdintegrations/with-bottle/README.mdintegrations/with-emmet/README.mdintegrations/with-falcon/README.mdintegrations/with-fastapi-sub-application/README.mdintegrations/with-hug/README.mdintegrations/with-masonite/README.mdintegrations/with-pyramid/README.mdintegrations/with-sanic/README.mdintegrations/with-tornado/README.md