https://github.com/mjiggidy/adderlib
adderlib is an unofficial python wrapper for the Adder API for use with Adderlink KVM systems.
https://github.com/mjiggidy/adderlib
adder adderlink api desktop kvm python remote wrapper
Last synced: about 2 months ago
JSON representation
adderlib is an unofficial python wrapper for the Adder API for use with Adderlink KVM systems.
- Host: GitHub
- URL: https://github.com/mjiggidy/adderlib
- Owner: mjiggidy
- License: gpl-3.0
- Created: 2021-05-17T21:35:10.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-06-27T19:11:56.000Z (almost 3 years ago)
- Last Synced: 2025-03-13T20:08:22.431Z (2 months ago)
- Topics: adder, adderlink, api, desktop, kvm, python, remote, wrapper
- Language: Python
- Homepage: http://adderlib.readthedocs.io
- Size: 115 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# adderlib
`adderlib` is an unofficial python implementation of the [Adder API](https://support.adder.com/tiki/tiki-index.php?page=ALIF%3A%20API), for use with Adderlink KVM systems.
With `adderlib`, you can:
- Log in or out as an existing KVM user
- Query lists of transmitters, receivers, and channels available to the user
- Access many properties of the KVM devices
- Connect receivers to channels
- Manage presets...and so much more! Well, a little bit more.
## Getting Started
The best way to get started is to check out the [examples](https://github.com/mjiggidy/adderlib/blob/master/examples/), and then the [official documentation on ReadTheDocs](http://adderlib.readthedocs.io/). But in general, it's four easy steps:
```python
from adderlib import adder# Step 1: Create a handle to the API by passing the IP address or hostname of the AIM (the KVM server)
api = adder.AdderAPI("192.168.1.10")# Step 2: Log in using an exising KVM account
api.login("username","password")# Step 3: Do some stuff
for tx in api.getTransmitters():
do_some_stuff(tx)
# Step 4: Don't forget to log out!
api.logout()
```## Customizable
Boy oh boy is this customizable! An `UrlHandler` abstract class is provided. Subclass this and override the `api_call()` method to communicate with the server however you wish! I sure spent a lot of time on the default `RequestsHandler` class, which uses the [`requests`](https://github.com/psf/requests) library but that's ok I'm sure you have your reasons.