Skip to main content

The virtual assistant framework made for developers with ideas

Project description

Pyttman

The virtual assistant framework made for developers with ideas

Pyttman is a framework for developing virtual assistants, chatbots or other language driven applications. It houses base classes and ready-to-use classes, both for making powerful custom features, or using the ones already provided for you, as pluggable objects.

It is highly inspired by Django, and aspires to offer a similar ease of use as Django does for web, but for chatbots and personal digital assistants.

Why use Pyttman?

Pyttman is a high level framework which abstracts away much of the hard work when developing natural-language-command-driven apps.

A few bullet points are:

  • No more tangled if-statements for deciphering a user command based on certain words.
  • 100% object oriented with base classes for subclassing as an alternative to using the presets.
  • A clear and consice structure for how your app can be built and scale, with a directory structure set up for you.
  • Loaded with tools such as:
    • Scheduling: One of Pyttman's most powerful punches is its scheduler. It can schedule your objects' methods or regular functions, both regular and async, with a great overview of how they run in the background with the pyttman.schedule api. Scheduled jobs are threaded, which makes your app safe from any hiccups during the run of a scheduled method - it won't interrupt your main loop. You can always control and view scheduled functions during runtime with the pythman.schedule api
    • Logging: Log your methods or functions by decorating them with pyttman.logger.loggedmethod to have them automatically log their output and any exceptions in a common log file for your app
    • Callback, Feature, CommandProcessor - These objects lay the baseline for your app, by providing an easy api for binding commands to your functions, classes and/or methods.
    • Client support: Client support concists currently of Discord exclusively, more will be added as development proceeds.

How to get started

It's very easy to get started with Pyttman.

  • Install it using pip: pip install pyttman
  • Navigate to the directory where you want to develop your Pyttman app
  • Start a project using the command pyttman-cli newapp <projectname>
  • Use the created directories to build your app. Run it with main.py, which sets up Pyttman for you
  • Add settings to settings.py as you wish and access them in your app through pyttman.settings.setting_name
  • Consult the documentation for guidance on how to use Pyttman to its full potential.

Contributions

Contributions are more than welcome - write your PR in a branch branched from 'contributions' ideally.

Project details


Release history Release notifications | RSS feed

This version

0.0.0

Download files

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

Source Distribution

Pyttman-0.0.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

Pyttman-0.0.0-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file Pyttman-0.0.0.tar.gz.

File metadata

  • Download URL: Pyttman-0.0.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.0

File hashes

Hashes for Pyttman-0.0.0.tar.gz
Algorithm Hash digest
SHA256 28b1c4f974290cfc9815f09e50cd745c7a1f32a45a4effefee8f256f744ea4c2
MD5 d56ab5918f833573552a53a2861a1c1a
BLAKE2b-256 0faeb8b185c966035f04a38655f782bcba8e561563d4ef3ce50275ff56a5589b

See more details on using hashes here.

File details

Details for the file Pyttman-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: Pyttman-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.0

File hashes

Hashes for Pyttman-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f87916f0d4f0b2fcd1080c649718091d2497f208b426213afc605be781f0b2d
MD5 63ef074dec374072323743c9de8c8fab
BLAKE2b-256 2365f96a8079750ec1c858c6dfc786ac74856b688ce7e84ca2c5970094551c29

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