Generate UML diagrams for Airbyte connection streams classes by comparing two git branches. This tool helps visualize the differences in your work across different branches.
- Compares connection streams classes between two branches.
- Generates UML diagrams highlighting added and removed methods and attributes.
- Uses Poetry for dependency management.
- Python 3.10 or higher
- Poetry (for dependency management)
- Clone the repository:
git clone <repository_url>
cd generate-uml- Install dependencies using Poetry:
poetry installTo run the tool and generate UML diagrams, use the following command:
poetry run generate-uml --control-branch=master --target-branch=some-feature-branch --connector-name=connector-name--control-branch: The branch to compare from (e.g.,master).--target-branch: The branch to compare to (e.g.,aldogonzalez8/source/stripe/upgrade-cdk3).--connector-name: The name of the connector (e.g.,source-stripe).--show-only-differences: Optional flag to show only the differences between branches in the UML diagram.
poetry run generate-uml --control-branch=master --target-branch=aldogonzalez8/source/stripe/upgrade-cdk3 --connector-name=source-stripeThis will generate a UML diagram comparing the streams.py file in the source-stripe connector between the master branch and the aldogonzalez8/source/stripe/upgrade-cdk3 branch. The generated UML diagram will be saved as umls/class_uml_colored.png.
- Dynamically resolve the location of
streams.pyfor connectors. - Integrate Airbyte protocols or source methods to determine stream class locations.
generate-uml/
├── generate_uml/
│ ├── __init__.py
│ └── run.py
├── pyproject.toml
└── README.md
Feel free to submit issues, fork the repository, and make pull requests. Any contributions are welcome!
This project is licensed under the MIT License.