Skip to content

A Jinja2 template loader using PyFilesystem2.

License

Notifications You must be signed in to change notification settings

moremoban/jinja2-fsloader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jinja2-fsloader

A Jinja2 template loader using PyFilesystem2.

build repo versions format coverage grade license

About

This library allows you to use PyFilesystem2 as a backend to load templates into Jinja2. You can take advantage of the whole fs ecosystem, which already implements drivers for FTP, SSH, SMB, S3, WebDAV servers, ZIP and Tar archives, and many more!

Installation

Install with pip:

$ pip install --user -U jinja2-fsloader

Usage

from jinja2_fsloader import FSLoader
FSLoader(template_fs, encoding='utf-8', use_syspath=False)
template_fs
a FS instance or an FS URL where the templates are located.
encoding
the encoding of the template files (utf-8 by default).
use_syspath
set to True for the loader to return the real path or an URL to the template when available (False by default).

Examples

import jinja2
from jinja2_fsloader import FSLoader

# templates in a ZIP archive
env = jinja2.Environment(loader=FSLoader("zip:///path/to/my/templates.zip"))

# templates in a S3 bucket
env = jinja.Environment(loader=FSLoader("s3://mybucket"))

# templates in memory
mem = fs.open_fs('mem://')
mem.settext('template.j2', 'This template is {{adjective}}')
env = jinja.Environment(loader=FSLoader(mem))

See Also

The complete documentation of PyFilesystem2 can give you a better overview of all the features available in the library.

About

A Jinja2 template loader using PyFilesystem2.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%