Now on PyPI!
You can now find Stack.PY on PyPI, Python's package index. This means that you can install the package simply by running the following command in a terminal:
pip install stackpy
Stack.PY is based heavily on Stack.PHP and Stack.JS, taking the chained-method concept and applying it to Python. The end result is an extremely easy to use module, named
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.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
READMEfile) 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
Stack.PY should run perfectly fine in Python 3k using
Stack.PY is released under the MIT License.
I can be reached at
The code for Stack.PY is hosted here on Launchpad. You can check out the latest code using:
bzr init bzr pull lp:stackpy
You can view the code online here.
distutils so you can install the module by running:
python setup.py install
...or... if you are using Ubuntu, you can add my PPA and install the appropriate package:
sudo apt-get install python-stackpy (for Python 2k)
sudo apt-get install python3-stackpy (for Python 3k)
meuses to return a user.
some_se_site.users.me.access_token('12345'). Unfortunately, the
meattribute is mysteriously missing from the source code. I am planning to rewrite this library within the next couple of months, so I will make sure this is added to the list of things to fix.
_ttl=Noneand disable caching altogether?