jinja2

A very fast and expressive template engine.

https://github.com/pallets/jinja

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    6 of 334 committers (1.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

jinja jinja2 pallets python template-engine templates

Keywords from Contributors

werkzeug wsgi apps views closember unit-testing notebook ipython sqlalchemy repl
Last synced: 6 months ago · JSON representation

Repository

A very fast and expressive template engine.

Basic Info
Statistics
  • Stars: 11,117
  • Watchers: 256
  • Forks: 1,662
  • Open Issues: 88
  • Releases: 21
Topics
jinja jinja2 pallets python template-engine templates
Created over 15 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License

README.md

Jinja

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document.

It includes:

  • Template inheritance and inclusion.
  • Define and import macros within templates.
  • HTML templates can use autoescaping to prevent XSS from untrusted user input.
  • A sandboxed environment can safely render untrusted templates.
  • AsyncIO support for generating templates and calling async functions.
  • I18N support with Babel.
  • Templates are compiled to optimized Python code just-in-time and cached, or can be compiled ahead-of-time.
  • Exceptions point to the correct line in templates to make debugging easier.
  • Extensible filters, tests, functions, and even syntax.

Jinja's philosophy is that while application logic belongs in Python if possible, it shouldn't make the template designer's job difficult by restricting functionality too much.

In A Nutshell

jinja {% extends "base.html" %} {% block title %}Members{% endblock %} {% block content %} <ul> {% for user in users %} <li><a href="{{ user.url }}">{{ user.username }}</a></li> {% endfor %} </ul> {% endblock %}

Donate

The Pallets organization develops and supports Jinja and other popular packages. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today.

Contributing

See our detailed contributing documentation for many ways to contribute, including reporting issues, requesting features, asking or answering questions, and making PRs.

Owner

  • Name: Pallets
  • Login: pallets
  • Kind: organization
  • Email: contact@palletsprojects.com

GitHub Events

Total
  • Create event: 13
  • Release event: 2
  • Issues event: 64
  • Watch event: 744
  • Delete event: 12
  • Issue comment event: 120
  • Push event: 55
  • Pull request review comment event: 7
  • Pull request review event: 8
  • Pull request event: 75
  • Fork event: 74
Last Year
  • Create event: 13
  • Release event: 2
  • Issues event: 64
  • Watch event: 744
  • Delete event: 12
  • Issue comment event: 120
  • Push event: 55
  • Pull request review comment event: 7
  • Pull request review event: 8
  • Pull request event: 75
  • Fork event: 74

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 2,175
  • Total Committers: 334
  • Avg Commits per committer: 6.512
  • Development Distribution Score (DDS): 0.49
Past Year
  • Commits: 69
  • Committers: 30
  • Avg Commits per committer: 2.3
  • Development Distribution Score (DDS): 0.449
Top Committers
Name Email Commits
Armin Ronacher a****r@a****m 1,109
David Lord d****m@g****m 348
dependabot[bot] 4****] 52
dependabot-preview[bot] 2****] 37
pre-commit-ci[bot] 6****] 32
Adrian Moennich a****n@p****t 31
Georg Brandl g****g@p****g 25
Markus Unterwaditzer m****s@u****t 25
Kristi Tsukida k****v@g****m 12
Jon Dufresne j****e@g****m 12
Sebastian Noack s****k@g****m 11
Amy l****2@g****m 10
Christoph Hack c****h@t****g 10
Cory Benfield l****z@g****m 8
Thomas Waldmann tw@w****e 8
Erik Johnson p****e@g****m 7
Kartheek Lenkala l****e@g****m 7
Kevin Brown k****n@k****m 6
Martin Krizek m****k@g****m 6
Benjamin Wiegand h****e@b****e 6
Berker Peksag b****g@g****m 5
Florian Bruhin g****t@t****g 5
Min ho Kim m****2@g****m 5
Wing S****g 5
Dmitry Jemerov y****e@j****m 4
Kevin Schuetz s****k@g****m 4
Lakin Wecker l****n@s****m 4
EtiennePelletier e****3@h****m 4
Priit Laes p****s@p****g 4
Adam Johnson me@a****u 3
and 304 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 175
  • Total pull requests: 231
  • Average time to close issues: 3 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 157
  • Total pull request authors: 88
  • Average comments per issue: 1.82
  • Average comments per pull request: 0.88
  • Merged pull requests: 130
  • Bot issues: 0
  • Bot pull requests: 70
