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

Simple index

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
  • Programming Language :: Python :: 3.12
  • 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
  • doc8; extra == "quality"
  • mypy; extra == "quality"
  • ruff; 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-3.1.1-py3-none-any.whl
Size
157 KB
Type
Python Wheel
Python
3
fred_epplib-3.1.1.tar.gz
Size
83 KB
Type
Source

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

3.1.1 (2025-06-26)

  • Fix recognition of domain expiration poll messages (#158).
  • Add the rem attribute to remove mailing address from a contact (#160).
  • Fix annotations.

3.1.0 (2024-04-03)

  • Add auction extenstion for check domain (#157).
  • Update project setup.

3.0.0 (2024-02-01)

  • Add support for python 3.12.
  • Make Addr fields not optional (#150).
  • Add fallback empty string to address fields (#151).
  • Add handling of errors with empty reason values (#152).
  • Remove auth_info from Create* commands (#153).
  • Add SendAuthinfo parsing (#154).
  • Update project setup.

2.0.1 (2023-11-06)

  • Add a cleaner way to work with Ident (#149).
  • Fix socket closing in tests (#148).
  • Update package info.

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