All Projects → benkonrath → transip-api

benkonrath / transip-api

Licence: MIT license
Python implementation for the TransIP API

Programming Languages

python
139335 projects - #7 most used programming language
Roff
2310 projects
shell
77523 projects

Projects that are alternatives of or similar to transip-api

clickupython
A client for working with the ClickUp API V2
Stars: ✭ 30 (+30.43%)
Mutual labels:  api-client
servicenow
A golang client for ServiceNow
Stars: ✭ 16 (-30.43%)
Mutual labels:  api-client
sevenbridges-python
SevenBridges Python Api bindings
Stars: ✭ 41 (+78.26%)
Mutual labels:  api-client
AlphaVantage.Net
.Net client library for Alpha Vantage API
Stars: ✭ 65 (+182.61%)
Mutual labels:  api-client
AutoMeter-API
AutoMeter-API是一款针对分布式服务,微服务API功能和性能一体的自动化测试平台,一站式解决应用,服务,API,环境管理,用例,条件,测试场景,计划,测试报告,功能/性能测试兼容支持的一体化工作平台
Stars: ✭ 105 (+356.52%)
Mutual labels:  api-client
sbankenclient-ios
A small but enjoyable iOS framework to connect to the Sbanken API
Stars: ✭ 21 (-8.7%)
Mutual labels:  api-client
CoinGecko
A C++20 library for CoinGecko--a cryptocurrency data service.
Stars: ✭ 69 (+200%)
Mutual labels:  api-client
jusibe
📲 JavaScript client for Jusibe.com SMS API service. http://jusibe.com
Stars: ✭ 24 (+4.35%)
Mutual labels:  api-client
fb-messenger-bot-api
NodeJS Facebook Messenger API for bots to send messages and setup events to Facebook.
Stars: ✭ 29 (+26.09%)
Mutual labels:  api-client
notion-sdk-py
Official Notion SDK rewritten in Python (sync + async)
Stars: ✭ 753 (+3173.91%)
Mutual labels:  api-client
sypht-golang-client
A Golang client for the Sypht API
Stars: ✭ 33 (+43.48%)
Mutual labels:  api-client
adyen-python-api-library
Adyen API Library for Python
Stars: ✭ 41 (+78.26%)
Mutual labels:  api-client
chess.com
Python wrapper for Chess.com Published-Data API
Stars: ✭ 34 (+47.83%)
Mutual labels:  api-client
fs-pochta-api
Библиотека для работы с API Почты России
Stars: ✭ 15 (-34.78%)
Mutual labels:  api-client
psd2
API client for banks supporting PSD2 APIs with OAuth2 authentication.
Stars: ✭ 26 (+13.04%)
Mutual labels:  api-client
Yandex.Music.Api
Client Yandex.Music.Api for Yandex.Music
Stars: ✭ 53 (+130.43%)
Mutual labels:  api-client
upcloud-php-api
PHP client for UpCloud's API
Stars: ✭ 23 (+0%)
Mutual labels:  api-client
upcloud-python-api
Python client for UpCloud's API
Stars: ✭ 51 (+121.74%)
Mutual labels:  api-client
deepl-api-connector
Connector library for deepl.com rest translation api
Stars: ✭ 12 (-47.83%)
Mutual labels:  api-client
airtabler
R interface to the Airtable API
Stars: ✭ 84 (+265.22%)
Mutual labels:  api-client

TransIP API

Build Status Documentation Status

This library aims to implement the TransIP SOAP V5 API in Python. The SOAP V5 API is marked as deprecated by TransIP, users are strongly advised to switch to the new TransIP REST API V6.

If you would like to use the new TransIP REST API V6, please consider using python-transip instead.

Quick Start

Prerequisite

  • Make sure you have an account at TransIP
  • Enable the API (https://www.transip.nl/cp/mijn-account/#api)
  • Whitelist your IP.
  • Generate a new key-pair.
    • Copy-paste the private key into a file.
    • Put the private key in a file called decrypted_key beside this README.rst file.

Setup

You can get the library directly from PyPi:

$ pip install transip

Example

The command-line interpreter doesn't do much yet. By default it does a getDomainNames() call, but with the '-u' option it's also possible to add or update DNS records. When calling it with '-h', it will show all available options.

$ transip-api -l username
[example.com, example.org, example.net]

$ transip-api -h
usage: transip-api [-h] [-l LOGINNAME] [-s] [-a] [-u] [-d]
                   [--domain-name DOMAIN_NAME] [--entry-name ENTRY_NAME]
                   [--entry-expire ENTRY_EXPIRE] [--entry-type ENTRY_TYPE]
                   [--entry-content ENTRY_CONTENT] [--api-key PRIVATE_KEY_FILE]

optional arguments:
  -h, --help            show this help message and exit
  -l LOGINNAME, --login-name LOGINNAME
                        TransIP username
  -s, --show-dns-entries
                        show all DNS entries for a domain
  -a, --add-dns-entry   add an entry in the DNS
  -u, --update-dns-entry
                        update an entry in the DNS
  -d, --delete-dns-entry
                        delete an entry in the DNS
  --domain-name DOMAIN_NAME
                        domain name to use
  --entry-name ENTRY_NAME
                        name of the DNS entry
  --entry-expire ENTRY_EXPIRE
                        expire time of the DNS entry
  --entry-type ENTRY_TYPE
                        type of the DNS entry
  --entry-content ENTRY_CONTENT
                        content of the DNS entry
  --api-key PRIVATE_KEY_FILE
                        TransIP private key

Example of adding/updating a record:

$ transip-api -l username -u --api-key privatekey --domain-name example.com --entry-name testentry --entry-expire 86400 --entry-type A --entry-content 127.0.0.1
Request finished successfully.

Documentation

Further documentation can be found in the docs directory, or on https://transip-api.readthedocs.io/en/latest/.

FAQ

Question:

When using the library I get SSL errors such as:

urllib2.URLError: <urlopen error [Errno 1] _ssl.c:510: error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 unrecognized name>

Answer:

The suds library has fairly limited SSL support which is dependent on the Python version, to work around this the suds_requests library can be used which replaces urllib2 with the requests library. Additionally the requests library automatically pools connections which makes the library slightly faster to use. To install:

pip install suds_requests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].