Skip to main content

Prompt engineering framework for humans

Project description

Promplate

</Promplate/> = <template> // prompt

Promplate is a prompting framework focusing on developing experience. However, it can also be a super-convenient SDK for simple LLM calls. Promplate progressively enhance your prompting workflow. And it values flexibility as well as perfect conventions. Try online

Installation

pip install promplate

Promplate supports both CPython and PyPy, from 3.8 to 3.12. It even supports running in browsers through wasm implementations of python.

Documentation

You can visit our official docs site at docs.py.promplate.dev.

IDE Support 🌹

Promplate is fully typed, which means static type checker will find bugs correctly (if you use pyright for type checking).

We recommend using VS Code as your IDE when coding with promplate, because it natively uses pyright.

The language design of promplate is similar to Jinja2. So you can use the .j2 file extension for template files for syntax highlight.

Development

  • use poetry to manage dependencies.
  • use isort to sort import statements.
  • use black to format code.
  • use pyright to check type annotations.

Development should be done on dev branch, using >=3.10 language features. The master branch is used for py3.8 compatible releases.

Promplate is well tested with pytest. GitHub Actions are used to run tests and linting. And there are test results continually generated on Vercel(py3.9) and Netlify(py3.8). There is a coverage report too.

Future Features (or TODOs?)

  • more documentation
  • javascript implementation
  • improved error handling
    • display compiled code when error occurs through linecache or tempfile (default)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

promplate-0.3.4.7.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

promplate-0.3.4.7-py3-none-any.whl (15.8 kB view hashes)

Uploaded Python 3

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