Skip to main content

Jinja2 Extension for rendering GitHub project properties

Project description

Jinja2 Extensions for rendering GitHub project properties.

Available extensions are the following:

  • github_repo_branch_sha: render the last commit SHA associated with a GitHub project branch.

  • github_repo_description: render the description of a GitHub project.

https://circleci.com/gh/jcfr/jinja2-github.svg?style=shield

Installation

jinja2-github is available for download from PyPI via pip:

$ pip install jinja2-github

It will automatically install jinja2 along with pygithub.

Usage

github_repo_branch_sha Tag

The extension comes with a github_repo_branch_sha tag that allows to render the last commit SHA associated with a GitHub project branch.

By default, the master branch is used.

from jinja2 import Environment

env = Environment(extensions=['jinja2_github.GitHubRepoBranchShaExtension'])

# Default branch is master -> "4f5191b50026f7281ca1b1cd180e05fad1d716c6"
template = env.from_string("{% github_repo_branch_sha 'Slicer/Slicer' %}")

template.render()

It is also possible to specified a branch (or tag) name:

from jinja2 import Environment

env = Environment(extensions=['jinja2_github.GitHubRepoBranchShaExtension'])

# With an explicit branch name -> "cfe12ceefd761502181660de76a8cc5d40d5f31c"
template = env.from_string("{% github_repo_branch_sha 'Slicer/Slicer', 'master-48' %}")

template.render()

github_repo_description

The extension comes with a github_repo_description tag that allows to render the description of a GitHub project.

from jinja2 import Environment

env = Environment(extensions=['jinja2_github.GitHubRepoDescriptionExtension'])

# -> "Multi-platform, free open source software for visualization and image computing."
template = env.from_string("{% github_repo_description 'Slicer/Slicer' %}")

template.render()

Issues

If you encounter any problems, please file an issue along with a detailed description.

Maintainer: Making a release

  1. Make sure that all CI tests are passing on CircleCI.

  2. List all tags sorted by version

$ git tag -l | sort -V
  1. Choose the next release version number

$ release=X.Y.Z
  1. Download latest sources

$ cd /tmp && \
  git clone git@github.com:jcfr/jinja2-github && \
  cd jinja2-github
  1. Update __version__ in jinja2_github.py script.

$ sed -i "5s/.*/__version__ = '$release'/" jinja2_github.py
  1. Commit and push the changes

$ git add jinja2_github.py
$ git commit -m "jinja2-github $release"
$ git push origin master
  1. Tag the release

$ git tag --sign -m "jinja2-github ${release}" ${release} origin/master
  1. Publish the release tag

$ git push origin ${release}
  1. Check the status of the builds on CircleCI.

  2. Once the builds are completed, check that the distributions are available on PyPI

Code of Conduct

Everyone interacting in the jinja2-github project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.

License

Distributed under the terms of the Apache 2.0 license, jinja2-github is free and open source software

OSI certified

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

jinja2_github-0.1.1.tar.gz (8.9 kB view hashes)

Uploaded Source

Built Distribution

jinja2_github-0.1.1-py2.py3-none-any.whl (15.3 kB view hashes)

Uploaded Python 2 Python 3

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