Skip to main content

A dead simple Python interface to the Alwaysdata API.

Project description

alwaysdata_api

A dead simple Python interface to the Alwaysdata API

PyPI version

Installation

pip install alwaysdata_api

(Use flag --user if you can't install globally.)

Usage

If you store your API key and account name in the ALWAYSDATA_API_KEY and ALWAYSDATA_ACCOUNT environment variables, the following example works out of the box:

from alwaysdata_api import Domain
Domain.list(name='paul')[0].name
# 'paulkoppen.com'

Alternatively, you can provide the authentication via code. The above example then needs to be expanded to include the extra configuration:

from alwaysdata_api import Auth, Domain
auth = Auth('account_name', 'api_key')
Domain.list(name='paul', auth=auth)[0].name
# 'paulkoppen.com'

See demo.py for more examples.

Every resources in the API docs has a class in this package (such as Domain, Record, Mailbox, etc) and all resources share the same set of methods. To give you a quick idea:

  • Resource.get(id) retrieves the instance.
  • Resource.list(**query_kwargs) finds and returns the list of resources.
  • res.post() submits the resource instance to the server to be created.
  • res.put() updates the instance on the server.
  • Resource.delta(res1, res2).patch() sends the changes from res1 to res2 to the server.
  • res.delete() deletes it.

Development

Although it is a simple bit of code, surely it can be improved. Contributions are very welcome. Just send a PR (please include tests). It would be equally great to have some instructions in this repo Wiki (I would have to find out how that works though :-))

Code style follows PEP accurately and uses Google style docstrings.

For testing:

python -m unittest

Licence

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for alwaysdata-api, version 0.9.4
Filename, size File type Python version Upload date Hashes
Filename, size alwaysdata_api-0.9.4-py3-none-any.whl (12.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size alwaysdata_api-0.9.4.tar.gz (12.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page