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.8.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

promplate-0.3.4.8-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file promplate-0.3.4.8.tar.gz.

File metadata

  • Download URL: promplate-0.3.4.8.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for promplate-0.3.4.8.tar.gz
Algorithm Hash digest
SHA256 da3741320913845dda06317c7c07545403275c9b0e29155fccc3a8490e7b89d9
MD5 aab9a879104734de8a53b6063fdf7cb8
BLAKE2b-256 cc968b54d22eb7fe9e8fadc64a90365e95850ef0d362cd1e2c77d5531172ff3d

See more details on using hashes here.

File details

Details for the file promplate-0.3.4.8-py3-none-any.whl.

File metadata

  • Download URL: promplate-0.3.4.8-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for promplate-0.3.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 39f0571384bbb980eba6e902d54672a47ea62cd7a6ced2486acc1f613dfb4bf5
MD5 3a3078c35dbdd640a033282454878318
BLAKE2b-256 40d43e18e635795af232395dfe5b831934f1c01500d5cc6fe154ebb3b47cfef7

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