Git Product home page Git Product logo

declare4py's Introduction

Disclaimer

This versione is no longer supported and updated, please check the new Declare4Py version here.

Declare4Py

Declare4Py is a novel and easy-to-use Python package that covers the main tasks of process mining based on the declarative modeling language DECLARE. Some functions include also the MP-DECLARE standard, that is, the multi-perspective extension of DECLARE that supports also data constraints. The declare4PY APIs implement simple log analysis, consistency checking, model discovery and query checking from logs by considering (MP)-DECLARE models. Declare4Py can be easily integrated into your process mining software project.

Requirements

We tested Declare4Py with the following software configuration. However, more recent versions of the libraries could also work:

  • MacOs Big Sur==11.1;
  • Python==3.9.7;
  • mlxtend==0.20.0;
  • Pm4Py==2.2.21;
  • Pandas==1.3.4;

Installation

Declare4Py can be easily installed by following these steps:

  1. download the repository;
  2. enter into the dist folder;
  3. run pip install declare4py-1.0.0.tar.gz.

Tutorials

The tutorials/ folder contains a walk-through of Declare4Py. In order, the tutorials cover the following topics:

  • System overview: an overview of the Python modules (and dependencies) composing Declare4Py;
  • Log analysis: simple functions to extract useful information from logs;
  • Model checking: check what are the traces that satisfy a given DECLARE model;
  • Model Discovery: discover what are the most satisfied DECLARE constraints in a given log;
  • Query Checking: discover what are the activities that make an input DECLARE constraint satisfied in a given log.

The tutorials are Jupyter notebooks and consider the Sepsis cases log.

Repository Structure

  • src/declare4py/api_functions.py -- core system containing the main Declare4Py functions.
  • src/declare4py/declare4py.py -- a wrapper to the main Declare4Py functions containing the main Declare4Py class.
  • src/declare4py/constraint_checkers/ -- the implementation of the checkers of the DECLARE constraints.
  • src/declare4py/models/ -- data models supporting the data structures for Declare4Py.
  • docs/declare4py/index.html -- documentation for Declare4Py in html format.
  • dist -- built package containing Declare4Py for easing the user with the installation.
  • tests/ -- a collection of tests for computing the Declare4Py performance.
  • tutorials/ -- tutorials to start with Declare4Py,

Citing Declare4Py

If you use Declare4Py in your research, please use the following BibTeX entry.

@inproceedings{DonadelloRMS22,
  author    = {Ivan Donadello and
               Francesco Riva and
               Fabrizio Maria Maggi and
               Aladdin Shikhizada},
  title     = {Declare4Py: {A} Python Library for Declarative Process Mining},
  booktitle = {{BPM} (PhD/Demos)},
  series    = {{CEUR} Workshop Proceedings},
  volume    = {3216},
  pages     = {117--121},
  publisher = {CEUR-WS.org},
  year      = {2022}
}

declare4py's People

Contributors

francxx96 avatar ivandonadello avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

declare4py's Issues

Problem in running the tutorial on discovery

Hi all, I am trying to run the tutorial notebook for discovery. When trying to compute the itemsets, I get the following error:
File "/usr/local/lib/python3.11/site-packages/declare4py/declare4py.py", line 85, in activities_log_projection
tmp_trace.append(event["concept:name"])
~~~~~^^^^^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

Does the python notebook run on your end? Any help would be much appreciated.
Best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.