A client library for accessing a Nadybot's API
Project description
nadypy
A client library for accessing a Nadybot's API.
Installation
From PyPi:
pip install nadypy
From GitHub:
pip install git+https://github.com/Nadybot/nadypy.git
Usage
First, create a client:
from nadypy import Client
client = Client(base_url="http://localhost:8080/api")
If the endpoints you're going to hit require authentication (this currently applies to all endpoints), use either a BasicAuthClient
or a SignedAuthClient
instead.
BasicAuthClient
uses credentials acquired via !webauth
, which are not valid permanently:
from nadypy import BasicAuthClient
client = BasicAuthClient(base_url="http://localhost:8080/api", username="Character", password="password")
SignedAuthClient
uses private keys as explained here:
from nadypy import SignedAuthClient
signed_auth_client = SignedAuthClient(
"http://localhost:8080/api",
key_id="bd879e20",
private_key="""\
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEINca+XgCZoLXuu6p77cphsIxMiSaG09tBH6SV9AgEH4ioAoGCCqGSM49
AwEHoUQDQgAEPnzqwJq/el8kyNSPmYhQJ0L2qrMFtM3XDbAHrTQlXbFN2G8NmMBp
i52oubVjuTSHol1BQf4Haftbt0oBvHGUIw==
-----END EC PRIVATE KEY-----
""",
)
Now call your endpoint and use your models:
from typing import Optional
from nadypy.models import SystemInformation
from nadypy.api.system import get_sysinfo
from nadypy.types import Response
sysinfo: Optional[SystemInformation] = get_sysinfo.sync(client=client)
# or if you need more info (e.g. status_code)
response: Response[SystemInformation] = get_sysinfo.sync_detailed(client=client)
Or do the same thing with an async version:
from typing import Optional
from nadypy.models import SystemInformation
from nadypy.api.system import get_sysinfo
from nadypy.types import Response
sysinfo: Optional[SystemInformation] = await get_sysinfo.asyncio(client=client)
# or if you need more info (e.g. status_code)
response: Response[SystemInformation] = await get_sysinfo.asyncio_detailed(client=client)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nadypy-5.2.2.tar.gz
(22.4 kB
view details)
Built Distribution
nadypy-5.2.2-py3-none-any.whl
(72.5 kB
view details)
File details
Details for the file nadypy-5.2.2.tar.gz
.
File metadata
- Download URL: nadypy-5.2.2.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.9.7 Linux/5.14.11-200.fc34.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c51e33da975b906f67f059864602297c4e0e62f629a73814ee36fa9a8b5c6cfe |
|
MD5 | 8c36a120616024fd0955c7eeb5a4a8f5 |
|
BLAKE2b-256 | d21d3730eff6ddbcb3cc9d17116339f0a0c7b64a081e05ad200d05f4304bdad9 |
File details
Details for the file nadypy-5.2.2-py3-none-any.whl
.
File metadata
- Download URL: nadypy-5.2.2-py3-none-any.whl
- Upload date:
- Size: 72.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.9.7 Linux/5.14.11-200.fc34.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f3f6b3160f987fbc634de6e1b84f57d5525321a6af24c78b995e69463d302a2 |
|
MD5 | 0a5a4c78206f7a8fa8fb87fd6be08585 |
|
BLAKE2b-256 | ead8e44177e3b56ca846a83385b4ef74667bf91a6c514e0ca0dece6f6d7369e4 |