Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.3 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Libraries

    github-tools 0.1.7 / 0.2 RC1

    Download button

    No screenshots available
    Downloads: 2,824  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Damien Lebrun | More programs
    BSD License / FREE
    April 27th, 2010, 14:43 GMT [view history]
    ROOT / Programming / Libraries

     Read user reviews (0)  Refer to a friend  Subscribe

    github-tools description

    Helpers for Python package hosting at GitHub

    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 and Sphinx put its source and static files in directories named "_source" and "_static" that gh-pages doesn't want to serve.

    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.

    Installation:

    Assuming easy_install is installed, simple execute:

    easy_install github-tools

    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 >). The project details are saved in src/< package name >/__init__.py.

    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-envScriptsactivate.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.

    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_html

    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_update -m "update docs with..."

    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"



    Product's homepage

    Requirements:

    · Python
    · setuptools
    · GIT
    · a GitHub user account

    What's New in This Release: [ read full changelog ]

    · Change GitPython requirement. Requires version 1.6 specifically (version 0.3 will track GitPython 2.x).
    · The gh_pages_clean task correctly checkout the gh-pages branch in the gh-pages submodule.

      


    TAGS:

    GitHub helpers | package hosting | Python library | Python | GitHub | helpers

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM