Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Utilities for KWL: kasahorow Writer's Language

Project Description

# kwl KWL is a semantic representation of natural language. A KWL representation can be transformed into any natural language with a grammar and a dictionary of that language.

For example, <kwl nom:dog ; kwl> becomes [kraman (Akan), dog (English), chien (French)]

<kwl pro:you tdy(tu(act:be)) det:a(adj:important_nom:person). ; kwl> becomes [ You are an important person (English) ]

Try it here:

# Installation

python install

# Testing

You can transform simple English into KWL representation, and then convert the KWL representation into any of the supported languages. Note that all the text is in lowercase.

## Text to KWL

  • python -m kwl ‘the dog’

## KWL to Text

  • python -m kwl ‘det:the_nom:dog’ akan
  • python -m kwl ‘det:the_nom:dog’ english
  • python -m kwl ‘det:the_nom:dog’ oromo
  • python -m kwl ‘det:the_nom:dog’ swahili

# Supported kasahorow languages This means that you can get functional representations suitable for children’s comprehension into these languages. You still need a native speaker to confirm correctness!

  • akan
  • chewa
  • gadangme
  • gbe
  • gikuyu
  • hausa
  • igbo
  • lingala
  • luganda
  • luwo
  • oromoo
  • shona
  • swahili
  • yoruba
  • zulu

## How to add a new language foo This is simple to do. There are 2 main steps: - add a dictionary of the foo in the data/ directory: data/english_foo_woaka.tsv - set up grammar rules for foo the data/ directory: data/

### Testing language foo There are 2 main testing steps: - Run python foo to see what tests you need to add in the next step - Run python foo by adding foo into the KWL_TESTS dictionary.

# Known issues - No support for noun-adjective alliteration (relevant for Bantu languages such as Shona, Swahili, Ururimi) - No support for vowel-harmony (relevant for Kwa languages such as Akan) - Partial support for pluralization - Partial support for stemming

Release History

This version
History Node


History Node


History Node


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
(1.1 MB) Copy SHA256 Hash SHA256
Egg 2.7 Jun 22, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting