Skip to main content

Python to Maestro Converter

A simple tool to convert existing Python automation scripts (Selenium, Appium) into Maestro YAML flows.

Installation

pip install pythontomaestro

Usage

pythontomaestro <input_file> <output_dir> [--app-id APP_ID]

Example:

pythontomaestro tests/my_test.py output/ --app-id com.acme.myapp

This will read tests/my_test.py, convert the automation steps, and save the resulting YAML flows into the output/ directory (e.g., output/test_login_success.yaml).

--app-id sets the target application's Maestro appId. It defaults to com.example.app for backward compatibility; production flows should pass the real application ID.

Features

  • Parses Python AST to extract automation steps.
  • Maps Selenium/Appium commands (click, input, navigate) to Maestro commands (tapOn, inputText, openLink).
  • Generates valid Maestro YAML flows.

⚠️ Limitations & Manual Review

Not everything can be converted automatically.

Python scripts often contain complex logic (loops, conditionals, custom helper methods) that do not map 1:1 to Maestro's declarative YAML syntax.

When the tool encounters such logic, it will:

  1. Log a warning in the console.
  2. Insert a TODO_UNSUPPORTED_ACTION in the generated YAML file.
  3. Add a top-level warning comment to the file.

Example:

# WARNING: This flow contains unsupported actions (TODOs). Manual review required.
- tapOn:
    text: Login
- TODO_UNSUPPORTED_ACTION: 'Unsupported control flow: If statement (Suggestion: Unroll loops or use runScript for simple logic)'

You must manually review the generated YAML files and address any TODO items.

Author

Dhiraj Das · Follow @dkkkkd on X

Metadata

Release files for pythontomaestro 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythontomaestro 0.1.1
File Size Uploaded Provenance
pythontomaestro-0.1.1.tar.gz 7.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pythontomaestro 0.1.1
File Interpreter ABI Platform
pythontomaestro-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.1 kB

Release files / pythontomaestro-0.1.1.tar.gz

Download URL pythontomaestro-0.1.1.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8ce0c7ed1b7b871b6a22f66c9655296fad290fd07aceca7b67be08756a4890d2
BLAKE2b-256 checksum
How to use checksums
f888265d8465dbb8409b881551d2b77b70f071ab7a79de455b101bc62ecd7a79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / pythontomaestro-0.1.1-py3-none-any.whl

Download URL pythontomaestro-0.1.1-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bee1df487b7d82e08aea86425dd77378cf33530e8d2cc5414660ae84cfb094cf
BLAKE2b-256 checksum
How to use checksums
b6caa0bab491ad043d94f91b40835c0f2bc29ba70cabbb1397612363477d9fb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for pythontomaestro 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page