<!-- thumbnail: https://i.sstatic.net/DoiLq.png -->
<!-- version: 0.1 -->

> ## Now on PyPI!
>
> You can now find [Stack.PY on PyPI](http://pypi.python.org/pypi/stackpy), Python's package index. This means that you can install the package simply by running the following command in a terminal:
>
>     pip install stackpy

![enter image description here][1]

## About

Stack.PY is based heavily on [Stack.PHP](http://stackapps.com/q/826) and [Stack.JS](http://stackapps.com/q/2988), taking the chained-method concept and applying it to Python. The end result is an *extremely* easy to use module, named `stackpy`:

    from stackpy import API, Site
    
    # Print the names of all Stack Exchange sites
    for site in API.sites:
        print site['name']
    
    # Grab the first question on Stack Overflow
    print Site('stackoverflow').questions[0].title

Here are some of the other features you can expect from Stack.PY:

 - **Caching:** currently Stack.PY ships with an SQLite database backend (used for caching currently). By default, if no cache is set, Stack.PY creates an in-memory SQLite database to cache requests for the current session.
 - **Full documentation:** using a single command (see the `README` file) you can generate all of the documentation for the entire module - including an explanation for each parameter of every method.

Many more features are planned:

 - A test suite.
 - A series of examples (currently there is one really primitive example).
 - Full support for rate-limiting and the `backoff` response.

Stack.PY should run perfectly fine in Python 3k using `2to3`.

### License

Stack.PY is released under the [MIT License](http://www.opensource.org/licenses/MIT).

## Contact

I can be reached at `[email protected]`.

## Code

The code for Stack.PY is hosted [here on Launchpad](https://launchpad.net/stackpy). You can check out the latest code using:

    bzr init
    bzr pull lp:stackpy

You can view the code online [here](http://bazaar.launchpad.net/~george-edison55/stackpy/trunk/files).

Stack.PY uses `distutils` so you can install the module by running:

    python setup.py install

...**or**... if you are using Ubuntu, you can add [my PPA](https://code.launchpad.net/~george-edison55/+archive/george-edison) and install the appropriate package:

`sudo apt-get install python-stackpy` (for Python 2k)  
`sudo apt-get install python3-stackpy` (for Python 3k)

  [1]: https://i.sstatic.net/fD0U1.png