Skip to main content

Personal Assistant on the command line

Project description

Yoda PA

Github CI PyPI version

Personal Assistant on the command line.

Yoda

Installation

pip install yodapa

yoda --help

Configure Yoda

yoda configure

Plugins

Write your own plugin for Yoda

Simply create a class with the @yoda_plugin(name="plugin-name") decorator and add methods to it. The non-private methods will be automatically added as sub-commands to Yoda, with the command being the name you provide to the decorator.

import typer
from yodapa.plugin_manager.decorator import yoda_plugin


@yoda_plugin(name="hi")
class HiPlugin:
    """
    Hi plugin. Say hello.

    Example:
        $ yoda hi hello --name MP
        $ yoda hi hello
    """

    def hello(self, name: str = None):
        """Say hello."""
        name = name or "Padawan"
        typer.echo(f"Hello {name}!")

    def _private_method_should_not_be_added(self):
        """This method should not be added as a command."""
        raise NotImplementedError()

Development setup

# 1. Install poetry from their website: https://python-poetry.org/docs/#installation

# 2. Install dependencies and this package
poetry install

# 3. Activate the virtual environment
poetry shell

# Now you should be able to communicate with yoda
yoda --help

Testing

# Run tests when in the virtual environment
pytest

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

yodapa-0.3.1.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

yodapa-0.3.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file yodapa-0.3.1.tar.gz.

File metadata

  • Download URL: yodapa-0.3.1.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/6.8.0-1014-azure

File hashes

Hashes for yodapa-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b2a3ecce31f51ce68255ac006ffe82dee2ee940c0dcedec53ef7c83b26b03fe3
MD5 8e84c1eca307caed9bf9a6de55688e3a
BLAKE2b-256 a0b85b2da175abce3088b0ed2ed7b28bd3a9da40b2e7fdacd2da8443cf8db2e5

See more details on using hashes here.

File details

Details for the file yodapa-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: yodapa-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/6.8.0-1014-azure

File hashes

Hashes for yodapa-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bddbce1e5a8e205c71ec4d73f1042a5b76913caf03da3f308d980dc63e85484a
MD5 7645484934f207c9ca747d3977a8565b
BLAKE2b-256 71d9f12a5523a4ca1c39ef01e5c4c5b4de608fcd9490d0a413add83799922856

See more details on using hashes here.

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