Skip to main content

Interpy extends Python to support Ruby like string interpolation #{}.

Project description

Interpy extends Python to support Ruby like string interpolation #{}. Quick example: print "Hello #{your_name}"

It is hightly optimized, and directly compiled to bytecode, so you will have the same Python speed when using it.


The installation of this package is quite simple, you only have to run pip install interpy.


All python files with string interpolation must have the following first line

# coding: interpy


# coding: interpy

package = "Interpy"
print "Enjoy #{package}!"

How it works

This package is inspired in Dropbox `pyxl template engine`_.


Interpy uses support for specifying source code encodings as described in PEP 263 to do what it does. The functionality was originally provided so that python developers could write code in non-ascii languages (eg. chinese variable names). Interpy creates a custom encoding called interpy which allows it to convert interpolated strings into regular python before the file is compiled. Once the interpy codec is registered, any file starting with # coding: interpy is run through the interpy parser before compilation.


The above example would be compiled to this (in bytecode):

# coding: interpy

package = "Interpy"
print "Enjoy "+str(package)+"!"


This package is fully compatible with Python 2+, Python 3+ and PyPy


I really enjoyed Ruby String interpolation, and "".format(...) or "" % (...) seems very verbose to me. I’m lazy by nature ;)

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

interpy-1.1.tar.gz (9.7 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page