keyrunes-python-sdk 0.0.1__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.
- keyrunes_python_sdk-0.0.1/CHANGELOG.md +105 -0
- keyrunes_python_sdk-0.0.1/LICENSE +661 -0
- keyrunes_python_sdk-0.0.1/PKG-INFO +880 -0
- keyrunes_python_sdk-0.0.1/README.md +847 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/__init__.py +52 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/client.py +565 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/config.py +203 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/decorators.py +248 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/exceptions.py +43 -0
- keyrunes_python_sdk-0.0.1/keyrunes_sdk/models.py +100 -0
- keyrunes_python_sdk-0.0.1/pyproject.toml +109 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
|
|
4
|
+
|
|
5
|
+
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/),
|
|
6
|
+
e este projeto adere ao [Semantic Versioning](https://semver.org/lang/pt-BR/).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2025-12-03
|
|
9
|
+
|
|
10
|
+
### Adicionado
|
|
11
|
+
|
|
12
|
+
#### Funcionalidades Core
|
|
13
|
+
- Cliente `KeyrunesClient` completo para interação com Keyrunes API
|
|
14
|
+
- Autenticação com login de usuário e admin
|
|
15
|
+
- Registro de usuário e admin com validação
|
|
16
|
+
- Verificação de pertencimento a grupos
|
|
17
|
+
- Obtenção de informações de usuários
|
|
18
|
+
|
|
19
|
+
#### Decorators
|
|
20
|
+
- `@require_group()` - Decorator para verificar grupos de usuários
|
|
21
|
+
- `@require_admin()` - Decorator para verificar privilégios de admin
|
|
22
|
+
- Suporte para múltiplos grupos (ANY ou ALL)
|
|
23
|
+
- Sistema de client global para uso sem passar client explicitamente
|
|
24
|
+
|
|
25
|
+
#### Modelos Pydantic
|
|
26
|
+
- `User` - Modelo de usuário com validação
|
|
27
|
+
- `Token` - Modelo de token JWT
|
|
28
|
+
- `Group` - Modelo de grupo
|
|
29
|
+
- `UserRegistration` - Dados de registro de usuário
|
|
30
|
+
- `AdminRegistration` - Dados de registro de admin
|
|
31
|
+
- `LoginCredentials` - Credenciais de login
|
|
32
|
+
- `GroupCheck` - Resultado de verificação de grupo
|
|
33
|
+
|
|
34
|
+
#### Exceções Customizadas
|
|
35
|
+
- `KeyrunesError` - Exceção base
|
|
36
|
+
- `AuthenticationError` - Erro de autenticação
|
|
37
|
+
- `AuthorizationError` - Erro de autorização
|
|
38
|
+
- `GroupNotFoundError` - Grupo não encontrado
|
|
39
|
+
- `UserNotFoundError` - Usuário não encontrado
|
|
40
|
+
- `InvalidTokenError` - Token inválido
|
|
41
|
+
- `NetworkError` - Erro de rede
|
|
42
|
+
|
|
43
|
+
#### Sistema de Configuração Global
|
|
44
|
+
- `configure()` - Configura client global
|
|
45
|
+
- `get_global_client()` - Obtém client global
|
|
46
|
+
- `clear_global_client()` - Limpa client global
|
|
47
|
+
- Thread-safe com Lock
|
|
48
|
+
|
|
49
|
+
#### Desenvolvimento e Testes
|
|
50
|
+
- Docker Compose completo com Keyrunes, PostgreSQL e Redis
|
|
51
|
+
- 78 testes com 99% de cobertura
|
|
52
|
+
- Testes usando pytest, factory-boy e faker
|
|
53
|
+
- Exemplos práticos de uso
|
|
54
|
+
- Makefile com comandos úteis
|
|
55
|
+
- Configuração completa de CI/CD
|
|
56
|
+
|
|
57
|
+
#### Documentação
|
|
58
|
+
- README.md completo com exemplos
|
|
59
|
+
- TESTING.md com guia de testes
|
|
60
|
+
- Docstrings em todas as funções
|
|
61
|
+
- Type hints completos
|
|
62
|
+
- Exemplos práticos em `examples/`
|
|
63
|
+
|
|
64
|
+
### Detalhes Técnicos
|
|
65
|
+
|
|
66
|
+
- Python 3.8.1+ compatível
|
|
67
|
+
- Gerenciamento com Poetry
|
|
68
|
+
- Validação com Pydantic 2.0
|
|
69
|
+
- Type hints completos
|
|
70
|
+
- Thread-safe
|
|
71
|
+
- Context manager support
|
|
72
|
+
|
|
73
|
+
### Testes
|
|
74
|
+
|
|
75
|
+
- 78 testes implementados
|
|
76
|
+
- 99% de cobertura de código
|
|
77
|
+
- Testes unitários e de integração
|
|
78
|
+
- Factories com factory-boy
|
|
79
|
+
- Dados fake com Faker
|
|
80
|
+
|
|
81
|
+
### Ferramentas de Desenvolvimento
|
|
82
|
+
|
|
83
|
+
- Black para formatação
|
|
84
|
+
- isort para organização de imports
|
|
85
|
+
- flake8 para linting
|
|
86
|
+
- mypy para type checking
|
|
87
|
+
- pytest para testes
|
|
88
|
+
|
|
89
|
+
## [Unreleased]
|
|
90
|
+
|
|
91
|
+
### Planejado
|
|
92
|
+
|
|
93
|
+
- Suporte para refresh token automático
|
|
94
|
+
- Cache de verificações de grupo
|
|
95
|
+
- Suporte para OIDC
|
|
96
|
+
- Integração com FastAPI
|
|
97
|
+
- Integração com Flask
|
|
98
|
+
- Integração com Django
|
|
99
|
+
- Mais exemplos práticos
|
|
100
|
+
- Documentação com Sphinx
|
|
101
|
+
- Publicação no PyPI
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
Para mais detalhes sobre cada versão, veja os [releases no GitHub](https://github.com/jonatasoli/keyurnes-sdk-python-dark/releases).
|