Skip to main content

dead simple intent parser

Project description

Padacioso

A lightweight, dead-simple intent parser

Built on top of simplematch, inspired by Padaos

Example

from padacioso import IntentContainer

container = IntentContainer()

## samples
container.add_intent('hello', ['hello', 'hi', 'how are you', "what's up"])

## "optionally" syntax
container.add_intent('hello world', ["hello [world]"])

## "one_of" syntax
container.add_intent('greeting', ["(hi|hey|hello)"])

## entity extraction
container.add_intent('buy', [
    'buy {item}', 'purchase {item}', 'get {item}', 'get {item} for me'
])
container.add_intent('search', [
    'search for {query} on {engine}', 'using {engine} (search|look) for {query}',
    'find {query} (with|using) {engine}'
])
container.add_entity('engine', ['abc', 'xyz'])
container.calc_intent('find cats using xyz')
# {'conf': 1.0, 'name': 'search', 'entities': {'query': 'cats', 'engine': 'xyz'}}

## wildcards syntax
container.add_intent('say', ["say *"])
container.calc_intent('say something, whatever')
# {'conf': 0.85, 'entities': {}, 'name': 'test'}

## typed entities syntax
container.add_intent('pick_number', ['* number {number:int}'])
container.calc_intent('i want number 3')
# {'conf': 0.85, 'entities': {'number': 3}, 'name': 'pick_number'})

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

padacioso-2.1.0a1.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

padacioso-2.1.0a1-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file padacioso-2.1.0a1.tar.gz.

File metadata

  • Download URL: padacioso-2.1.0a1.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for padacioso-2.1.0a1.tar.gz
Algorithm Hash digest
SHA256 4203f3ef23f4a0b5125db47e4227c88c03f9c9420360cde5d026f3ff608a69a9
MD5 d502dbf2add4b9fc0e381541e988cf83
BLAKE2b-256 b217f252dff6b8f21b7d1cb1034564c5fe664dbf38a3b8e17f35ae82a9d78a6b

See more details on using hashes here.

File details

Details for the file padacioso-2.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: padacioso-2.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for padacioso-2.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 05fe2833e1c992ba5815fdc9623e84e04214b1aa1173de266823b084b48685e1
MD5 8466695631f4610635736de7a3519842
BLAKE2b-256 c0390c990dc629570ceba043d8dd1d5a4bba3f7cf62a9635d4093123b070c47b

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