This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Github features Git repository hosting, a download page for your Git tags (or any archive), a basic issue tracker, a wiki and static page hosting (gh-pages). It would be perfect for hosting a Python package and its documentation if gh-pages was easy to setup and was compatible with Sphinx.

Setting up a root branch for gh-pages is quite complex; Sphinx put its source and static files in directories named “_static” and “_source” that gh-pages doesn’t want to serve them.

The Sphinx extension (github.tools.sphinx) corrects the last problem; some paver tasks (github.tools.task.*) take care of the creation of a Git submodule to host the built html documentation; The PasteScript template create the basic layout and pavement.py script to get started.

Requirements

This extension and its dependencies require:

  • a GitHub user account and,
  • Git (tested with 1.6.2.4),
  • Python 2.5+.

It currently has only been tested on Ubuntu 8.04 (and Git built from source) with Python 2.5.

It should work on os X. For Windows, It should work as long as GitPython does. However since it simply start git subprocesses to work, it might be difficult to use with Git installers like msysgit or gitextensions.

Installation

The easiest way to get github-tools is if you have setuptools installed:

easy_install github-tools

Without setuptools, download it from Pypi or from Github, untar it and run:

python setup.py install

The current development version can be found at http://github.com/dinoboff/github-tools/tarball/master.

Usage

Package layout

If you are starting from scratch, create the basic layout with paster:

paster create -t gh_package <project name>

The project name will be used for pypi and for your Github repository (http://github.com/<user>/<project name>).

To finish your development environment setup, create a virtual environment and deploy your package in development mode:

cd <project name>
python bootstrap.py --no-site-packages

The basic package comes with a virtualenv boostrap script to create an isolated Python environments. To activate this environment in your shell, run:

source ./virtual-env/bin/activate
# or .\virtual-env\Scripts\activate.bat on windows

Finally:

paver generate_setup minilib develop.

Paver add a setup.py file to your package and a portable paver library (required by setup.py), and deploy your application in development mode; The “src” folder which contains your package is added to the Python path.

setup.py does not contain much. All setup() parameters are set in pavement.py. All the distutils and setuptools task are available with paver and it is very easy to extends or add your own commands (see paver documentation for more details).

You are ready to write your package (in src/) and its documentation (in docs/source). You should probably start tracking your project now:

git init
git add .
git commit -m "initial import"

Github project creation

When you are ready to share your work, you will need to create a repository at GitHub and push your local repository. Paver can do it for you. Paver will need your GitHub user name and token to create the repository. You can set them with the following command:

git config --global github.user <user>
git config --global github.token <token>

You can find your token on your Github account page.

Then, to create the repository and upload your project:

paver gh_register

Documentation hosting

Once the project is created, you can create your gh-pages branch and upload it to GitHub:

paver gh_pages_create gh_pages_build

Paver will create a submodule of your project at docs/build/html, create a gh-pages root branch and push the branch to your project. It then build the html doc. To clean the html build folder, it update the submodule (you will lose changes not committed and pushed), remove every files and directory (except .git/) and rebuild the documentation.

When your documentation can be published, simply push your gh-pages submodule to GitHub:

paver gh_pages_build gh_pages_update -m "update docs with..."

Your documentation should be available at http://<user name>.github.com/<project name>.

You might also want to update the submodule reference (a submodule point to specific commit on a remote repository, not to the HEAD of a specific branch):

git add docs/build/html
git commit -m "update gh-pages submodule"

Help and development

If you’d like to help out, you can fork the project at http://github.com/dinoboff/github-tools/ and report any bugs at http://github.com/dinoboff/github-tools/issues.

Release History

Release History

0.2rc1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2b3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2b2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2b1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.7

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0b1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0a3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0a2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0a1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
github-tools-0.1.7.tar.gz (103.8 kB) Copy SHA256 Checksum SHA256 Source Jul 18, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting