Skip to main content

Uma biblioteca Python para automação de fluxos lógicos e geração de tabelas verdade.

Project description

logicflowengine

Uma biblioteca Python profissional para automação de fluxos lógicos, operações booleanas e construção de tabelas verdade.

Ideal para projetos científicos, educacionais, industriais e empresariais que demandam precisão e flexibilidade.


Principais Funcionalidades

  • Avaliação de Expressões Lógicas: Avalie expressões com variáveis dinâmicas.
  • Fluxo Lógico Automatizado: Execute sequências condicionais para automação de decisões.
  • Geração de Tabela Verdade: Crie tabelas verdade a partir de qualquer expressão lógica.

Instalação

Via PyPI:

pip install logicflowengine==0.1.2

Via GitHub (repositório):

git clone https://github.com/Mateusdang/logicflowengine.git
cd logicflowengine
pip install .

Uso Rápido

from logicflowengine import evaluate_expression, logic_flow, truth_table

# Avaliando uma expressão lógica
expr = "(A and B) or not C"
variables = {"A": True, "B": False, "C": False}
resultado = evaluate_expression(expr, variables)
print(resultado)  # True

# Criando um fluxo de lógica automatizado
steps = [
    {"condition": "A and B", "action": lambda ctx: ctx.update({"result": 1})},
    {"condition": "not A", "action": lambda ctx: ctx.update({"result": 0})}
]
context = {"A": True, "B": False}
final = logic_flow(steps, context)
print(final)  # {'A': True, 'B': False, 'result': 0}

# Gerando tabela verdade
tabela = truth_table("A and not B", ["A", "B"])
for linha in tabela:
    print(linha)
# Saída:
# {'A': False, 'B': False, 'result': False}
# {'A': False, 'B': True, 'result': False}
# {'A': True, 'B': False, 'result': True}
# {'A': True, 'B': True, 'result': False}

Exemplos Avançados

1. Avaliação de Expressões Complexas

from logicflowengine import evaluate_expression

expr = "((A or B) and (not C or D)) and (E == False)"
variables = {"A": True, "B": False, "C": True, "D": True, "E": False}
print(evaluate_expression(expr, variables))  # True

2. Fluxo Lógico com Funções Customizadas

from logicflowengine import logic_flow

def acao_personalizada(ctx):
    ctx['resultado'] = ctx.get('valor', 0) * 2

steps = [
    {"condition": "A and (valor > 5)", "action": acao_personalizada},
    {"condition": "not A", "action": lambda ctx: ctx.update({"resultado": -1})}
]
context = {"A": True, "valor": 10}
final = logic_flow(steps, context)
print(final)  # {'A': True, 'valor': 10, 'resultado': 20}

3. Geração de Tabela Verdade com Análise

from logicflowengine import truth_table
import pandas as pd  # Exemplo de integração

expr = "(A or B) and not (C and D)"
variables = ["A", "B", "C", "D"]
tabela = truth_table(expr, variables)
df = pd.DataFrame(tabela)
print(df)
# Filtrar apenas casos onde resultado é True
print(df[df['result'] == True])

4. Uso em Sistemas de Decisão Inteligente

from logicflowengine import evaluate_expression

def tomar_decisao(entrada):
    expr = "(temperatura > 30 and umidade < 50) or alerta"
    return evaluate_expression(expr, entrada)

sensor = {"temperatura": 32, "umidade": 45, "alerta": False}
print(tomar_decisao(sensor))  # True

5. Simulação de Circuito Digital

from logicflowengine import evaluate_expression, truth_table

# Porta lógica XOR
expr = "A != B"
print(evaluate_expression(expr, {"A": True, "B": False}))  # True

# Gerar tabela verdade para XOR
print(truth_table(expr, ["A", "B"]))

Exemplos de Aplicação

  • Automação de testes lógicos em software.
  • Simulação de circuitos digitais e eletrônicos.
  • Ensino de lógica computacional.
  • Construção de sistemas de decisão inteligente.

Documentação das Funções

evaluate_expression(expr: str, variables: dict) -> bool

Avalia uma expressão lógica booleana utilizando variáveis dinâmicas.

Parâmetros:

  • expr: Expressão lógica (ex: "A and not B").
  • variables: Dicionário com variáveis booleanas (ex: {"A": True, "B": False}).

Retorno:

  • Resultado booleano da expressão.

logic_flow(steps: list, context: dict) -> dict

Executa uma sequência condicional de ações baseada em fluxo lógico.

Parâmetros:

  • steps: Lista de dicionários contendo "condition" (expressão lógica) e "action" (função a ser executada).
  • context: Dicionário de contexto (variáveis de entrada).

Retorno:

  • Contexto atualizado após execução dos passos.

truth_table(expr: str, variables: list) -> list

Gera a tabela verdade para uma expressão lógica.

Parâmetros:

  • expr: Expressão lógica (ex: "A and not B").
  • variables: Lista de variáveis presentes na expressão (ex: ["A", "B"]).

Retorno:

  • Lista de dicionários, cada linha representa uma combinação de valores das variáveis e o resultado da expressão.

Licença

Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.


Autor

Desenvolvido por Mateus Dang
GitHub: @Mateusdang


Referências

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

logicflowengine-0.1.2.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

logicflowengine-0.1.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file logicflowengine-0.1.2.tar.gz.

File metadata

  • Download URL: logicflowengine-0.1.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for logicflowengine-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2967ca9fe18f716cb9fbd4b483519d7e4d82386814bc1e498b17d8e29e04a841
MD5 d2aaa6a6c93e092f13c4e8a92a5e5f5a
BLAKE2b-256 49a58aaece0e2a72145f2c6174e9f8aa589fba5776d60a36784ae287530e35fe

See more details on using hashes here.

File details

Details for the file logicflowengine-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for logicflowengine-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99c02d3a0d1d9d385eaa5fc8ea1fe041aebdb1246575487c2d90cef309239822
MD5 766260b6e2da297c0db88303faadab6b
BLAKE2b-256 6d9dfb053c5f4aaa79666a7c9f3cb52aafe72d0f2d5b1966849fadd0bc3e1f95

See more details on using hashes here.

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