Split readme to own file.
This commit is contained in:
parent
bffe887cc2
commit
4fc4399dcd
60
README.rst
Normal file
60
README.rst
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
`pylibmc` is a Python wrapper around the accompanying C Python extension
|
||||||
|
`_pylibmc`, which is a wrapper around `libmemcached` from TangentOrg.
|
||||||
|
|
||||||
|
You have to install `libmemcached` separately, and have your compiler and
|
||||||
|
linker find the include files and libraries.
|
||||||
|
|
||||||
|
With `libmemcached` installed and this package set up, the following basic
|
||||||
|
usage example should work::
|
||||||
|
|
||||||
|
>>> import pylibmc
|
||||||
|
>>> mc = pylibmc.Client(["127.0.0.1:11211"])
|
||||||
|
>>> mc.set("foo", "Hello world!")
|
||||||
|
True
|
||||||
|
>>> mc.get("foo")
|
||||||
|
'Hello world!'
|
||||||
|
|
||||||
|
The API is pretty much `python-memcached`. Some parts of `libmemcached` aren't
|
||||||
|
exposed yet. I think.
|
||||||
|
|
||||||
|
Behaviors
|
||||||
|
=========
|
||||||
|
|
||||||
|
`libmemcached` has ways of telling it how to behave. You'll have to refer to
|
||||||
|
its documentation on what the different behaviors do.
|
||||||
|
|
||||||
|
To change behaviors, quite simply::
|
||||||
|
|
||||||
|
>>> mc.behaviors["hash"] = "fnv1a_32"
|
||||||
|
|
||||||
|
Comparison to other libraries
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Why use `pylibmc`? Because it's fast.
|
||||||
|
|
||||||
|
http://lericson.blogg.se/code/2008/november/pylibmc-051.html
|
||||||
|
|
||||||
|
Change Log
|
||||||
|
==========
|
||||||
|
|
||||||
|
New in version 0.6
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Added compatibility with `libmemcached` 0.26, WRT error return codes.
|
||||||
|
|
||||||
|
Added `flush_all` and `disconnect_all` methods.
|
||||||
|
|
||||||
|
Now using the latest pickling protocol.
|
||||||
|
|
||||||
|
New in version 0.5
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Fixed lots of memory leaks, and added support for `libmemcached` 0.23.
|
||||||
|
|
||||||
|
Also made the code tighter in terms of compiler pendatics.
|
||||||
|
|
||||||
|
New in version 0.4
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Renamed the C module to `_pylibmc`, and added lots of `libmemcached` constants
|
||||||
|
to it, as well as implemented behaviors.
|
66
setup.py
66
setup.py
@ -1,65 +1,3 @@
|
|||||||
"""`pylibmc` is a Python wrapper around the accompanying C Python extension
|
|
||||||
`_pylibmc`, which is a wrapper around `libmemcached` from TangentOrg.
|
|
||||||
|
|
||||||
You have to install `libmemcached` separately, and have your compiler and
|
|
||||||
linker find the include files and libraries.
|
|
||||||
|
|
||||||
With `libmemcached` installed and this package set up, the following basic
|
|
||||||
usage example should work::
|
|
||||||
|
|
||||||
>>> import pylibmc
|
|
||||||
>>> mc = pylibmc.Client(["127.0.0.1:11211"])
|
|
||||||
>>> mc.set("foo", "Hello world!")
|
|
||||||
True
|
|
||||||
>>> mc.get("foo")
|
|
||||||
'Hello world!'
|
|
||||||
|
|
||||||
The API is pretty much `python-memcached`. Some parts of `libmemcached` aren't
|
|
||||||
exposed yet. I think.
|
|
||||||
|
|
||||||
Behaviors
|
|
||||||
=========
|
|
||||||
|
|
||||||
`libmemcached` has ways of telling it how to behave. You'll have to refer to
|
|
||||||
its documentation on what the different behaviors do.
|
|
||||||
|
|
||||||
To change behaviors, quite simply::
|
|
||||||
|
|
||||||
>>> mc.behaviors["hash"] = "fnv1a_32"
|
|
||||||
|
|
||||||
Comparison to other libraries
|
|
||||||
=============================
|
|
||||||
|
|
||||||
Why use `pylibmc`? Because it's fast.
|
|
||||||
|
|
||||||
http://lericson.blogg.se/code/2008/november/pylibmc-051.html
|
|
||||||
|
|
||||||
Change Log
|
|
||||||
==========
|
|
||||||
|
|
||||||
New in version 0.6
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Added compatibility with `libmemcached` 0.26, WRT error return codes.
|
|
||||||
|
|
||||||
Added `flush_all` and `disconnect_all` methods.
|
|
||||||
|
|
||||||
Now using the latest pickling protocol.
|
|
||||||
|
|
||||||
New in version 0.5
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Fixed lots of memory leaks, and added support for `libmemcached` 0.23.
|
|
||||||
|
|
||||||
Also made the code tighter in terms of compiler pendatics.
|
|
||||||
|
|
||||||
New in version 0.4
|
|
||||||
------------------
|
|
||||||
|
|
||||||
Renamed the C module to `_pylibmc`, and added lots of `libmemcached` constants
|
|
||||||
to it, as well as implemented behaviors.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from distutils.core import setup, Extension
|
from distutils.core import setup, Extension
|
||||||
|
|
||||||
@ -71,6 +9,8 @@ if "LIBMEMCACHED_DIR" in os.environ:
|
|||||||
incdirs.append(os.path.join(libdir, "include"))
|
incdirs.append(os.path.join(libdir, "include"))
|
||||||
libdirs.append(os.path.join(libdir, "lib"))
|
libdirs.append(os.path.join(libdir, "lib"))
|
||||||
|
|
||||||
|
readme_text = open("README.rst", "U").read()
|
||||||
|
|
||||||
pylibmc_ext = Extension("_pylibmc", ["_pylibmcmodule.c"],
|
pylibmc_ext = Extension("_pylibmc", ["_pylibmcmodule.c"],
|
||||||
libraries=["memcached"],
|
libraries=["memcached"],
|
||||||
include_dirs=incdirs, library_dirs=libdirs)
|
include_dirs=incdirs, library_dirs=libdirs)
|
||||||
@ -79,5 +19,5 @@ setup(name="pylibmc", version="0.6.1",
|
|||||||
url="http://lericson.blogg.se/code/category/pylibmc.html",
|
url="http://lericson.blogg.se/code/category/pylibmc.html",
|
||||||
author="Ludvig Ericson", author_email="ludvig.ericson@gmail.com",
|
author="Ludvig Ericson", author_email="ludvig.ericson@gmail.com",
|
||||||
license="3-clause BSD <http://www.opensource.org/licenses/bsd-license.php>",
|
license="3-clause BSD <http://www.opensource.org/licenses/bsd-license.php>",
|
||||||
description="libmemcached wrapper", long_description=__doc__,
|
description="libmemcached wrapper", long_description=readme_text,
|
||||||
ext_modules=[pylibmc_ext], py_modules=["pylibmc"])
|
ext_modules=[pylibmc_ext], py_modules=["pylibmc"])
|
||||||
|
Reference in New Issue
Block a user