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


Download files

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

Source Distribution

wordbook-1.0.0.tar.gz (4.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page