Skip to content

refactor(modernization): overall modernization#39

Open
hasansezertasan wants to merge 4 commits intomainfrom
refactor/modernization
Open

refactor(modernization): overall modernization#39
hasansezertasan wants to merge 4 commits intomainfrom
refactor/modernization

Conversation

@hasansezertasan
Copy link
Owner

@hasansezertasan hasansezertasan commented Feb 6, 2026

  • Remove typer and sqlalchemy, add robyn.
  • Plans with-in plans.
  • refactor(main): refactor project structure and update example files

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.toml files for individual examples and components, organizing framework integrations into a new integrations/ directory. Code changes include type hint improvements, formatting fixes, updated pre-commit hooks with newer tool versions, and an expanded .gitignore file 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
Order File Path
1 pyproject.toml
2 uv.lock
3 .python-version
4 .pre-commit-config.yaml
5 .gitignore
6 README.md
7 LICENSE
8 .github.yaml
9 examples/hello_world/main.py
10 examples/simple_layout/main.py
11 examples/dynamic_page_titles/main.py
12 examples/navigation/main.py
13 examples/random_number_generator/main.py
14 examples/basic_component_gallery/main.py
15 examples/simple_form/src/simple_form/main.py
16 examples/simple_form/pyproject.toml
17 examples/flask_fastui/app.py
18 examples/litestar_fastui/app.py
19 examples/starlette_fastui/main.py
20 examples/robyn_fastui/app.py
21 examples/sub_application/main.py
22 components/navbar/pyproject.toml
23 components/navbar/src/navbar/__init__.py
24 examples/simple_form/src/simple_form/__init__.py
25 integrations/with-fastapi/pyproject.toml
26 integrations/with-fastapi/src/with_fastapi/__init__.py
27 integrations/with-flask/pyproject.toml
28 integrations/with-flask/src/with_flask/__init__.py
29 integrations/with-litestar/pyproject.toml
30 integrations/with-litestar/src/with_litestar/__init__.py
31 integrations/with-starlette/pyproject.toml
32 integrations/with-starlette/src/with_starlette/__init__.py
33 integrations/with-robyn/pyproject.toml
34 integrations/with-robyn/src/with_robyn/__init__.py
35 integrations/with-django/pyproject.toml
36 integrations/with-django/src/with_django/__init__.py
37 integrations/with-quart/pyproject.toml
38 integrations/with-quart/src/with_quart/__init__.py
39 integrations/with-blacksheep/pyproject.toml
40 integrations/with-blacksheep/src/with_blacksheep/__init__.py
41 integrations/with-bottle/pyproject.toml
42 integrations/with-bottle/src/with_bottle/__init__.py
43 integrations/with-emmet/pyproject.toml
44 integrations/with-emmet/src/with_emmet/__init__.py
45 integrations/with-falcon/pyproject.toml
46 integrations/with-falcon/src/with_falcon/__init__.py
47 integrations/with-fastapi-sub-application/pyproject.toml
48 integrations/with-fastapi-sub-application/src/with_fastapi_sub_application/__init__.py
49 integrations/with-hug/pyproject.toml
50 integrations/with-hug/src/with_hug/__init__.py
51 integrations/with-masonite/pyproject.toml
52 integrations/with-masonite/src/with_masonite/__init__.py
53 integrations/with-pyramid/pyproject.toml
54 integrations/with-pyramid/src/with_pyramid/__init__.py
55 integrations/with-sanic/pyproject.toml
56 integrations/with-sanic/src/with_sanic/__init__.py
57 integrations/with-tornado/pyproject.toml
58 integrations/with-tornado/src/with_tornado/__init__.py
59 examples/hello_world/README.md
60 examples/simple_layout/README.md
61 examples/dynamic_page_titles/README.md
62 examples/navigation/README.md
63 examples/random_number_generator/README.md
64 examples/basic_component_gallery/README.md
65 examples/simple_form/README.md
66 examples/flask_fastui/README.md
67 examples/litestar_fastui/README.md
68 examples/starlette_fastui/README.md
69 examples/robyn_fastui/README.md
70 examples/sub_application/README.md
71 examples/hello_world/requirements.txt
72 examples/simple_layout/requirements.txt
73 examples/dynamic_page_titles/requirements.txt
74 examples/navigation/requirements.txt
75 examples/random_number_generator/requirements.txt
76 examples/basic_component_gallery/requirements.txt
77 examples/flask_fastui/requirements.txt
78 examples/litestar_fastui/requirements.txt
79 examples/starlette_fastui/requirements.txt
80 examples/robyn_fastui/requirements.txt
81 examples/sub_application/requirements.txt
82 components/navbar/README.md
83 integrations/with-fastapi/README.md
84 integrations/with-flask/README.md
85 integrations/with-litestar/README.md
86 integrations/with-starlette/README.md
87 integrations/with-robyn/README.md
88 integrations/with-django/README.md
89 integrations/with-quart/README.md
90 integrations/with-blacksheep/README.md
91 integrations/with-bottle/README.md
92 integrations/with-emmet/README.md
93 integrations/with-falcon/README.md
94 integrations/with-fastapi-sub-application/README.md
95 integrations/with-hug/README.md
96 integrations/with-masonite/README.md
97 integrations/with-pyramid/README.md
98 integrations/with-sanic/README.md
99 integrations/with-tornado/README.md

Need help? Join our Discord

@hasansezertasan hasansezertasan added the enhancement New feature or request label Feb 6, 2026
@hasansezertasan hasansezertasan self-assigned this Feb 6, 2026
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry @hasansezertasan, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

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

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

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant