Metadata-Version: 2.1
Name: ahk-server
Version: 0.1.0
Summary: An AutoHotkey server allowing remote clients to execute ahk functionality
Home-page: https://github.com/spyoungtech/ahk-server
Author: Spencer Young
Author-email: spencer.young@spyoung.com
Project-URL: Documentation, https://github.com/spyoungtech/ahk-server
Project-URL: Funding, https://github.com/sponsors/spyoungtech/
Project-URL: Source, https://github.com/spyoungtech/ahk-server
Project-URL: Tracker, https://github.com/spyoungtech/ahk-server/issues
Keywords: ahk,autohotkey,windows,mouse,keyboard,automation,pyautogui,server,remote
Classifier: Intended Audience :: Developers
Classifier: Topic :: Desktop Environment
Classifier: Programming Language :: Python
Classifier: Environment :: Win32 (MS Windows)
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.8.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ahk
Requires-Dist: fastapi
Provides-Extra: binary
Requires-Dist: ahk-binary ==2023.9.0 ; extra == 'binary'

# ahk-server

A server to allow remote execution of AutoHotkey using the Python [ahk](https://github.com/spyoungtech/ahk) wrapper. 
Uses fastapi.


## Installation

```bash
pip install ahk-server
```

Requires you have AutoHotkey installed. See [ahk readme](https://github.com/spyoungtech/ahk) for non-python dependencies.

## Usage

To start the server:

```bash
python -m ahk_server
```
This accepts two optional command line parameters: `--host` and `--port`. Alternatively, you can also configure the host 
and port by setting the environment variables `AHK_SERVER_HOST` and `AHK_SERVER_PORT`.

Alternatively still, you can also invoke the server using `uvicorn`
```bash
uvicorn ahk_server.app:app
```

## Standalone release

`ahk-server` is also available in a standalone exe release which can be found in the [releases page](https://github.com/spyoungtech/ahk-server/releases)

For connecting to the server, see the client project: [ahk-client](https://github.com/spyoungtech/ahk-client).


## Status

This project (and its client counterpart) is usable, but in **very** early stages of development. 
Notably, it does not currently include any authentication mechanisms for securing server connections, so use with caution.


TODO:

A noninclusive list of things that might come in the future:

- [ ] support some kind of basic authentication
- [ ] implement `run_script` functionality
- [ ] implement non-blocking functionality
- [ ] implement extension negotiation with clients
