Biblioteca para gerenciamento de parâmetros com padrão Singleton,cache e armazenamento local usando TinyDB.
Project description
Biblioteca ParamManager
Descrição
Biblioteca Python orientada a objetos que implementa o padrão Singleton para interagir com a API de parâmetros. A biblioteca oferece funcionalidades de cache, armazenamento local com TinyDB e fallback automático em caso de indisponibilidade da API.
Funcionalidades
- Padrão Singleton: Garante que exista apenas uma instância da classe de acesso à API
- Cache: Armazena resultados em memória por até 1 hora para reduzir chamadas à API
- Armazenamento Local: Usa TinyDB para persistir dados localmente
- Fallback Automático: Utiliza dados locais quando a API está indisponível
- Recuperação de Parâmetros: Permite buscar todos os parâmetros de um app ou um parâmetro específico
Instalação
pip install param-manager
Uso Básico
from param_manager import ParamManager
# Obter a instância do gerenciador
param_manager = ParamManager.get_instance()
# Recuperar todos os parâmetros de um app
params = param_manager.get_all_params('nome_do_app')
# Recuperar um parâmetro específico
param = param_manager.get_param('nome_do_app', 'NOME_PARAMETRO')
# Limpar o cache para um app específico
param_manager.clear_cache('nome_do_app')
# Obter informações sobre o cache atual
cache_info = param_manager.get_cache_info()
Configuração Avançada
# Configurar com URL de API personalizada, duração de cache e timeout
param_manager = ParamManager.get_instance(
api_url="http://minha-api.exemplo.com",
cache_duration=1800, # 30 minutos
timeout=10 # 10 segundos
)
Comportamento de Fallback
Quando a API está indisponível, a biblioteca automaticamente:
- Tenta acessar a API
- Em caso de falha, busca dados do armazenamento local
- Retorna os dados mais recentes disponíveis localmente
Estrutura de Arquivos
param_manager.py: Implementação principal da bibliotecatest_param_manager.py: Testes unitários para validar o funcionamentoREADME.md: Documentação da bibliotecarequirements.txt: Dependências necessárias
Dependências
- Python 3.8+
- requests
- tinydb
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file param_manager-0.3.9.tar.gz.
File metadata
- Download URL: param_manager-0.3.9.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7788addd87b9879fcf5e61992e2b91d142b620d2e3e58f925c4c22ecb7a5dd0
|
|
| MD5 |
014fcf45c5376ef6b1cd774ab725be5e
|
|
| BLAKE2b-256 |
5e57ed6bfc637ab4cebf78c9afada15c07ea64fac81ee9a957962ff2fd9d78f5
|
File details
Details for the file param_manager-0.3.9-py3-none-any.whl.
File metadata
- Download URL: param_manager-0.3.9-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
524bc9d015b7188acedf8982d52ea84c9f208f5727718864e1a01fc69f032c84
|
|
| MD5 |
b83d87bf7e1a1a54a243b204183a91ed
|
|
| BLAKE2b-256 |
811f80264043fd78bb0e8ab9b485c17a05eee65446cfdbedf88ee635d4da736a
|