puffb/README.md

74 lines
1.8 KiB
Markdown
Raw Normal View History

2024-05-31 09:22:07 -04:00
# puffpan
puffpan is a small Python module for interacting with a Pufferpanel daemon.
Made this in my spare time because I needed it.
## Usage
### Prerequisites
First make sure you have Pufferpanel set up, and a deploy a server you intend to interact with it.
Create an OAuth2 application for this server. Like it says, **write down the secret key in a safe place. It is only ever displayed once.**
Now you have Pufferpanel, a server, it's server ID (randomly generated 8 character string, usually displayed in the URL in the browser), client ID and secret ID.
Make sure you have the requests and json modules available.
### Using in your code
Place the puffpan file next to the code you want to use it with. Import the module:
```python
import puffpan
...
```
Now you are ready to create a puffpan!
Using the information you gathered before, create an object:
```python
server = puffpan.Panel('your-server-url', 'your-client-id', 'your-secret-key', 'your-server-id')
```
Or, alternatively, if you want to use a client that has access to multiple servers at once:
```python
admin = puffpan.Panel('your-server-url', 'your-client-id', 'your-secret-key')
```
Keep in mind that with this method, you will have to specify the server ID for most commands. Instead of
```python
admin.stop()
```
you must now type
```python
admin.stop(serverID = 'a1b2c3d4')
```
Now you can run various methods that return useful information about your server, or interact with it.
Examples:
```python
server.logs()
# Returns logs as a string
server.stats()
# {'cpu_usage': 5, 'ram_usage': 135.50}
server.status()
# True
# (Returns True if running, False if not)
server.stop()
# 204
server.edit_data(key = 'server-name', value = 'new and better name!')
# 204
```
Most of the `/daemon` endpoints specified in the Pufferpanel API docs are available for use through this module.