Skip to main content

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 como OK, LOW, HIGH ou N/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 como PN:, P/N:, LOTE: e BATCH:.
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mtchart_sdk-0.2.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mtchart_sdk-0.2.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

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

Hashes for mtchart_sdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a548a48f4dfe879db1d16a43ca9cbc53f840a0554a8e4bc05dbbf04d9a0f827e
MD5 3488b28e32ce259bc146d7666a450ab4
BLAKE2b-256 8a9bd938763ce18b0b289a95c4c4076259d4d1e64b01e92b2a141462d8af24b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtchart_sdk-0.2.0.tar.gz:

Publisher: release.yml on Romero-Softwares/mtchart_sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for mtchart_sdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1005753cf1a442bc9c5dc9c0e1a48c20a25f7ded97db8f85084db81f754700bb
MD5 408393367139cc888654dd3a29ca6ef1
BLAKE2b-256 a36aa7315b127b3c84b0cfef3fa940cb9d3ded05b8f60e7f86d761b659497737

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page