add readme, NOAI clause, pyproject, change api for consistency

This commit is contained in:
2025-03-03 11:25:46 +05:30
parent 3c626e42b6
commit c41b302313
5 changed files with 82 additions and 6 deletions

View File

@@ -1,3 +1,61 @@
# harmoney
Distributed Function Caller Framework for Python
Distributed Function Caller Framework for Python
## Installation:
`pip install harmoney`
Dependencies:
- websockets
- fastapi
- requests
- uvicorn
- pydantic
## Usage:
Requires 3 scripts: Client, Broker and Runner
- Broker will mediate load balancing and connection handling, so this should start first. One port should be open.
Let broker's IP be `192.168.0.110` and port be `7732`
```python
from harmoney import broker as bro
bro.runBroker("0.0.0.0", 7732)
```
- Runner performs the calculations, should contain function definitions. Connects to broker using broker's IP.
```python
from harmoney import runners as run
def customFunction(arg1: int, arg2: str) -> str:
return arg2*arg1
funcs = {"custFn": customFunction}
run.startRunner(funcs, "192.168.0.110", 7732)
```
- Client is the main caller of functions. Will contain your main code.
```python
from harmoney import client as cli
cli.Client("192.168.0.110", 7732)
retVal = cli.runSingle("custFn", arg1=10, arg2="arst")
print(retVal)
```
TODO:
- [ ] Error catching, keeping the connection to the broker
- [ ] Error info should return to the client