Metadata-Version: 2.1
Name: test_run_multinode
Version: 0.0.15
Summary: Multinode's Python client
Author: Kacper Kielak
Author-email: kacper@multinode.dev
Requires-Python: >=3.8.1,<4.0.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: aenum (>=3.1.15,<4.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: colorama (>=0.4.6,<0.5.0)
Requires-Dist: docker (>=6.1.3,<7.0.0)
Requires-Dist: jsonpickle (>=3.0.2,<4.0.0)
Requires-Dist: pydantic (>=1.10.5,<2.0.0)
Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: urllib3 (>=2.0.6,<3.0.0)
Description-Content-Type: text/markdown

# Multinode's Python client

## Generating missing client code
For the code to work you need to generate control plane client. Ensure its up-to-date
schema is in `../api-schemas/control-plane.json` and run generate client script:
```commandline
bash scripts/generate_client.sh
```

## Running CLI
You can run any of the CLI commands using the `poetry run multinode` prefix. For example:
```commandline
poetry run multinode --help
```

### Deploying your first project
To deploy your first project in the development mode, first run:
```commandline
poetry run multinode login
```

You will be asked for an API key.

Once successfully logged in, create a `test.py` file with the following content:
```python
from multinode import Multinode

mn = Multinode()


@mn.job()
def a():
    print("Hello, Multinode A!")


@mn.job()
def b():
    print("Hello, Multinode B!")
```

and run

```commandline
poetry run multinode deploy test.py --project-name my-first-project
```

