{ "info": { "author": "Shitij Goyal", "author_email": "goyalshitij@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7" ], "description": "# Prinder\nPull Request reminder for Github with numerous configurations and templating feature using the powerful Jinja2\n\n## Installation and Configuration\nOn *nix systems:-\n\n1. Install Prinder using pip. \n```bash\npip install prinder\n```\n2. Create a configuration file. The default filename is **prinder_config.yaml** but you can name it whatever you want. Fill in all the fields or leave them empty if you don't need them. Copy the config template from here - [prinder_config.yaml.template](https://github.com/masterlittle/Prinder/blob/master/prinder_config.yaml.template)\n\n3. Get a github auth token with relevant access and assign it to the environment variable **PRINDER_GITHUB_API_TOKEN** or assign it in the configuration file to **github_api_token**. (Copying the token to the file is not recommended)![token](https://github.com/masterlittle/Prinder/blob/master/github_token_permissions.png)\n\n4. Run the command with the file name as argument if required. If no argument is passed, it will try to find prinder_config.yaml in the working directory. The debug parameter can be passed to turn on detailed logging. \n```bash\nprinder --config_file=\neg -\n 1. prinder\n 2. prinder --config_file=prinder_config.yml\n 3. prinder --debug\n```\n\n5. The logs of the service can be found at prinder.log in the working directory.\n\n### Prinder has a number of configurations using which you can configure hooks to Slack or Email. Some important ones are:\n\n1. *organization_name*: The organization name for which to get pull requests.\n2. *list_of_repos*: Provide a list of repos for which to get pending pull requests.\n3. *topics*: Provide a list of topics attached to repositories for which to get pending pull requests.\n4. *ignore_repos*: List of repos which should be ignored.\n5. *ignore_labels*: List of labels assigned to pull requests to be ignored.\n6. *slack:post_as_user*: The name which will be shown on Slack.\n7. *initial_message*: The text that will appear at the the top in the notification hooks.\n\n### Formatting the notifications\n You can set your own look and feel of notifications and override the default using the templating files. The templating uses Jinja2 so everything is highly configurable.\n\n **For Slack**\n 1. Create a template file. You can have a look at slack_template.template which is the default.\n 2. Give the path to the template file in your configuration file.\n\n **For Mail**\n 1. Create a template file. You can have a look at mail_template.html which is the default.\n 2. Give the path to the template file in your configuration file.\n\n List of available information is :-\n 1. Owner\n 2. Initial Message\n 3. List of pull request object\n 4. A dictionary having pull requests with the repository name as the key\n 5. *time_delta* function to calculate the number of days since pull request created\n\n\n### Send pull request reminders to Slack\nGet a slack token and assign it to the environment variable **PRINDER_SLACK_API_TOKEN** or assign it in the configuration file to **slack_api_token**. (Copying the token to the file is not recommended)\n\n### Send pull request reminders in email\nConfigure a SMTP on your host and provide the details in the configuration file. \n\n# CONTRIBUTING\nThis started as a side project for a requirement that I had and as a way to improve my Python skills. I would warmly welcome any Pull requests and feature requests that you may have. Thanks \n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/masterlittle/Prinder", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "prinder", "package_url": "https://pypi.org/project/prinder/", "platform": "", "project_url": "https://pypi.org/project/prinder/", "project_urls": { "Homepage": "http://github.com/masterlittle/Prinder" }, "release_url": "https://pypi.org/project/prinder/1.2.2/", "requires_dist": [ "Jinja2 (==2.10)", "MarkupSafe (==1.0)", "asn1crypto (==0.24.0)", "certifi (==2018.4.16)", "cffi (==1.11.5)", "chardet (==3.0.4)", "click (==6.7)", "cryptography (==2.2.2)", "enum34 (==1.1.6)", "github3.py (==1.1.0)", "idna (==2.7)", "ipaddress (==1.0.22)", "ndg-httpsclient (==0.5.0)", "pyasn1 (==0.4.3)", "pycparser (==2.18)", "pyOpenSSL (==18.0.0)", "python-dateutil (==2.7.3)", "PyYAML (==3.13)", "requests (==2.19.1)", "six (==1.11.0)", "slacker (==0.9.65)", "uritemplate (==3.0.0)", "urllib3 (==1.23)" ], "requires_python": "", "summary": "Posts a list of open pull requests for an organization", "version": "1.2.2" }, "last_serial": 4097932, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "b71269d280376b07f4e1a65c106abaf0", "sha256": "0b40a32859ddb4d1dadb1604bfe7a706f63b33cb80d82353f8f147f8f63e687b" }, "downloads": -1, "filename": "prinder-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b71269d280376b07f4e1a65c106abaf0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6962, "upload_time": "2018-07-06T11:58:04", "url": "https://files.pythonhosted.org/packages/de/56/0533000cdd3394c21c06d4701b9b00b8b5b9a5b6fbc1431a58defe949ab3/prinder-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69f477e22582dfcb25e647bda8523dd9", "sha256": "494125eb881bc3e3fc82d01f79dec5767209d2335b13c3f578a27bfa9a2293cd" }, "downloads": -1, "filename": "prinder-1.0.0.tar.gz", "has_sig": false, "md5_digest": "69f477e22582dfcb25e647bda8523dd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5567, "upload_time": "2018-07-06T11:58:05", "url": "https://files.pythonhosted.org/packages/fd/87/fd9a4f3faee7ea26078e7033d636ad27bcbab8ae179183b46571d57fe667/prinder-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c90512c9f48b29c409231bc21e17c0f7", "sha256": "a0c88301e35b46686e324b625102dbafd9d9f49851c10b37c02620c72ff21c49" }, "downloads": -1, "filename": "prinder-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c90512c9f48b29c409231bc21e17c0f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7095, "upload_time": "2018-07-16T05:48:09", "url": "https://files.pythonhosted.org/packages/04/d5/9bd9034329ef7813e8ba79150065ea5212a2bef5a93c357f881cff6c9249/prinder-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "768f8f144b50f9b1c42c906ac54cb24a", "sha256": "d094c6b6d066c92ba93c18263c8840a2330b16dd6324d23dc2059cd85684c643" }, "downloads": -1, "filename": "prinder-1.1.0.tar.gz", "has_sig": false, "md5_digest": "768f8f144b50f9b1c42c906ac54cb24a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5794, "upload_time": "2018-07-16T05:48:10", "url": "https://files.pythonhosted.org/packages/d0/ba/91fdaf595fc54e5855b7548a9204f601ad0aa98b015d3aa17b5f6136f489/prinder-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "173ac57d141dff1bec985290cf117214", "sha256": "272d9fe998d9939f71179270903b907193c741855b2565bc33c79878b99c578a" }, "downloads": -1, "filename": "prinder-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "173ac57d141dff1bec985290cf117214", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9446, "upload_time": "2018-07-17T11:15:47", "url": "https://files.pythonhosted.org/packages/91/e5/f17204f58aa070cf2679486a848b50a27e41b228ba4cc1d3ece18b24a5c2/prinder-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "818a7eb1576b1c627cf8dffe4cce7cc9", "sha256": "5664807e4d3637c778abd906109a497fbad17d2ccc816c078ecee74c8cf5002c" }, "downloads": -1, "filename": "prinder-1.1.1.tar.gz", "has_sig": false, "md5_digest": "818a7eb1576b1c627cf8dffe4cce7cc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6035, "upload_time": "2018-07-17T11:15:50", "url": "https://files.pythonhosted.org/packages/56/f5/4bda378f76f3f0beabbb61973fcd462b2038fb530322f94c8f166c337a24/prinder-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fd73856a376f40dbce696d05e760fcf5", "sha256": "1fa7019c1ced57b91e991fd5c500c62e973c8172eff7af2d9c7eab5bd6e86e13" }, "downloads": -1, "filename": "prinder-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd73856a376f40dbce696d05e760fcf5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10574, "upload_time": "2018-07-24T16:29:52", "url": "https://files.pythonhosted.org/packages/ab/e6/df2223932d3813aaa71ee5e452a1b8a20a73a7acad11e6d821c7b9fb2969/prinder-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e9974b5d01dbdc1275f53d111cc23d7", "sha256": "49bbbdbc5676ec0b86b20d8a638bc554a879998419b2ba68ce4a5c446a8e1ff0" }, "downloads": -1, "filename": "prinder-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3e9974b5d01dbdc1275f53d111cc23d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6579, "upload_time": "2018-07-24T16:29:53", "url": "https://files.pythonhosted.org/packages/98/48/55533c8dc2d28586aad4d4e72c5ab7f8a0c11f2ef430e22f93f38e7494ed/prinder-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "c0bd58f0b2be8799bff54b6eb6afb01d", "sha256": "4407c96c2d160cf6efc51ebe1fb75296c0d746361a322b82d4d0dd42ddfc43e7" }, "downloads": -1, "filename": "prinder-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c0bd58f0b2be8799bff54b6eb6afb01d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11737, "upload_time": "2018-07-24T17:39:37", "url": "https://files.pythonhosted.org/packages/0d/28/bc289db0056717dc2c4af100c8276657757f88d9c7b64a3941ef9b1e2007/prinder-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21b39ff13812c075303ff98020037b2e", "sha256": "2b5837a1d980a9d8c52c41a93695822931cfb528f751d4f663f8d59553ef7c23" }, "downloads": -1, "filename": "prinder-1.2.1.tar.gz", "has_sig": false, "md5_digest": "21b39ff13812c075303ff98020037b2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7202, "upload_time": "2018-07-24T17:39:38", "url": "https://files.pythonhosted.org/packages/0f/ee/65fb87a66906a5c15ddaf9dfb1db53ef0cfbebca0e728cca89ef0ccf2b84/prinder-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "fd9516870b847052340d57d2976b265f", "sha256": "f915c9df730fe36c4a1613d8f389bbde75155029bb27a9df3152a24ed6f9951d" }, "downloads": -1, "filename": "prinder-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd9516870b847052340d57d2976b265f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11728, "upload_time": "2018-07-24T17:47:28", "url": "https://files.pythonhosted.org/packages/9f/bd/41c999b57622cbaa5dfc5b2f45a35a258f1ebc24c5c3d1be36a993933c16/prinder-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ea99054511ead262284d8f12729b5bf", "sha256": "37c096d89001c2f93dce0f0885047d3a10ff49c51176aa6a9c2afec7083f051f" }, "downloads": -1, "filename": "prinder-1.2.2.tar.gz", "has_sig": false, "md5_digest": "0ea99054511ead262284d8f12729b5bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7198, "upload_time": "2018-07-24T17:47:30", "url": "https://files.pythonhosted.org/packages/7c/9f/b787e244c1251cd5831ee53ddfd08c6ed17d2b3ed6e6636e1318fe06e284/prinder-1.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fd9516870b847052340d57d2976b265f", "sha256": "f915c9df730fe36c4a1613d8f389bbde75155029bb27a9df3152a24ed6f9951d" }, "downloads": -1, "filename": "prinder-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd9516870b847052340d57d2976b265f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11728, "upload_time": "2018-07-24T17:47:28", "url": "https://files.pythonhosted.org/packages/9f/bd/41c999b57622cbaa5dfc5b2f45a35a258f1ebc24c5c3d1be36a993933c16/prinder-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ea99054511ead262284d8f12729b5bf", "sha256": "37c096d89001c2f93dce0f0885047d3a10ff49c51176aa6a9c2afec7083f051f" }, "downloads": -1, "filename": "prinder-1.2.2.tar.gz", "has_sig": false, "md5_digest": "0ea99054511ead262284d8f12729b5bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7198, "upload_time": "2018-07-24T17:47:30", "url": "https://files.pythonhosted.org/packages/7c/9f/b787e244c1251cd5831ee53ddfd08c6ed17d2b3ed6e6636e1318fe06e284/prinder-1.2.2.tar.gz" } ] }