Code Review, hosted on Google App Engine

Overview

Welcome to Rietveld

GitHub Wiki: https://github.com/rietveld-codereview/rietveld/wiki Google Group: http://groups.google.com/group/codereview-discuss

This project shows how to create a somewhat substantial web application using Django on Google App Engine. It requires Python 2.7 and Django version 1.3 (although a previous version using Python 2.5 and Django 1.2 can still be found in the py25 branch in the repository).

In addition, I hope it will serve as a practical tool for the Python developer community, and hopefully for other open source communities. As I've learned over the last two years at Google, where I developed a similar tool named Mondrian, proper code review habits can really improve the quality of a code base, and good tools for code review will improve developers' life.

Some code in this project was derived from Mondrian, but this is not the full Mondrian tool.

--Guido van Rossum, Python creator and Google employee

Links

License

The license is Apache 2.0. See the file COPYING.

Running

To run the app locally (e.g. for testing), download the Google App Engine SDK from http://code.google.com/appengine/downloads.html. You can then run the server using

  make serve

(assuming you're on Linux or Mac OS X). On Windows just use Google App Engine Launcher.

Please make sure that you have the most recent version of the App Engine SDK installed when running Rietveld locally. That's the version that runs in the production environment too and Rietveld often uses new features.

The server is only accessible on http://localhost:8080. The server in the Google App Engine SDK is not designed for serving real traffic. The App Engine FAQ at https://developers.google.com/appengine/kb/general says about this: "You can override this using the -a flag when running it, but doing so is not recommended because the SDK has not been hardened for security and may contain vulnerabilities."

To deploy your own instance of the app to Google App Engine:

  1. Register your own application ID on the App Engine admin site.
  2. Edit app.yaml to use this app ID instead of 'codereview-hr'.
  3. Upload using
      make update VERSION=123f
    

Don't forget step 2! If you forget to change the application ID, you'll get a error message from "appcfg.py update" (called by "make update") complaining you don't have the right to administer this app.

The VERSION=xxx argument sets the version; the version from the app.yaml is not used. This is to support a convention used for the main Rietveld instance (codereview.appspot.com) whereby we never deploy to the same version twice; the version must be manually picked by the developer doing the deployment. If you don't like this, just edit the Makefile to remove "--version $(VERSION)" and edit app.yaml to hardcode a version number.

Administration

Various jobs to administer an instance are collected in admin_tasks.py. These jobs can be run by an instance administrator by visiting http://your-instance/mapreduce/.

Read-only mirror of https://gitlab.gnome.org/GNOME/meld

About Meld Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It

GNOME Github Mirror 847 Jan 05, 2023
Inspects Python source files and provides information about type and location of classes, methods etc

prospector About Prospector is a tool to analyse Python code and output information about errors, potential problems, convention violations and comple

Python Code Quality Authority 1.7k Dec 31, 2022
Code Review, hosted on Google App Engine

Welcome to Rietveld GitHub Wiki: https://github.com/rietveld-codereview/rietveld/wiki Google Group: http://groups.google.com/group/codereview-discuss

531 Dec 24, 2022
An extensible and friendly code review tool for projects and companies of all sizes.

Review Board Review Board is an open source, web-based code and document review tool built to help companies, open source projects, and other organiza

Review Board 1.5k Jan 02, 2023
Various code metrics for Python code

Radon Radon is a Python tool that computes various metrics from the source code. Radon can compute: McCabe's complexity, i.e. cyclomatic complexity ra

Michele Lacchia 1.4k Jan 07, 2023
A tool for measuring Python class cohesion.

Cohesion Cohesion is a tool for measuring Python class cohesion. In computer programming, cohesion refers to the degree to which the elements of a mod

177 Jan 04, 2023
McCabe complexity checker for Python

McCabe complexity checker Ned's script to check McCabe complexity. This module provides a plugin for flake8, the Python code checker. Installation You

Python Code Quality Authority 527 Dec 21, 2022
A Python application for tracking, reporting on timing and complexity in Python code

A command-line application for tracking, reporting on complexity of Python tests and applications. wily [a]: quick to think of things, having a very g

Anthony Shaw 1k Dec 29, 2022
Monitoring tool based on radon

xenon Xenon is a monitoring tool based on Radon. It monitors your code's complexity. Ideally, Xenon is run every time you commit code. Through command

Michele Lacchia 218 Dec 05, 2022