Minima is built on the philosophy that automation should be as intuitive as manual interaction. By separating human inputs (keyboard and mouse) from the core browser engine, Minima allows developers to build robust scripts that are easy to read, maintain, and scale.
For complete usage instructions and API references, check out our newly added docs:
The repository is organized to ensure a strict separation of concerns and responsibility based on the follow diagram:
.
├── engine/ # Selenium Dependencia & Core Logic
│ ├── context.py # BrowserSession & Decorators
│ └── controller.py # BrowserController (URL Nav, Element Search)
├── input/ # Input Controller (Human Actions)
│ ├── keyboard.py # Keyboard Mapping (Shortcuts, Enter, Fn keys)
│ └── mouse.py # Mouse Actions (Click, Hover, Drag n Drop)
├── ui/ # Widget Layer
│ └── base.py # Base Widget & WidgetDecompose classes
├── settings/ # Configuration & Resources
│ ├── settings.py # Binary PATHs & OS Configs
│ └── exceptions.py # Custom Minima Exceptions
├── logs/ # Traceability
│ └── logger_utils.py # Logging utilities
└── tests/ # Validation
├── code-examples/ # Playground scripts
└── unit_tests.py # System verification
- Python 3.10+
Minima uses Poetry to ensure environment stability. To get started, clone the repository and install the dependencies:
git clone https://github.com/your-username/minima.git
cd minima
Distributed under the MIT License. See LICENSE for more information.