Metadata-Version: 2.4
Name: flashid-auto
Version: 0.2.1
Summary: Modular automation for running FlashID browsers
License-Expression: MIT
Keywords: flashid,browser,automation,playwright
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3,>=2.32.3
Requires-Dist: python-dotenv<2,>=1.0.1
Requires-Dist: playwright<2,>=1.51
Requires-Dist: jsonschema<5,>=4.23
Provides-Extra: dev
Requires-Dist: pytest<9,>=8.3; extra == "dev"
Requires-Dist: requests-mock<2,>=1.12; extra == "dev"
Requires-Dist: ruff<1,>=0.11; extra == "dev"
Provides-Extra: mcp
Requires-Dist: mcp<3,>=2.3; extra == "mcp"
Requires-Dist: filelock<4,>=3.18; extra == "mcp"
Provides-Extra: release
Requires-Dist: build<2,>=1.2; extra == "release"
Requires-Dist: twine<8,>=6; extra == "release"
Dynamic: license-file

# FlashID Auto

A Python automation tool for FlashID browsers. Connect to an existing, running
FlashID browser environment, execute modular browser tasks, and receive
structured JSON results.

## Features

- Connect to FlashID through its Local API and an existing browser's CDP endpoint.
- Run browser automation modules using Playwright.
- Execute individual modules or chain multiple steps with JSON data bindings.
- Return structured results, execution status, and error details.
- Clean up task-created tabs during normal completion while preserving existing tabs.
- Extend automation with custom Python modules.

## Requirements

- Python 3.10 or later.
- FlashID with Local API enabled.
- A running FlashID browser environment for browser tasks.

Playwright connects to FlashID's existing browser, so no separate Chromium
download is required for these tasks.

## Installation

```bash
python -m pip install flashid-auto
```

## Configuration

Set the following environment variables, or create a `.env` file in your working
directory:

```dotenv
FLASHID_API_BASE_URL=http://127.0.0.1:58931
FLASHID_API_KEY=YOUR_FLASHID_API_KEY
```

Use your own FlashID API key and keep the `.env` file private. Existing process
environment variables take precedence over values in the file.

## Usage

Check the FlashID Local API connection:

```bash
flashid health
```

Run a browser automation task in the running environment named `Navigator`:

```bash
flashid-auto --profile Navigator --module duckduckgo -- \
  --search-key "FlashID browser automation" --result-count 3
```

Use the exact name of your running FlashID environment for `--profile`.
Commands return JSON that can be consumed by scripts and other automation tools.

For multi-step tasks, supply a JSON execution plan:

```bash
flashid-auto --profile Navigator --chain-file tasks.json
```

See `flashid-auto --help` and `flashid --help` for command-line options.

## License

MIT. This project is independent of FlashID.
