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.
- flet_wizards-0.1.0/.gitignore +169 -0
- flet_wizards-0.1.0/PKG-INFO +78 -0
- flet_wizards-0.1.0/README.md +55 -0
- flet_wizards-0.1.0/pyproject.toml +84 -0
- flet_wizards-0.1.0/src/flet_wizards/__init__.py +35 -0
- flet_wizards-0.1.0/src/flet_wizards/auth/__init__.py +1 -0
- flet_wizards-0.1.0/src/flet_wizards/auth/login.py +296 -0
- flet_wizards-0.1.0/src/flet_wizards/auth/recovery.py +402 -0
- flet_wizards-0.1.0/src/flet_wizards/auth/register.py +445 -0
- flet_wizards-0.1.0/src/flet_wizards/core/__init__.py +41 -0
- flet_wizards-0.1.0/src/flet_wizards/core/base_state.py +90 -0
- flet_wizards-0.1.0/src/flet_wizards/core/base_wizard.py +359 -0
- flet_wizards-0.1.0/src/flet_wizards/core/components.py +131 -0
- flet_wizards-0.1.0/src/flet_wizards/core/mock_data.py +56 -0
- flet_wizards-0.1.0/src/flet_wizards/core/platform_guard.py +102 -0
- flet_wizards-0.1.0/src/flet_wizards/core/registry.py +58 -0
- flet_wizards-0.1.0/src/flet_wizards/core/snack.py +95 -0
- flet_wizards-0.1.0/src/flet_wizards/core/theme.py +93 -0
- flet_wizards-0.1.0/src/flet_wizards/profile/__init__.py +1 -0
- flet_wizards-0.1.0/src/flet_wizards/profile/avatar.py +541 -0
- flet_wizards-0.1.0/src/flet_wizards/profile/edit.py +461 -0
- flet_wizards-0.1.0/src/flet_wizards/profile/setup.py +502 -0
|
@@ -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
|
+
[](https://www.python.org/)
|
|
27
|
+
[](https://flet.dev)
|
|
28
|
+
[](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
|
+
[](https://www.python.org/)
|
|
4
|
+
[](https://flet.dev)
|
|
5
|
+
[](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."""
|