Skip to content

cortado-tool/cortado-core

Repository files navigation

Cortado-Core

lint workflow test workflow code coverage

Cortado-core is a Python library that implements various algorithms and methods for interactive/incremental process discovery. Cortado-core is part of the software tool Cortado.

Setup

Using Cortado-Core in Another Project

  • Cortado-core can be used as a dependency in other Python-projects
  • Install cortado-core via pip install 'cortado-core @ git+https://github.com/cortado-tool/cortado-core.git@master'

Contributing

Unit Testing and Code Quality

We highly value code quality and reliability in our project. To ensure this, our Github workflow includes unit testing using pytest and linting using black.

Github Workflow

Our Github workflow automatically performs essential checks whenever code changes are pushed to the repository.

Unit Tests

The job unit_tests is responsible for running unit tests using pytest. It ensures that our codebase remains robust and free from logical errors. If any tests fail, the workflow provides prompt feedback, enabling us to quickly identify and address any issues.

Code Linting

We're committed to maintaining consistent code formatting and style. The workflow includes a linting job that uses black, a powerful code formatter for Python. This ensures that our code adheres to a unified and clean style, enhancing readability and maintainability.

Running Unit Tests Locally

You can also run the pytest unit tests locally on your development environment. Ensure you have pytest installed, and then navigate to the project's root directory and run: pytest cortado_core/tests/

This will execute the unit tests and provide you with immediate feedback on their status.

Development and Code Formatting

During development, we encourage you to utilize black for code formatting. The black tool helps maintain a consistent style across our codebase and minimizes formatting-related discussions. It's recommended to run black on your code before committing changes. You can do so using the following command: black .

By incorporating black into your workflow, you contribute to maintaining a clean and organized codebase.

Relevant Publications for Cortado

Publication Authors Year Relevant source code
Defining and visualizing process execution variants from partially ordered event data Schuster, D., Zerbato, F., van Zelst, S.J., van der Aalst, W.M.P. 2024
Incremental Discovery of Process Models Using Trace Fragments Schuster, D., Föcking, N., van Zelst, S.J., van der Aalst, W.M.P. 2023 cortado_core/lca_approach.py
Mining Frequent Infix Patterns from Concurrency-Aware Process Execution Variant Martini, M., Schuster, D., Wil M. P. van der Aalst 2023 cortado_core/eventually_follows_pattern_mining/
Cortado: A dedicated process mining tool for interactive process discovery Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. 2023
Control-Flow-Based Querying of Process Executions from Partially Ordered Event Data Schuster, D., Martini, M., van Zelst, S.J., van der Aalst, W.M.P. 2022 cortado_core/variant_query_language/
Conformance Checking for Trace Fragments Using Infix and Postfix Alignments Schuster, D., Föcking, N., van Zelst, S.J., van der Aalst, W.M.P. 2022 cortado_core/alignments/
Temporal Performance Analysis for Block-Structured Process Models in Cortado Schuster, D., Schade, L., van Zelst, S.J., van der Aalst, W.M.P. 2022 cortado_core/performance/
A Generic Trace Ordering Framework for Incremental Process Discovery Schuster, D., Domnitsch, E., van Zelst, S.J., van der Aalst, W.M.P. 2022 cortado_core/trace_ordering/
Freezing Sub-models During Incremental Process Discovery Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. 2021 cortado_core/freezing/
Visualizing Trace Variants from Partially Ordered Event Data Schuster, D., Schade, L., van Zelst, S.J., van der Aalst, W.M.P. 2021 cortado_core/utils/
Cortado—An Interactive Tool for Data-Driven Process Discovery and Modeling Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. 2021
Incremental Discovery of Hierarchical Process Models Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. 2020

Citing Cortado

  • If you are using or referencing Cortado in scientific work, please cite Cortado as follows.

    Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. (2021). Cortado—An Interactive Tool for Data-Driven Process Discovery and Modeling. In: Application and Theory of Petri Nets and Concurrency. PETRI NETS 2021. Lecture Notes in Computer Science, vol 12734. Springer, Cham. https://doi.org/10.1007/978-3-030-76983-3_23

    Download citation .BIB  .RIS  .ENW

    DOI 10.1007/978-3-030-76983-3_23

  • If you are using or referencing a specific algorithm implemented in Cortado/cortado-core in your scientific work, please cite the corresponding publication.

Contact

If you are interested in Cortado, get in touch if you have any questions or custom request via Mail - [email protected]