Mulesoft Flow Analyzer
A library for analyzing Mulesoft integration projects to generate sequence diagrams or natural language descriptions of each flow.
Before analysis, placeholders in code will attempt to be replaced using values from the property files in the project directory. If there are multiple properties files, you can supply a hierarchy to follow and any omitted properties will not be referenced. This can be helpful if multiple environment property files are in the project.
Depending on your output format, text files and/or diagrams will be generated with file names based on the flow name (with special characters replaced with underscores).
Installation
Install from PyPI:
pip install mulesoft-flow-analyzer
To install a specific version:
pip install mulesoft-flow-analyzer==1.1.3
For development, clone the repository and install in editable mode with test dependencies:
pip install -e ".[dev]"
A CLI that uses this library is available at mulesoft-flow-analyzer-cli.
Maintainers: see Releasing to PyPI.
Diagram Generation
A PlantUML server is required to generate the diagrams. This can either be run locally or using a public service.
Running the PlantUML server locally with Docker
No MuleSoft code is required to be sent to a public server, only the generated UML. If you don't want to send the UML to a public server, you can run the PlantUML server locally.
Pull the PlantUML server image:
docker pull plantuml/plantuml-server
Run the PlantUML server. (In this example, the server will be available on port 8087)
docker run -d -p 8087:8080 plantuml/plantuml-server:jetty
Refer to the Overriding Configuration section for how to specify the server address and port in the configuration file under analyzer_properties -> plantuml.
Alternatively, use the -s argument to specify the server address and port when running the analyzer.
Overriding Configuration
For detailed configuration options, see Configuration Documentation.
Instructions for LLMs
LLMs can be shown the python usage instructions to help them generate code.
Troubleshooting
If you encounter an error, check the log file for more information. The log file is located at the path specified in the configuration file (default is /tmp/mfa-logs/mule_flow_analyzer.log).
If the log file is not found, check the default properties file for the correct path.
The log level can be set to DEBUG to get more information in the configuration file.
Metadata
Release files for mulesoft-flow-analyzer 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mulesoft_flow_analyzer-1.1.3.tar.gz | 27.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mulesoft_flow_analyzer-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.7 kB
Release files / mulesoft_flow_analyzer-1.1.3.tar.gz
| Download URL | mulesoft_flow_analyzer-1.1.3.tar.gz |
|---|---|
| Size | 27.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38ab584922fa3eeba4d923bddde9b47fec59b5837fe5e55aadca055fc9ae7041
|
|
BLAKE2b-256 checksum How to use checksums |
94cb06181f5bfd2708071142ebe2aa4b711b3f2315a6c4c7c48707644594d8e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|
Release files / mulesoft_flow_analyzer-1.1.3-py3-none-any.whl
| Download URL | mulesoft_flow_analyzer-1.1.3-py3-none-any.whl |
|---|---|
| Size | 28.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
466c4149873a557f8be1de19bd8f55c2b2a6f69d28c4ffa09d062f84f0fae5c5
|
|
BLAKE2b-256 checksum How to use checksums |
7f09e71dfb329d2fdd1e72ee12fd1595f1aecbcc3eef8be6edce9be4852570db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.7
|