Skip to main content

A Python driver for Contextual19 markup language

Project description

Read here about Contextual19

Contextual19 Python Interpreter

This module provides you 2 classes to work with Ctx19.

ctx19.Contextual19Parser

This is just regular parser that takes rules in object representation.

Initialization

To initialize this class, just call it and take there rules in object representation:

from ctx19 import Contextual19Parser
data = [
	{
		"if": ...,
		"then": ...
	},
	...
]
parser = Contextual19Parser(data)

Data you passed will be stored in parser.data.

methods

  • apply(sentence: list) -> list
    This method apply rules, stored in self.data to the sentence you passed.
    sentence is the list of dictionaries which represents tokens with their properties. It can look like this:

     [
     	{
     		"tense": "past",
     		"gender": "neutral",
     		"some_other_stuff": "other_value"
     	},
     	{
     		"tense": "future",
     		"voice": "active",
     		"another_property": "another_value"
     	}
     ]
    

    If some property will be missing while rule applying then it will be skipped.

  • save(filepath: str) -> void
    This method will simply save the rules stored in self.data into file you passed as filepath.

  • applyToSentence(rule: dict, sentence: list) -> list This method will apply the given rule to every token in the sentence if possible.

Private methods

There's also some methods that should not be used in your code, but they are widely used in Contextual19Parser.apply method and they can be useful in some cases.

  • applyRule(rule: dict, token: dict) -> dict
    Apply assignments from some rule to the given token. This won't check if the given rule is really appliable to the token in this context. Resulting token will be returned.
  • ruleIsAppliable(rule: dict, sentence: list, token: int) -> bool
    Check if the given rule is appliable to the tokenth token in the sentence. It'll check the context.
  • applyIfPossible(rule: dict, sentence: list, token: int) -> list
    It will apply some rule to the token if it's appliable in this context. Resulting sentence will be returned.
  • applyRulesTo(rules: list, sentence: list, token: int) -> list
    Apply each rule in the given list to the token-th token in the sentence if they're appliable.

ctx19.Contextual19FileParser

This is the children of ctx19.Contextual19Parser with the changed initialization method.

Initialization

To initialize this parser just pass path to file with rules as the filepath parameter:

from ctx19 import Contextual19FileParser
parser = Contextual19FileParser("path/to/file.ctx19")

Since this is the Contextual19Parser children, it'll inherit all the parent methods, but one new private was added.

Private methods

  • parseFile(void) -> void
    This will parse Contextual19 syntax from the file saved in self.file. You can change the file and call this method again.

Reading other object notation formats

From 1.2 version JSON and YAML parsers was moved in order to make ctx19 independent from other packages, but you can still do it yourself. Here's the example:

import json
from ctx19 import Contextual19Parser
ctx = Contextual19Parser(json.load("path/to/file.json"))

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

ctx19-1.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ctx19-1.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file ctx19-1.2.tar.gz.

File metadata

  • Download URL: ctx19-1.2.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.0 CPython/3.6.4

File hashes

Hashes for ctx19-1.2.tar.gz
Algorithm Hash digest
SHA256 32aef05fba22531ef2c0303e81216b8da641dd75b26da15ee7a320f8c68e0e04
MD5 137ddf84068c8f25a5e94c4db42d5660
BLAKE2b-256 939420a175c095756a2683bac182c1a2498c210053b94e0f3aca1fd73a919aaf

See more details on using hashes here.

File details

Details for the file ctx19-1.2-py3-none-any.whl.

File metadata

  • Download URL: ctx19-1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.0 CPython/3.6.4

File hashes

Hashes for ctx19-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1f5c5dcdef325dfb97828d027b7742fa12103b8788f7b844fd4d961bb11d8c33
MD5 bd4e08ddfb8aa0a2bfa3b67f144d6d93
BLAKE2b-256 20d5dafd4228104fc5c759ef6c8ed28ea764c15f69e19b131c5a25f11123ebf1

See more details on using hashes here.

Supported by

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