Skip to main content

Welcome to Invokify

Invokify is a lightweight library that allows you to run functions from a string or list of values.


Installing

Invokify is published on PyPI so you can easily install it with either pip or poetry.

pip install invokify
poetry add invokify

This package is for python 3.10+


Getting started

Let's create a simple command-line command.

We can start by importing the InvokeEngine from invokify:

from invokify import InvokeEngine

Now we need to create an engine to hold our commands:

engine = InvokeEngine()

Once we have our engine set up, all we need to do is decorate our target function using the engine's command method:

@engine.command
def greet(user: str):
    print(f"Hello {user}!")

Congrats, that's all you need to do to create a command! Our next goal will be to parse our command by feeding our engine's parse method a list of values.

cmd, args, callstack = engine.parse(["greet", "Jeff"])

The parse method will return a tuple containing three values:

  1. The command if one was found. If no command was found, it will return None
  2. Any remaining arguments that were passed. The parse method will recursively look for subcommands until it cannot find any, and the remaining arguments will be passed back.
  3. The callstack. A list of the commands and subcommands that were passed in.

Once you have your command, you can execute it easily just by calling it. If your command accept arguments, you can pass args to it.

cmd(*args)

Output:

Hello Jeff!

To actually run commands on the command line, we can just set up a simple input loop. Invokify has a simple built-in parser called string_to_args() that can turn a string into a list of arguments, keeping things like strings and lists intact, and converting numbers automatically.

while True:
    user = input()

    cleaned = string_to_args(user)

    cmd, args, cs = engine.parse(cleaned)

    if cmd:
        cmd(*args)
    else:
        print("No command was found.")

Metadata

Release files for invokify 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for invokify 0.1.4
File Size Uploaded
invokify-0.1.4.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for invokify 0.1.4
File Interpreter ABI Platform
invokify-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 kB

Release files / invokify-0.1.4.tar.gz

Download URL invokify-0.1.4.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8495bd40294d1b21dbf80a321a6ad01beaa2157de25498e91e6fd2cd0162be9e
BLAKE2b-256 checksum
How to use checksums
3537475a9cbbf2d0d4646280e2ca30d8583df6c8454c43d4a40448c948e9f2da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.2 Windows/11

Release files / invokify-0.1.4-py3-none-any.whl

Download URL invokify-0.1.4-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a426bcca8ff09397b6fabc35d28bab901e3e5bcc13c737f6f8b961c61f5100a7
BLAKE2b-256 checksum
How to use checksums
106a273ce86afa345e6fb2fcaa5f8badc576cd874574f27137ca4347a852c1b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.2 Windows/11

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page