cznic/public/: fred-epplib-2.0.0 metadata and description

Simple index Newer version available

Fred-epplib is FRED EPP library.

author Ondřej Fikar
author_email ondrej.fikar@nic.cz
classifiers
  • Development Status :: 4 - Beta
  • Intended Audience :: Information Technology
  • License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
  • Operating System :: OS Independent
  • Programming Language :: Python
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Topic :: Internet
  • Topic :: Software Development :: Libraries
  • Topic :: Software Development :: Libraries :: Python Modules
  • Topic :: Utilities
  • Typing :: Typed
license GPLv3+
provides_extras types
requires_dist
  • lxml >=4.6
  • python-dateutil
  • bandit ; extra == 'quality'
  • doc8 ; extra == 'quality'
  • flake8 ; extra == 'quality'
  • isort ; extra == 'quality'
  • mypy ; extra == 'quality'
  • pydocstyle ; extra == 'quality'
  • freezegun ; extra == 'test'
  • testfixtures ; extra == 'test'
  • types-python-dateutil ; extra == 'types'
  • types-freezegun ; extra == 'types'
requires_python ~=3.8

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
fred-epplib-2.0.0.tar.gz
Size
80 KB
Type
Source
fred_epplib-2.0.0-py3-none-any.whl
Size
148 KB
Type
Python Wheel
Python
3

Fred EPP library provides the means to communicate with an EPP server. It consists of four main modules: client, commands, responses, and models.

The Client class in the client module is used to exchange the messages with the server. The commands module contains the dataclasses representing the commands which may be sent to the server. The responses module contains the dataclasses representing the responses received from the server. The models module contains the dataclasses which are used to compose both requests and responses.

For more details, plese refer to the source code documentation. We suggest starting with the Client class in the client module.

Usage

In order to exchange messages with the server, a Transport instance has to be created and passed to the init of the Client. Then, the Client is connected to the server using a context manager or manually by calling the connect method. The commands are created as instances of the Request base class and sent via the send method of the Client instance. The response from the server is returned by send as an instance of the Response class. After the response is received, its data may be examined.

See the example below

from epplib.client import Client
from epplib.commands import InfoDomain, Login, Logout
from epplib.transport import SocketTransport

hostname = 'localhost'
cert_file = 'path/to/cert.pem'
key_file = 'path/to/key.pem'

transport = SocketTransport(hostname, cert_file=cert_file, key_file=key_file)

with Client(transport) as client:
    login = Login(cl_id='my_id', password='passwd', obj_uris=['http://www.nic.cz/xml/epp/contact-1.6'])
    response_login = client.send(login)
    print(response_login.code)

    info = InfoDomain(name='mydomain.cz')
    response_info = client.send(info)
    print(response_info.res_data[0].ex_date)

    client.send(Logout())

ChangeLog

2.0.0 (2023-09-06)

  • Drop Python 3.7 support.

  • Split rem and add in update commands (#120).

  • Remove unit from CreateDomain (#139).

  • Add RawPollMessage class as default poll message (#134).

  • Save xml of last command, response (#130).

  • Improve Client.send type hints (#142).

  • Remove ParseXMLMixin NAMESPACES mapping (#143).

  • Turn ParseXMLMixin into separate helper functions (#144).

  • Parse reason tags (#138).

  • Remove __future__.annotations from policy (#141).

  • Prevent finishing tests before fake server closed (#137).

  • Fix typos in README (#140).

  • Fix licensing.

  • Update project setup.

1.1.1 (2023-08-01)

  • Fix license.

1.1.0 (2023-08-01)

  • Add poll commands. (#111).

  • Add command to send raw XML. (#112).

  • Add conversion from fields to hidden and disclosed. (#116).

  • Add disclose policy transformation method. (#119).

  • Allow passing custom tr_id (#109).

  • Fix order of disclose flags (#110).

  • Fix postal info behavior (#113).

  • Fix extraction of mailing address (#114).

  • Compare sp to None. (#115).

  • Update project setup.

1.0.0 (2022-12-14)

  • Add support for Python 3.11.

  • Set default port (#108).

  • Fix annotations.

0.2.0 (2022-09-27)

  • Add auth_info to info commands (#101).

  • Fix UpdateDomain command (#105).

  • Expose list commands (#104).

  • Better error handling of empty response (#106).

  • Update EPP testing schemas (#101).

  • Log raw XML and transport errors (#102).

0.1.1 (2022-07-21)

  • Fix license.

0.1.0 (2022-07-20)

Initial version