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.

Installation

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

Usage

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

# coding: interpy

Example:

#!/usr/bin/env python
# coding: interpy

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

How it works

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

Parsing

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.

Why?

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

Uploaded Source

File details

Details for the file interpy-1.0.tar.gz.

File metadata

  • Download URL: interpy-1.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for interpy-1.0.tar.gz
Algorithm Hash digest
SHA256 2bf539b0f3fdc449c79139dc9cb901992736819d2c3f4f854a718507107cb703
MD5 557a5313985fb7dea99790b739befd62
BLAKE2b-256 bc7dda011d70bdf1cfa6e9bbd4b3f22fd2eab96e51525b1b33c22b163d521765

See more details on using hashes here.

Provenance

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