Past Year
  • Issues: 41
  • Pull requests: 47
  • Average time to close issues: 22 days
  • Average time to close pull requests: 14 days
  • Issue authors: 38
  • Pull request authors: 24
  • Average comments per issue: 1.39
  • Average comments per pull request: 0.74
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • joeUser555 (4)
  • graingert (4)
  • jayaddison (3)
  • invisibleroads (2)
  • Anoncheg1 (2)
  • lindhe (2)
  • pete312 (2)
  • phemmer (2)
  • pawamoy (2)
  • vadimkantorov (2)
  • simonw (2)
  • frenzymadness (2)
  • davidism (2)
  • cmason3 (2)
  • elektito (1)
Pull Request Authors
  • dependabot[bot] (51)
  • davidism (38)
  • pre-commit-ci[bot] (22)
  • graingert (14)
  • Cachiman (4)
  • pawamoy (4)
  • jayaddison (4)
  • kevin-brown (4)
  • akx (4)
  • Varriount (3)
  • sileht (3)
  • mkrizek (3)
  • frankdu (2)
  • DCAuto (2)
  • homeworkprod (2)
Top Labels
Issue Labels
docs (8) async (3) parser (2) bug (1)
Pull Request Labels
dependencies (51) docs (34) parser (21) github_actions (12) python (6) async (4)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 316,494,347 last-month
  • Total docker downloads: 2,367,763,010
  • Total dependent packages: 4,558
    (may contain duplicates)
  • Total dependent repositories: 137,132
    (may contain duplicates)
  • Total versions: 86
  • Total maintainers: 2
  • Total advisories: 10
pypi.org: jinja2

A very fast and expressive template engine.

  • Versions: 52
  • Dependent Packages: 4,068
  • Dependent Repositories: 133,056
  • Downloads: 316,494,327 Last month
  • Docker Downloads: 2,367,763,010
Rankings
Dependent packages count: 0.0%
Downloads: 0.0%
Dependent repos count: 0.0%
Docker downloads count: 0.0%
Average: 0.3%
Stargazers count: 0.5%
Forks count: 1.4%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: jinja2

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document. It includes: - Template inheritance and inclusion. - Define and import macros within templates. - HTML templates can use autoescaping to prevent XSS from untrusted user input. - A sandboxed environment can safely render untrusted templates. - AsyncIO support for generating templates and calling async functions. - I18N support with Babel. - Templates are compiled to optimized Python code just-in-time and cached, or can be compiled ahead-of-time. - Exceptions point to the correct line in templates to make debugging easier. - Extensible filters, tests, functions, and even syntax. Jinja's philosophy is that while application logic belongs in Python if possible, it shouldn't make the template designer's job difficult by restricting functionality too much.

  • Versions: 17
  • Dependent Packages: 421
  • Dependent Repositories: 2,038
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.3%
Average: 1.7%
Stargazers count: 3.1%
Forks count: 3.3%
Last synced: 6 months ago
anaconda.org: jinja2

Jinja is a fast, expressive, extensible templating engine. Special placeholders in the template allow writing code similar to Python syntax. Then the template is passed data to render the final document. It includes: - Template inheritance and inclusion. - Define and import macros within templates. - HTML templates can use autoescaping to prevent XSS from untrusted user input. - A sandboxed environment can safely render untrusted templates. - AsyncIO support for generating templates and calling async functions. - I18N support with Babel. - Templates are compiled to optimized Python code just-in-time and cached, or can be compiled ahead-of-time. - Exceptions point to the correct line in templates to make debugging easier. - Extensible filters, tests, functions, and even syntax. Jinja's philosophy is that while application logic belongs in Python if possible, it shouldn't make the template designer's job difficult by restricting functionality too much.

  • Versions: 16
  • Dependent Packages: 69
  • Dependent Repositories: 2,038
