This is the server that will be used on
pub.dartlang.org as the default
package repository for the Pub package manager.
For license information, please see LICENSE.
pub_dartlang.py The entry point for running the app. app.yaml App Engine configuration. third_party/ External dependencies, included in the repo so that App Engine will see them. handlers/ Code that handles HTTP requests. models/ Models for persisting data to the App Engine Datastore. views/ Mustache templates. test.py The entry point for testing the app. tests/ Code for testing the app.
The server is written in Python and intended to run on Google App Engine. To run it locally, perform the following steps:
- Install the App Engine SDK for Python.
- Make sure the SDK is on your
Install required packages.2
pip install beautifulsoup4 pycrypto webtest
From the root directory of this repository, run:
Open your browser to http://localhost:8080/ to see that it works.
To run tests:
To publish packages to your local test server, visit http://localhost:8080/admin (sign in as administrator), go to the "Private Key" tab & enter any string into the private key field.
1 This might have been done already if you allowed the Google App
Engine launcher to add symbolic links to your
2 On installing packages:
- Beautiful Soup & WebTest are only required for running tests.
- Some Linux distributions come with PyCrypto installed by default. Make sure at least version 2.6 installed.
- If using Mac and
pipis not available, install brew and run
brew install python.
See the docs on branches and versions.
Ensure you have bundler installed:
gem install bundler
Run this to install the dependencies:
Run this to install the latest version of Pygments for syntax highlighting:
sudo pip install --upgrade pygments
Note that this is only needed on your development machine to iterate on the CSS. The deployed server just uses the pre-compiled CSS and only requires Python.
Once you have everything installed, to modify the styles:
Run Foreman to automatically regenerate the CSS files when any Sass files change:
bundle exec foreman start
When you make changes to SCSS files, make sure to check in the generated CSS files with them.