ebir-automation
A Python package for robust automation of the eBIRForms application on Windows, powered by Rust, PyO3, and UIAutomation.
Features
- Launches or focuses the eBIRForms application (including mshta.exe child windows)
- Waits for the application to be fully loaded before proceeding
- Snaps the window to the left half of the screen (Windows 11 supported)
- Reliable window and element polling (no fixed sleeps)
- Python bindings via PyO3
- Automate TIN entry, form selection, and more
Installation
Install via pip:
pip install ebir-automation
Usage
Basic Example
from ebir_automation import auto_open_ebir_window, EBirformsAutomation
# Launch or focus eBIRForms, snap window (default: use_winapi=True, ebir_path=None)
hwnd = auto_open_ebir_window(True, None)
if hwnd is None:
raise RuntimeError("Failed to open eBIRForms window")
handle = EBirformsAutomation(hwnd)
handle.type_tin("123", "456", "789", "000")
successful = handle.select_form("1701v2018", fill_up=True)
print("Form selection successful:", successful)
Running the Quick Test Script
A quick test/demo script is provided:
python -m ebir_automation.quicktest
This will launch eBIRForms, enter a sample TIN, and select a form, printing the result.
API Reference
auto_open_ebir_window(use_winapi: bool = True, ebir_path: Optional[str] = None) -> int | None- Launch or focus the eBIRForms application and return its window handle, or None on failure.
class EBirformsAutomation(hwnd: int).type_tin(tin1: str, tin2: str, tin3: str, tin4: str) -> None.select_form(form: str, fill_up: bool) -> bool
Error Handling
All functions raise RuntimeError on failure (e.g., if the eBIRForms window is not found or an element is missing).
Project Links
- Source code: https://github.com/noizrom/ebir-automation
- Issue tracker: https://github.com/noizrom/ebir-automation/issues
License
MIT
Release files for ebir-automation 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ebir_automation-0.4.0.tar.gz | 25.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ebir_automation-0.4.0-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
Total release size: 273.5 kB
Release files / ebir_automation-0.4.0.tar.gz
| Download URL | ebir_automation-0.4.0.tar.gz |
|---|---|
| Size | 25.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eef57d377df5b984784618d9d3b655b9dcd33f3f6df69f3320881cd672611046
|
|
BLAKE2b-256 checksum How to use checksums |
e889c92d444eecbe35ecd145e7103f5846e6f728e1d9c0b1bba5c7ec00008898
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|
Release files / ebir_automation-0.4.0-cp38-abi3-win_amd64.whl
| Download URL | ebir_automation-0.4.0-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 247.6 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5133e3402a9489c6b4b35f0172d7a962bc8b35e764afc3dab100ef8c0ee8ad9a
|
|
BLAKE2b-256 checksum How to use checksums |
739e80473b60bffd355f883e8cca2cc89edaa31d49cc7d06ccee6d3168d09061
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|