Rankings
Dependent packages count: 0.5%
Dependent repos count: 1.5%
Average: 4.9%
Stargazers count: 8.3%
Forks count: 9.1%
Last synced: 6 months ago
pypi.org: mw-jinja2

A very fast and expressive template engine.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 20 Last month
Rankings
Dependent packages count: 6.6%
Dependent repos count: 30.6%
Average: 32.8%
Downloads: 61.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements/dev.in pypi
  • pip-compile-multi * development
  • pre-commit * development
  • tox * development
requirements/dev.txt pypi
  • build ==0.8.0 development
  • cfgv ==3.3.1 development
  • click ==8.1.3 development
  • distlib ==0.3.4 development
  • filelock ==3.7.1 development
  • identify ==2.5.1 development
  • nodeenv ==1.7.0 development
  • pep517 ==0.12.0 development
  • pip-compile-multi ==2.4.5 development
  • pip-tools ==6.8.0 development
  • platformdirs ==2.5.2 development
  • pre-commit ==2.19.0 development
  • pyyaml ==6.0 development
  • six ==1.16.0 development
  • toml ==0.10.2 development
  • toposort ==1.7 development
  • tox ==3.25.1 development
  • virtualenv ==20.15.1 development
  • wheel ==0.37.1 development
requirements/docs.in pypi
  • Pallets-Sphinx-Themes *
  • Sphinx *
  • sphinx-issues *
  • sphinxcontrib-log-cabinet *
requirements/docs.txt pypi
  • alabaster ==0.7.12
  • babel ==2.10.3
  • certifi ==2022.6.15
  • charset-normalizer ==2.1.0
  • docutils ==0.18.1
  • idna ==3.3
  • imagesize ==1.4.1
  • jinja2 ==3.1.2
  • markupsafe ==2.1.1
  • packaging ==21.3
  • pallets-sphinx-themes ==2.0.2
  • pygments ==2.12.0
  • pyparsing ==3.0.9
  • pytz ==2022.1
  • requests ==2.28.1
  • snowballstemmer ==2.2.0
  • sphinx ==5.0.2
  • sphinx-issues ==3.0.1
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-log-cabinet ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • urllib3 ==1.26.9
requirements/tests.in pypi
  • pytest * test
requirements/tests.txt pypi
  • attrs ==21.4.0 test
  • iniconfig ==1.1.1 test
  • packaging ==21.3 test
  • pluggy ==1.0.0 test
  • py ==1.11.0 test
  • pyparsing ==3.0.9 test
  • pytest ==7.1.2 test
  • tomli ==2.0.1 test
requirements/typing.in pypi
  • mypy *
requirements/typing.txt pypi
  • mypy ==0.961
  • mypy-extensions ==0.4.3
  • tomli ==2.0.1
  • typing-extensions ==4.3.0
.github/workflows/lock.yaml actions
  • dessant/lock-threads v4 composite
.github/workflows/tests.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/publish.yaml actions
  • actions/checkout c85c95e3d7251135ab7dc9ce3241c5835cc595a9 composite
  • actions/download-artifact 9bc31d5ccc31df68ecc42ccf4149144866c47d8a composite
  • actions/setup-python bd6b4b6205c4dbad673328db7b31b7fab9e241c0 composite
  • actions/upload-artifact 0b7f8abb1508181956e8e162db84b466c27e18ce composite
  • pypa/gh-action-pypi-publish f5622bde02b04381239da3573277701ceca8f6a0 composite
pyproject.toml pypi
  • MarkupSafe >=2.0
requirements/build.in pypi
  • build *
requirements/build.txt pypi
  • build ==0.10.0
  • packaging ==23.1
  • pyproject-hooks ==1.0.0
  • tomli ==2.0.1