Metadata-Version: 2.1
Name: multilogin
Version: 0.6.71
Summary: 
Author: teocns
Author-email: teocns@gmail.com
Requires-Python: >=3.11,<3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: backoff (>=2.2.1,<3.0.0)
Requires-Dist: fire (>=0.6.0,<0.7.0)
Requires-Dist: humanize (>=4.10.0,<5.0.0)
Requires-Dist: psutil (>=6.0.0,<7.0.0)
Requires-Dist: pydantic
Requires-Dist: pydantic-settings (>=2.3.4,<3.0.0)
Requires-Dist: requests
Requires-Dist: rich (>=13.8.0,<14.0.0)
Requires-Dist: urllib3 (>=2.2.2,<3.0.0)
Description-Content-Type: text/markdown


## Overview

A Python SDK and CLI client for interacting with the agent and the APIs.


---

## Getting Started

### Installation

```bash
pip install multilogin
```

---

## Examples

> For full commands list, run `mlx --help`

### CLI and SDK Comparison

| CLI Command                          | Description                                                                 |
|--------------------------------------|-----------------------------------------------------------------------------|
| `mlx agent start`                    | Start the MLX agent.                                                        |
| `mlx agent stop`                    | Stops the agent                                                        |
| `mlx agent status`                    | View its status                                                        |
| `mlx agent logs`                    | Tail logs (~/mlx/logs/*.log)                                                        |
| `mlx core download -w`               | Download core browser and wait for completion.                              |
| `mlx credentials`                    | Set or print current username and password.                                 |
| `mlx ping`                           | Test launcher connectivity. Expect 'pong' as a response when API returns 200.|
| `mlx quick`                          | Launch a quick profile.                                                     |
| `mlx ready`                          | Block until the API is ready or timeout is reached.                         |
| `mlx sessions`                       | List all sessions.                                                          |
| `mlx token`                          | Set or print the current authentication token.                              |
| `mlx version`                        | Get the agent's version.                                                    |
| `mlx whoami`                         | Print the current user.                                                     |


### SDK

The MLX SDK allows you to programmatically interact with the MLX services. Here's a quick example:

```python
from mlx.api.launcher import LauncherApi

launcher = LauncherApi()  # Uses MLX_USERNAME and MLX_PASSWORD environment variables - alternatively MLX_TOKEN

launcher.ping()  # "pong" if successful, raise if the agent is not reachable

# Launch quick profile
# Pass parameters to override the default body defined in...
# mlx/models/profile.py::Profile::__default__

res = launcher.quick({
    "parameters": {
        "flags": {
            "proxy_masking": "custom",
        }
    }
})
```

---

## Environment Variables

The following environment variables can be set to configure both SDK and CLI operations:

- `MLX_USERNAME`: Username for MLX authentication.
- `MLX_PASSWORD`: Password for MLX authentication.
- `MLX_TOKEN`: Token for MLX authentication.
...

---

## Contributing

Contributions are welcome! Please follow the guidelines outlined in the [CONTRIBUTING](https://github.com/uvflow/mlx-py/tree/main/CONTRIBUTING.md) file.

---

## License

This project is released under the [MIT](https://github.com/uvflow/mlx-py/tree/main/LICENSE) License. For more details, refer to the [LICENSE](https://github.com/uvflow/mlx-py/tree/main/LICENSE) file.


