SDK para criar sistemas de monitoramento termico, rastreabilidade e relatorios derivados do MTChart Pro.
Project description
MTChart SDK
SDK para desenvolvedores criarem sistemas semelhantes ao MTChart Pro usando classes e metodos reutilizaveis.
Esta primeira versao fica separada do aplicativo desktop e entrega um nucleo limpo para:
- cadastrar processos termicos;
- validar leituras de temperatura;
- calcular previsao de saida;
- registrar catalogo de pecas e PN em backend escolhido pelo desenvolvedor;
- montar dados de rastreabilidade sem depender da interface Flet;
- calcular pastas de saida por ano/mes, forno e tipo de arquivo;
- padronizar nomes de logs, controle de entradas e numeros de relatorio.
Instalacao
python -m pip install mtchart-sdk
Exemplo rapido
from datetime import datetime
from mtchart_sdk import MTChartService, PartItem, PenConfig, ProcessInput
service = MTChartService()
process = service.create_process(
ProcessInput(
report_number="CH-0001",
project="OS-123",
process_name="Alivio de fragilizacao",
oven="Forno 01",
relief_hours=3,
pen=PenConfig(id="1", name="Pena 1", stabilization_target=189, low_limit=175.9),
items=[
PartItem(name="Suporte", pn="PN-001", sn="SN-001", qty=1),
],
started_at=datetime(2026, 6, 28, 8, 0, 0),
)
)
reading = service.evaluate_reading(process, value=188.7)
print(process.report_number)
print(reading.status)
print(reading.can_start_process)
Estrutura
mtchart_sdk.models: modelos de dados do processo.mtchart_sdk.rules: regras puras de temperatura e tempo.mtchart_sdk.reports: utilitarios de relatorio, log, lote, data e rastreabilidade.mtchart_sdk.output_paths: organizacao de pastas de saida igual ao MTChart Pro.mtchart_sdk.storage: contrato de catalogo e backend SQLite padrao.mtchart_sdk.service: fachada principal para uso por outros sistemas.mtchart_sdk.cli: demonstracao de linha de comando para validar instalacao.examples/basic_process.py: exemplo minimo executavel.
API principal
MTChartService.create_process(data): normaliza pecas, calcula quantidade total e previsao de saida.MTChartService.evaluate_reading(process, value): classifica leitura comoOK,LOW,HIGHouN/A.MTChartService.search_parts(term): consulta o catalogo local de pecas por nome ou PN.MTChartService.build_output_paths(root, reference_date, oven=...): calcula LOGS, controle, PDFs e graficos por periodo.MTChartService.parts_control_path(root, process): monta o caminho do controle de pecas usando o numero do relatorio.MTChartService.report_summary(process): resume itens, quantidade total e dados principais do relatorio.clean_identifier(value): remove prefixos comuns comoPN:,P/N:,LOTE:eBATCH:.format_report_number(value): troca/por-para nomes de arquivo estaveis.temperature_log_filename(identity): gera o nome do log Excel por report number, PN e SN.
Banco de dados flexivel
O SDK usa SQLite por padrao para facilitar o primeiro uso:
from mtchart_sdk import MTChartService
service = MTChartService(catalog_db="catalogo.db")
Para usar PostgreSQL, MySQL, SQL Server, MongoDB, uma API interna ou qualquer
outro armazenamento, injete um backend proprio com os metodos save() e
search():
from mtchart_sdk import MTChartService
class MeuCatalogo:
def save(self, name: str, pn: str, increment: bool = True) -> None:
# Grave em qualquer banco, ORM ou servico externo.
...
def search(self, term: str = "", limit: int = 100) -> list[dict[str, object]]:
# Retorne dicts com, no minimo, name e pn.
return []
service = MTChartService(catalog=MeuCatalogo())
Esse contrato deixa as regras do MTChart independentes do banco. SQLite continua disponivel como backend padrao, mas nao e uma obrigacao para quem integra o SDK.
CLI de demonstracao
Depois de instalar localmente, rode:
mtchart-sdk-demo --value 188.7
Ou sem instalar como script:
python -m mtchart_sdk.cli --catalog-db .tmp_demo.db --value 188.7
O comando cria um processo ficticio, avalia a leitura e retorna um JSON com status, previsao de saida e resultados do catalogo local.
Validacao local
Para validar uma copia local do SDK durante desenvolvimento:
python tools/validate_package.py
O validador confere metadados, compila os modulos, roda testes e executa o exemplo/CLI de demonstracao.
Status
Versao 0.2.0. A API publica acompanha as atualizacoes recentes de catalogo, rastreabilidade, report number, pastas de relatorio e utilitarios de log.
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 mtchart_sdk-0.2.0.tar.gz.
File metadata
- Download URL: mtchart_sdk-0.2.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a548a48f4dfe879db1d16a43ca9cbc53f840a0554a8e4bc05dbbf04d9a0f827e
|
|
| MD5 |
3488b28e32ce259bc146d7666a450ab4
|
|
| BLAKE2b-256 |
8a9bd938763ce18b0b289a95c4c4076259d4d1e64b01e92b2a141462d8af24b8
|
Provenance
The following attestation bundles were made for mtchart_sdk-0.2.0.tar.gz:
Publisher:
release.yml on Romero-Softwares/mtchart_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mtchart_sdk-0.2.0.tar.gz -
Subject digest:
a548a48f4dfe879db1d16a43ca9cbc53f840a0554a8e4bc05dbbf04d9a0f827e - Sigstore transparency entry: 2082881902
- Sigstore integration time:
-
Permalink:
Romero-Softwares/mtchart_sdk@7623e2f713bb89e86b45f6f71fc75719ca6a765f -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Romero-Softwares
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7623e2f713bb89e86b45f6f71fc75719ca6a765f -
Trigger Event:
push
-
Statement type:
File details
Details for the file mtchart_sdk-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mtchart_sdk-0.2.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1005753cf1a442bc9c5dc9c0e1a48c20a25f7ded97db8f85084db81f754700bb
|
|
| MD5 |
408393367139cc888654dd3a29ca6ef1
|
|
| BLAKE2b-256 |
a36aa7315b127b3c84b0cfef3fa940cb9d3ded05b8f60e7f86d761b659497737
|
Provenance
The following attestation bundles were made for mtchart_sdk-0.2.0-py3-none-any.whl:
Publisher:
release.yml on Romero-Softwares/mtchart_sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mtchart_sdk-0.2.0-py3-none-any.whl -
Subject digest:
1005753cf1a442bc9c5dc9c0e1a48c20a25f7ded97db8f85084db81f754700bb - Sigstore transparency entry: 2082882462
- Sigstore integration time:
-
Permalink:
Romero-Softwares/mtchart_sdk@7623e2f713bb89e86b45f6f71fc75719ca6a765f -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Romero-Softwares
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7623e2f713bb89e86b45f6f71fc75719ca6a765f -
Trigger Event:
push
-
Statement type: