{ "info": { "author": "Miquel Torres", "author_email": "tobami@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "# Codespeed\n[![Build Status](https://travis-ci.org/tobami/codespeed.png?branch=master)](https://travis-ci.org/tobami/codespeed)\n[![PyPI version](https://img.shields.io/pypi/v/codespeed.svg)](https://pypi.python.org/pypi/codespeed)\n\nCodespeed is a web application to monitor and analyze the performance of your code.\n\nKnown to be used by [CPython](https://speed.python.org), [PyPy](http://speed.pypy.org), [Twisted](http://speed.twistedmatrix.com) and others.\n\nFor an overview of some application concepts see the [wiki page](https://github.com/tobami/codespeed/wiki/Overview)\n\n# Installation\n\nYou will need Python 2.7 or 3.5+.\n\nTo install dependencies and the codespeed Django app:\n\n pip install codespeed\n\nIf you want version control integration, there are additional requirements:\n\n* Subversion needs pysvn: `python-svn`\n* Mercurial needs the package `mercurial` to clone the repo locally\n* git needs the `git` package to clone the repo\n* For Github the isodate package is required, but not git: `pip install isodate`\n\n**Note**: For git or mercurial repos, the first time the changes view is accessed,\nCodespeed will try to clone the repo, which depending on the size of the project\ncan take a long time. Please be patient.\n\n* Download the last stable release from\n [github.com/tobami/codespeed/tags](https://github.com/tobami/codespeed/tags), unpack it and install it with `python setup.py install`.\n* To get started, you can use the `sample_project` directory as a starting point for your Django project, which can be normally configured by editing `sample_project/settings.py`.\n* For simplicity, you can use the default sqlite configuration, which will save\n the data to a database named `data.db`\n* Create the DB by typing from the root directory:\n\n python manage.py migrate\n\n* Create an admin user:\n\n python manage.py createsuperuser\n\n* For testing purposes, you can now start the development server:\n\n python manage.py runserver 8000\n\nThe codespeed installation can now be accessed by navigating to `http://localhost:8000/`.\n\n**Note**: for production, you should configure a real server like Apache or nginx (refer to the [Django docs](http://docs.djangoproject.com/en/dev/howto/deployment/)). You should also\nmodify `sample_project/settings.py` and set `DEBUG = False`.\n[`sample_project/README.md`](https://github.com/tobami/codespeed/tree/master/sample_project/README.md) also describes some production settings.\n\n# Codespeed configuration\n\n## Using the provided test data\n\nIf you want to test drive Codespeed, you can use the testdata.json fixtures to have a working data set to browse.\n\n* From the root directory, type:\n\n ./manage.py loaddata codespeed/fixtures/testdata.json\n\n## Starting from scratch\n\nBefore you can start saving (and displaying) data, you need to first create an\nenvironment and define a default project.\n\n* Go to `http://localhost:8000/admin/codespeed/environment/`\n and create an environment.\n* Go to `http://localhost:8000/admin/codespeed/project/`\n and create a project.\n\nCheck the field \"Track changes\" and, in case you want version control\nintegration, configure the relevant fields.\n\n**Note**: Only executables associated to projects with a checked \"track changes\"\nfield will be shown in the Changes and Timeline views.\n\n**Note**: Git and Mercurial need to locally clone the repository. That means that your `sample_project/repos` directory will need to be owned by the server. In the case of a typical Apache installation, you'll need to type `sudo chown www-data:www-data sample_project/repos`\n\n# Saving data\n\nData is saved POSTing to `http://localhost:8000/result/add/`.\n\nYou can use the script `tools/save_single_result.py` as a guide.\nWhen saving large quantities of data, it is recommended to use the JSON API instead:\n `http://localhost:8000/result/add/json/`\n\nAn example script is located at `tools/save_multiple_results.py`\n\n**Note**: If the given executable, benchmark, project, or\nrevision do not yet exist, they will be automatically created, together with the\nactual result entry. The only model which won't be created automatically is the\nenvironment. It must always exist or the data won't be saved (that is the reason\nit is described as a necessary step in the previous \"Codespeed configuration\"\nsection).\n\n# Further customization\n\n## Custom Settings\n\nYou may override any of the default settings by setting them in\n`sample_project/settings.py`. It is strongly recommended that you only override the\nsettings you need by importing the default settings and replacing only the\nvalues needed for your customizations:\n\n from codespeed.settings import *\n\n DEF_ENVIRONMENT = \"Dual Core 64 bits\"\n\n### Site-wide Changes\n\nAll pages inherit from the `base.html` template. To change every page on the site \nsimply edit (`sample_project/templates/codespeed/base_site.html`) and override\nthe appropriate block:\n\n* Custom title: you may replace the default \"My Speed Center\" for the title\n block with your prefered value:\n\n {% block title %}\n My Project's Speed Center\n {% endblock %}\n\n* Replacing logo.png: Place your logo in `sample_project/static/images/logo.png`\n* Logo with custom filename: Place your logo in `sample_project/static/images/` and add a block like\n this to `base_site.html`:\n\n {% block logo %}\n \"My\n {% endblock logo %}\n\n n.b. the layout will stay exactly the same for any image with a height of\n 48px (any width will do)\n\n* Custom JavaScript or CSS: add your files to the `sample_project/static/js` directory\n and extend the `extra_head` template block:\n\n {% block extra_head %}\n {{ block.super }}\n