|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Tutorial||1,469||a month ago||107||other||Makefile|
|This is a tutorial we are using for Django Girls workshops|
|Django Auditlog||905||40||7||7 hours ago||19||June 27, 2022||56||mit||Python|
|A Django app that keeps a log of changes made to an object.|
|Mayan Edms||398||10 months ago||14||other||Python|
|Free Open Source Document Management System (mirror, no pull request or issues)|
|A system for managing CI data for Mozilla projects|
|Django By Example Book||238||6 years ago||1||Python|
|Code for the book Django By Example https://www.packtpub.com/web-development/django-example|
|Django Formwizard||97||3||12 years ago||4||June 17, 2011||12||bsd-3-clause||Python|
|A rewrite of django's formwizard with pluggable storages|
|살까 말까 할 땐 담아라. 통합 장바구니 카트망고|
|The repository for the 2020 summer code jam. Find more information at https://pythondiscord.com/pages/code-jams/code-jam-7/|
|Gm_pr||30||4 years ago||10||apache-2.0||Python|
|A multi project Github pull request viewer|
|2021.djangocon.us||25||6 months ago||2||other||HTML|
|📺 The DjangoCon US 2021 conference website|
If your project is spread over multiple git repositories, it can be hard to keep track of all the open pull requests.
The gm_pr project gives you a simple web page where you can see all the open pull requests with the number of reviews, labels, milestones, etc.
As a bonus, we also have a Slack bot :-)
The recommended method to run gm_pr is to use the docker image.
A Dockerfile is available. Building and running the image can be done in a few lines:
docker build -t gm_pr . docker volume create --name gmpr # mount the volume in /var/www/gm_pr/rw for log and sqlite db docker run -v gmpr:/var/www/gm_pr/rw -e GM_PR_ORG=MyOrg -e GM_PR_GITHUB_OAUTHTOKEN=xxxx -e GM_PR_ADMIN_LOGIN="admin" -e GM_PR_ADMIN_PASSWORD="admin" --name gm_pr -p 8000:80 -d gm_pr
Now, you can simply point your browser to http://localhost:8000.
The prefered way to configure gm_pr is to set environment variables for docker. Alternatively, you can modify 2 files:
Refer to the Django project if you want to change the configuration. Normally you should only need to adjust a few settings:
ALLOWED_HOSTS list the hosts allowed to connect to this app.
Use "*" to allow everything.
This is the first thing to check if you see a "Bad Request (400)"
This parameter is configurable with environment variable
STATIC_URL Add the full URL to your static directory
Open gm_pr/settings_projects.py and read the comments. You should be able to customize your installation by setting environment variables.
To add projects, visit the "admin/" page. Add a project then add all the related GitHub repos
You can also have some initial projects when starting docker with the
GM_PR_INITIAL_PROJECTS="Material design repos=material-design-lite,material-design-icons;GCM repos=gcm,go-gcm"
You can see your pull requests from Slack.
You need to add a "slash command" in Slack settings:
Then you need to add an incoming-webhook to let the bot send messages to Slack:
Now, go to the channel related to your project and type "/pr". After a few seconds the list of pull requests should appear in your channel.
GM_PR_ALLOWED_HOSTS: list of host allowed to connect on the app (default "*")
GM_PR_GITHUB_OAUTHTOKEN: GitHub oauth token
GM_PR_ORG: GitHub organisation
GM_PR_LAST_ACTIVITY_FILTER: Info in the activity column (see settings_project.py)
GM_PR_WEB_URL: used by Slack bot, link to the web version
GM_PR_SLACK_TOKEN: Slack token
GM_PR_SLACK_URL: Slack hook URL
GM_PR_OLD_PERIOD: number of days before a PR is marked as old
GM_PR_ADMIN_LOGIN: Django admin login
GM_PR_ADMIN_EMAIL: Django admin email
GM_PR_ADMIN_PASSWORD: Django admin password
GM_PR_INITIAL_PROJECTS: comma-separated initial projects "project1=repo1,repo2;project2=repo3"
GM_PR_DEFAULT_COLUMNS: comma-separated list of columns to display (see settings_project.py)
You need to install Django for Python 3, Celery and RabbitMQ.
Here is the command line for macOS, using Homebrew:
brew doctor brew update brew install python3 rabbitmq-server pip3 install -r requirements/commons.txt
On Debian-like systems:
sudo apt-get install python3 celeryd rabbitmq-server sudo pip3 install -r requirements/commons.txt
Create a user and vhost for RabbitMQ:
sudo rabbitmqctl add_user gm_pr gm_pr sudo rabbitmqctl add_vhost gm_pr sudo rabbitmqctl set_permissions -p gm_pr gm_pr ".*" ".*" ".*"
Run the following commands to start the server:
python3 manage.py migrate env GM_PR_ORG=MyOrg GM_PR_ALLOWED_HOSTS="10.0.0.2,10.0.0.3" python3 manage.py runserver
Run the following command in a new terminal:
env GM_PR_GITHUB_OAUTHTOKEN=xxxx python3 manage.py celeryd
Open the web page at http://localhost:8000
Gm_pr is an open-source project distributed under the Apache license version 2
If you like this project, click on the star button on GitHub :-)
Feel free to send us issues, and of course PRs!!