Skip to main content

IPython magics to render cells as templates in a variety of different templating languages.

Project description

Template IPython magics 🎩

This package provides simple IPython magics to render cells as templates in a variety of different templating languages. It currently supports Mako and Jinja2.

To use it, first install the package from PyPI, along with at least one of the supported templating languages. E.g. using pipenv (everyone should use pipenv):

pipenv install template-ipython-magic jinja2 mako

In your notebook, load the template_magic module:

%load_ext template_magic

Note that the available templating languages are detected at the point of loading the extension, and each magic only enabled if the appropriate package is found. If neither Jinja2 or Mako are installed, there will be no magics!

Now you can use %jinja as a line magic within any code block, with access to all variables in scope. The result is formatted as Markdown:

import sys

%jinja Hello from **Jinja** on Python {{sys.version_info.major}}.{{sys.version_info.minor}}! 🐍

Hello from Jinja on Python 3.8! 🐍

If you prefer, %mako is also available:

import datetime
now = datetime.datetime.now()

%mako Hello from *Mako* at ${now.strftime('%I:%M %p')}... 

Hello from Mako at 08:39 PM... ⏰

Cell magics are also available for each language, which lets you render the entire cell as a template for convenient report generation:

%%jinja

{%- for x in ['spam'] * 7 + ['eggs', 'spam'] %}
- {% if loop.last %}and {% endif %}{{x}}{%if not loop.last %},{% endif %}
{%- endfor %}
  • spam,
  • spam,
  • spam,
  • spam,
  • spam,
  • spam,
  • spam,
  • eggs,
  • and spam

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

template-ipython-magic-0.1.2.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

template_ipython_magic-0.1.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file template-ipython-magic-0.1.2.tar.gz.

File metadata

  • Download URL: template-ipython-magic-0.1.2.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.1 Linux/5.4.8-arch1-1

File hashes

Hashes for template-ipython-magic-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6e22d8903b64f888548989d4c9b20d1d057b87880ff70c830e59e7ed30d7762f
MD5 06ad9731b3854a5f57a4299639d0de40
BLAKE2b-256 0b516778cd2454bc29ef02326cd867e5e6b7d56193a41d119bba7e8c2d75da58

See more details on using hashes here.

File details

Details for the file template_ipython_magic-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for template_ipython_magic-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1a87ef26de4cc064ea07a8e1f7e51b12115a0326f602691a6ce069d4a7f050de
MD5 2dae3869af0c53f2299e32bc26ff816c
BLAKE2b-256 6ff8096bbbb0804f45bc7bd7589b4da4e2f71d97add97fc8c46680c58f1233f0

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