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
About
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 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.
Contact
I can be reached at [email protected]
.
Code
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.
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 and install the appropriate package:
sudo apt-get install python-stackpy
(for Python 2k)
sudo apt-get install python3-stackpy
(for Python 3k)
access_token
, whichme
uses to return a user.some_se_site.users.me.access_token('12345')
. Unfortunately, theme
attribute 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=None
and disable caching altogether?_ttl
, sadly.