Skip to main content

Python client for DICT Servers

Project description

Wordbook is a Python asynchronous library to query Dict servers. It implements the main parts of DICT protocol (RFC 2229<https://tools.ietf.org/html/rfc2229>).

The library consists two classes:

  • DictBase: which implements commands from RFC2229.
  • Wordbook: which exposes more abstract methods to find a definition within dictionaries.

Both classes are asynchronous and require Python 3.5+.

Installation

To install from pypi

$ sudo pip install wordbook

or from source:

$ sudo python setup.py install

Examples

Getting information from a server using the DictBase class:

import asyncio
import wordbook


async def main():
    dictb = wordbook.DictBase()
    await dictb.connect()
    await dictb.client('wordbook/server-status.py')
    info = await dictb.show_server()
    for line in info:
        print(line)


if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())
    loop.close()

Output:

dictd 1.12.1/rf on Linux 4.10.0-30-generic
On LT19758: up 07:55:45, 5 forks (0.6/hour)

Database      Headwords         Index          Data  Uncompressed
gcide              203645       3859 kB         12 MB         38 MB
wn                 147311       3002 kB       9247 kB         29 MB
moby-thesaurus      30263        528 kB         10 MB         28 MB

Getting definition of word mock using the WordBookDatabase class:

import asyncio
import wordbook

async def main():
    wb = wordbook.WordBookDatabase('wn')
    await wb.connect()
    lines = await wb.define('mock')
    for line in lines:
        print(line)

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())
    loop.close()

Output:

["mock" wn "WordNet (r) 3.0 (2006)"]
mock
    adj 1: constituting a copy or imitation of something; "boys in
           mock battle"
    n 1: the act of mocking or ridiculing; "they made a mock of him"
    v 1: treat with contempt; "The new constitution mocks all
         democratic principles" [syn: {mock}, {bemock}]
    2: imitate with mockery and derision; "The children mocked their
       handicapped classmate"

You can find more examples in directory example/.

Resources

Project details


Release history Release notifications

This version
History Node

1.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
wordbook-1.0.0.tar.gz (4.8 kB) Copy SHA256 hash SHA256 Source None Aug 15, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page