Roadmap
A living view of where FlaUI for Python is, what is shipped, what is in flight, and what is parked for after v1.0. It mirrors the GitHub milestones and issues β those remain the source of truth; this page is the human-friendly summary.
How to read this
- β Done π§ In progress ποΈ Planned π‘ Wishlist (postβv1)
- Each item links to its tracking issue or milestone where one exists.
Status at a glance
| Milestone | Theme | Status |
|---|---|---|
| Initial release | FlaUI 4 + PythonNet 3 prototype, packaging, PyPI plumbing | β Complete |
| Phase 1 β Exceptions & Identifiers | Pythonic exceptions, identifier system | β Complete |
| Phase 2 β Patterns | 35+ UIA control patterns | β Complete |
| Phase 3 β Elements & ScrollBars | Element wrappers, scrollbars | β Complete |
| Phase 4 β Events | Event handler system, automation events | β Complete |
| Phase 5 β Capturing/Overlay/Video | Screenshots, overlays, video recording | β Complete |
| Phase 6 β Logging/Tools/Enhancers | Logging bridge, tools, Pythonic enhancers | β Complete |
| Phase 0 β Stabilize | Green CI, stable matrix, 100% core coverage | π§ In progress |
| Phase 7 β Docs & Zensical | v1 docs, per-framework guides, API reference | ποΈ Planned |
| Phase 8 β Polish & v1.0 | Release plumbing, beta soak, v1.0.0 | ποΈ Planned |
β Completed
Foundation & packaging
- PythonNet bridge and bundled FlaUI DLLs
- Upgrade to FlaUI 4/5 + PythonNet 3
- Pydantic-backed
AutomationElementmodels -
uv-based packaging and PyPI publishing plumbing - Python 3.10β3.14 support
- Python
AutomationBase+ UIA2/UIA3 facades (#107)
Core API surface (1:1 with FlaUI)
- Complete exception hierarchy +
translate_exceptions(#102, #73) - Identifier system (#98)
- 35+ UI Automation patterns (#91)
- ScrollBar elements (#99)
- XPath navigation (#105)
- Event handler system +
RegisterAutomationEvent(#94, #77) - Screen capturing & video recording (#95)
- Overlay management (#103)
- Logging infrastructure (C#βPython bridge) (#96)
- Tools & utilities incl.
Retryand cursor-busy waiting (#100, #68)
CI & docs platform
- Migrate Windows UI CI from AppVeyor to a hybrid Azure Pipelines + AppVeyor setup (#118)
- Zensical documentation site with auto-generated API reference (mkdocstrings)
Phase 6 β Enhanced Python integration (#87)
-
__repr__on elements - Context-manager support for
Application/Automation(withauto-dispose) - Iterator/collection protocol on element results (
AutomationElementCollectionwith.first,.filter,.where, indexing/iteration) - Fluent waiting + Playwright-style assertions (
expect(el).to_be_visible(),flaui/core/expectations.py) -
py.typedmarker +ty(Astral) type-check gate in CI
π§ In progress
Phase 0 β Stabilize (milestone)
- Achieve ~90β95%
flaui.corecoverage + enforce a coverage gate (#88) - Spinner AutomationID flakiness (#74) β harden locator
- Tree-item flakiness on CI (#76) β wait for items to materialize
-
test_get_control_typesetup flakiness (#82) β harden fixture -
find_all/first_with_optionsmatrix failures (#80) β investigateTreeTraversalOptions -
ListBox.select_by_indexon UIA3/WPF (#83) β fix selection - Notepad tests on Windows 11 Store app (#89) β environment guard
- Document upstream Windows/.NET limitations β ComboBox/WinForms (#75), Toggle on WinForms menus (#78), UIA3 WinForms context menus (#79)
ποΈ Planned
Phase 7 β Docs & Zensical (milestone)
- Comprehensive production docs (#86)
- Worked testing examples (#69)
- pytest sample suites (#50)
- TestPlan sample suites (#49)
- Behave sample suites (#48)
Phase 8 β Polish & v1.0 (milestone)
- v1.0.0 official release (#84)
- Final polish & production readiness (#85)
- release-drafter on PR merge (#65)
- Publish workflow: PR-on-release β master (#57)
- Link PyPI version in release notes (#66)
π‘ Wishlist (postβv1)
-
CustomNavigationpattern (#121) - UI recorder / codegen (inspired by FlaUIRecorder & Playwright codegen)
- Reference MCP server / agent-tool example exposing element find/click/type as tools (see Use with AI agents)
- Async /
pytest-asyncioergonomics evaluation - Enhanced HTML/Allure reporting helpers
Maintainers: keep this page aligned with milestones as phases close. It is linked from the site nav and is intended as the at-a-glance overview of overall scale.