Skip to main content
===========
TransIP API
===========

.. image:: https://travis-ci.org/benkonrath/transip-api.png?branch=develop
:align: right
:target: https://travis-ci.org/benkonrath/transip-api

This library aims to implement the `TransIP API`_ in Python.

Quick Start
===========

Prerequisite
------------

* Make sure you have an account at TransIP_
* *Enable* the API (https://www.transip.nl/cp/mijn-account/#api)
* Add your IP.
* Generate key-pairs
+ Copy-paste the key into a file.
+ Reformat the key ``$ openssl rsa -in input.key -out decrypted_key``
+ put decrypted key next to this readme

Setup
-----

.. code-block::

$ python setup.py install


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.

.. code-block::

$ transip-api
[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:

.. code-block::

$ transip-api -l githubuser -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, although this is
not filled in yet.

.. _virtualenv: http://virtualenv.org/
.. _TransIP: https://www.transip.nl/cp/
.. _`TransIP API`: https://www.transip.eu/transip/api/

FAQ
===

Question:

When using the library I get SSL errors such as:

.. code-block::

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:

.. code-block::

pip install suds_requests


Metadata

Release files for transip 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for transip 0.4.1
File Size Uploaded
transip-0.4.1.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for transip 0.4.1
File Interpreter ABI Platform
transip-0.4.1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 25.7 kB

Release files / transip-0.4.1.tar.gz

Download URL transip-0.4.1.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
91baa6a71a61f764ba043bb507749344d7bdbce116339f74ff876754f095ccfc
BLAKE2b-256 checksum
How to use checksums
7689b07e577a73df61ee4cd4df0dcf5d31738752292e428df4f3c3c3778d8308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

Release files / transip-0.4.1-py2.py3-none-any.whl

Download URL transip-0.4.1-py2.py3-none-any.whl
Size 14.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
3fbe8f7634e8e019f7f340bea4b2f3957542b8a4a2c04b76296d8641aad73167
BLAKE2b-256 checksum
How to use checksums
f203df610161ac43347cc577306c60dd5dd65dea192d78ad05a2f45758a52342
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

Release history Release notifications | RSS feed

2.1.2

2 release files

2.1.1

1 release file

2.0.0

1 release file

1.0.1

1 release file

1.0.0

2 release files

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page