flet-wizards 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,169 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102
+ *.lock
103
+
104
+ # uv lock — commitado para builds reproduzíveis do app
105
+ !uv.lock
106
+
107
+ # pdm
108
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
109
+ #pdm.lock
110
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
111
+ # in version control.
112
+ # https://pdm.fming.dev/#use-with-ide
113
+ .pdm.toml
114
+
115
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
116
+ __pypackages__/
117
+
118
+ # Celery stuff
119
+ celerybeat-schedule
120
+ celerybeat.pid
121
+
122
+ # SageMath parsed files
123
+ *.sage.py
124
+
125
+ # Environments
126
+ .env
127
+ .venv
128
+ env/
129
+ venv/
130
+ ENV/
131
+ env.bak/
132
+ venv.bak/
133
+
134
+ # Spyder project settings
135
+ .spyderproject
136
+ .spyproject
137
+
138
+ # Rope project settings
139
+ .ropeproject
140
+
141
+ # mkdocs documentation
142
+ /site
143
+
144
+ # mypy
145
+ .mypy_cache/
146
+ .dmypy.json
147
+ dmypy.json
148
+
149
+ # Pyre type checker
150
+ .pyre/
151
+
152
+ # pytype static type analyzer
153
+ .pytype/
154
+
155
+ # Cython debug symbols
156
+ cython_debug/
157
+
158
+ # PyCharm
159
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
160
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
161
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
162
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
163
+ #.idea/
164
+
165
+ # Flet
166
+ storage/
167
+
168
+ # Claude Code — config local por dev
169
+ .claude/
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.4
2
+ Name: flet-wizards
3
+ Version: 0.1.0
4
+ Summary: Multi-step wizard templates for Flet apps — auth, profile, and gallery showcase
5
+ Project-URL: Homepage, https://github.com/Alisonsantos77/flet-wizards
6
+ Project-URL: Repository, https://github.com/Alisonsantos77/flet-wizards
7
+ Project-URL: Issues, https://github.com/Alisonsantos77/flet-wizards/issues
8
+ Author-email: Alison Santos <aprovaxsistemaconcursos@gmail.com>
9
+ License: MIT
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Classifier: Topic :: Software Development :: User Interfaces
17
+ Requires-Python: >=3.12
18
+ Requires-Dist: flet>=0.85.0
19
+ Requires-Dist: loguru>=0.7.3
20
+ Provides-Extra: pipeline
21
+ Requires-Dist: openai>=1.0.0; extra == 'pipeline'
22
+ Description-Content-Type: text/markdown
23
+
24
+ # flet-wizards
25
+
26
+ [![Python](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/)
27
+ [![Flet](https://img.shields.io/badge/flet-0.85+-purple.svg)](https://flet.dev)
28
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
29
+
30
+ Coleção de templates de wizard multi-step prontos para reutilizar em apps Flet.
31
+ Cada template é uma `@ft.component` autocontida com estado reativo (`@ft.observable`),
32
+ sistema de temas (Slate / Emerald / Rose / Azure), validação de plataforma e callback
33
+ `on_complete` tipado. Inclui um gallery showcase estilo Microsoft Store para visualizar
34
+ todos os templates ao vivo durante o desenvolvimento.
35
+
36
+ ## Templates disponíveis
37
+
38
+ | Categoria | Nome | Steps | Descrição |
39
+ |-----------|------|-------|-----------|
40
+ | auth | [Login Clássico](docs/auth/login.md) | 2 | Wizard de login com e-mail e senha em dois steps. |
41
+ | auth | [Recuperar Senha](docs/auth/recovery.md) | 3 | Wizard de recuperação de senha com código de verificação. |
42
+ | auth | [Cadastro](docs/auth/register.md) | 3 | Wizard de cadastro com conta, perfil e confirmação. |
43
+ | profile | [Avatar](docs/profile/avatar.md) | 3 | Wizard de configuração de avatar com 3 origens (arquivo, URL, iniciais). |
44
+ | profile | [Editar Perfil](docs/profile/edit.md) | 3 | Wizard de edição de perfil com diff visual no resumo. |
45
+ | profile | [Setup de Perfil](docs/profile/setup.md) | 3 | Wizard de onboarding com identidade, interesses e preferências. |
46
+
47
+ ## Instalação
48
+
49
+ ```bash
50
+ # em breve no PyPI
51
+ # pip install flet-wizards
52
+ ```
53
+
54
+ Por enquanto, clone o repo e use `uv sync` para instalar as dependências.
55
+
56
+ ## Uso rápido
57
+
58
+ ```python
59
+ import flet as ft
60
+ from flet_wizards.auth.login import AuthLoginWizard
61
+
62
+ async def main(page: ft.Page):
63
+ page.render(lambda: AuthLoginWizard(on_complete=lambda d: print(d)))
64
+
65
+ ft.run(main)
66
+ ```
67
+
68
+ ## Gallery
69
+
70
+ ```powershell
71
+ uv run flet run
72
+ ```
73
+
74
+ Abre o showcase com sidebar por categoria, seletor de tema (4 paletas) e preview ao vivo de cada template.
75
+
76
+ ---
77
+
78
+ _Documentação regenerada automaticamente por `pipeline/cocoindex_pipeline.py`._
@@ -0,0 +1,55 @@
1
+ # flet-wizards
2
+
3
+ [![Python](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/)
4
+ [![Flet](https://img.shields.io/badge/flet-0.85+-purple.svg)](https://flet.dev)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ Coleção de templates de wizard multi-step prontos para reutilizar em apps Flet.
8
+ Cada template é uma `@ft.component` autocontida com estado reativo (`@ft.observable`),
9
+ sistema de temas (Slate / Emerald / Rose / Azure), validação de plataforma e callback
10
+ `on_complete` tipado. Inclui um gallery showcase estilo Microsoft Store para visualizar
11
+ todos os templates ao vivo durante o desenvolvimento.
12
+
13
+ ## Templates disponíveis
14
+
15
+ | Categoria | Nome | Steps | Descrição |
16
+ |-----------|------|-------|-----------|
17
+ | auth | [Login Clássico](docs/auth/login.md) | 2 | Wizard de login com e-mail e senha em dois steps. |
18
+ | auth | [Recuperar Senha](docs/auth/recovery.md) | 3 | Wizard de recuperação de senha com código de verificação. |
19
+ | auth | [Cadastro](docs/auth/register.md) | 3 | Wizard de cadastro com conta, perfil e confirmação. |
20
+ | profile | [Avatar](docs/profile/avatar.md) | 3 | Wizard de configuração de avatar com 3 origens (arquivo, URL, iniciais). |
21
+ | profile | [Editar Perfil](docs/profile/edit.md) | 3 | Wizard de edição de perfil com diff visual no resumo. |
22
+ | profile | [Setup de Perfil](docs/profile/setup.md) | 3 | Wizard de onboarding com identidade, interesses e preferências. |
23
+
24
+ ## Instalação
25
+
26
+ ```bash
27
+ # em breve no PyPI
28
+ # pip install flet-wizards
29
+ ```
30
+
31
+ Por enquanto, clone o repo e use `uv sync` para instalar as dependências.
32
+
33
+ ## Uso rápido
34
+
35
+ ```python
36
+ import flet as ft
37
+ from flet_wizards.auth.login import AuthLoginWizard
38
+
39
+ async def main(page: ft.Page):
40
+ page.render(lambda: AuthLoginWizard(on_complete=lambda d: print(d)))
41
+
42
+ ft.run(main)
43
+ ```
44
+
45
+ ## Gallery
46
+
47
+ ```powershell
48
+ uv run flet run
49
+ ```
50
+
51
+ Abre o showcase com sidebar por categoria, seletor de tema (4 paletas) e preview ao vivo de cada template.
52
+
53
+ ---
54
+
55
+ _Documentação regenerada automaticamente por `pipeline/cocoindex_pipeline.py`._
@@ -0,0 +1,84 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "flet-wizards"
7
+ version = "0.1.0"
8
+ description = "Multi-step wizard templates for Flet apps — auth, profile, and gallery showcase"
9
+ readme = "README.md"
10
+ requires-python = ">=3.12"
11
+ license = { text = "MIT" }
12
+ authors = [
13
+ { name = "Alison Santos", email = "aprovaxsistemaconcursos@gmail.com" }
14
+ ]
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Intended Audience :: Developers",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Programming Language :: Python :: 3.12",
20
+ "Programming Language :: Python :: 3.13",
21
+ "Topic :: Software Development :: User Interfaces",
22
+ "Topic :: Software Development :: Libraries :: Python Modules",
23
+ ]
24
+ dependencies = [
25
+ "flet>=0.85.0",
26
+ "loguru>=0.7.3",
27
+ ]
28
+
29
+ [project.optional-dependencies]
30
+ pipeline = [
31
+ "openai>=1.0.0",
32
+ ]
33
+
34
+ [project.urls]
35
+ Homepage = "https://github.com/Alisonsantos77/flet-wizards"
36
+ Repository = "https://github.com/Alisonsantos77/flet-wizards"
37
+ Issues = "https://github.com/Alisonsantos77/flet-wizards/issues"
38
+
39
+ [dependency-groups]
40
+ dev = [
41
+ "flet-cli>=0.85.0",
42
+ "flet-desktop>=0.85.0",
43
+ "flet-web>=0.85.0",
44
+ ]
45
+
46
+ # ─── Hatch build config ────────────────────────────────────────────────
47
+ # Apenas `flet_wizards` é distribuído. `gallery/`, `pipeline/`, `main.py`
48
+ # raiz e `src/main.py` ficam fora do pacote — são código de desenvolvimento
49
+ # (showcase, geração de docs, entrypoint do flet run) que não interessa
50
+ # a quem instala via pip.
51
+
52
+ [tool.hatch.build.targets.wheel]
53
+ packages = ["src/flet_wizards"]
54
+
55
+ [tool.hatch.build.targets.sdist]
56
+ include = [
57
+ "src/flet_wizards",
58
+ "README.md",
59
+ "pyproject.toml",
60
+ ]
61
+ exclude = [
62
+ "src/gallery",
63
+ "src/main.py",
64
+ "src/assets",
65
+ "pipeline",
66
+ ".github",
67
+ "docs",
68
+ "storage",
69
+ "tests",
70
+ "main.py",
71
+ ]
72
+
73
+ # ─── Flet app config ───────────────────────────────────────────────────
74
+ # Para `flet run` (gallery dev), continua apontando pra src/.
75
+ # Não interfere no build PyPI.
76
+
77
+ [tool.flet]
78
+ org = "com.alisonsantos"
79
+ product = "flet-wizards"
80
+ company = "Alison Santos"
81
+ copyright = "Copyright (C) 2026 by Alison Santos"
82
+
83
+ [tool.flet.app]
84
+ path = "src"
@@ -0,0 +1,35 @@
1
+ """flet-wizards — templates de wizard multi-step para Flet.
2
+
3
+ API pública: as 6 classes de wizard prontas para uso + `WizardTheme`.
4
+ Importação direta a partir do package raiz, sem precisar conhecer a
5
+ sub-estrutura interna (`auth/`, `profile/`, `core/`):
6
+
7
+ ```python
8
+ from flet_wizards import AuthLoginWizard, WizardTheme
9
+
10
+ AuthLoginWizard(theme=WizardTheme.SLATE, on_complete=...)
11
+ ```
12
+
13
+ Para acessar utilitários internos (registry, snack, base_state),
14
+ importe explicitamente do módulo correspondente em `flet_wizards.core`.
15
+ """
16
+
17
+ from flet_wizards.auth.login import AuthLoginWizard
18
+ from flet_wizards.auth.recovery import AuthRecoveryWizard
19
+ from flet_wizards.auth.register import AuthRegisterWizard
20
+ from flet_wizards.core.theme import WizardTheme
21
+ from flet_wizards.profile.avatar import ProfileAvatarWizard
22
+ from flet_wizards.profile.edit import ProfileEditWizard
23
+ from flet_wizards.profile.setup import ProfileSetupWizard
24
+
25
+ __all__ = [
26
+ "AuthLoginWizard",
27
+ "AuthRegisterWizard",
28
+ "AuthRecoveryWizard",
29
+ "ProfileSetupWizard",
30
+ "ProfileEditWizard",
31
+ "ProfileAvatarWizard",
32
+ "WizardTheme",
33
+ ]
34
+
35
+ __version__ = "0.1.0"
@@ -0,0 +1 @@
1
+ """Wizards de autenticação: login, registro, recuperação."""