============ Installation ============ Requirements ============ PassLib currently has no external depedancies besides Python itself: * Python 2.5 or better is required. * PassLib has not been tested with Python 2.4 or earlier, and no guarantees are made about whether PassLib will work with them. * Python 3.x is **not** yet supported, work is ongoing (particularly, unicode issues). The following libraries are not required, but will be used if found: * If installed, `py-bcrypt `_ will be used instead of PassLib's slower pure-python bcrypt implementation. (see :class:`passlib.hash.bcrypt`). *This is strongly recommended, as the builtin implementation is VERY slow*. * stdlib ``crypt.crypt()`` will be used if present, and if the underlying OS supports the specific scheme in question. OS support is autodetected from the following schemes: des-crypt, md5-crypt, bcrypt, sha256-crypt, and sha512-crypt. Installing ========== PassLib can be installed with easy_install, linked/copied into sys.path directly from it's source directory, or installed using ``$SOURCE/setup.py install``, where ``$SOURCE`` is the path to the PassLib source directory. PassLib is pure python, there is nothing to compile or configure. Testing ======= PassLib contains a number of unittests (sadly, coverage is not yet complete). All unit tests are contained within the :mod:`passlib.tests` package, and are designed to be run using the `Nose `_ unit testing library. Once PassLib and nose have been installed, you may run the following commands:: #to run the basic passlib test suite: nosetests -v passlib.tests #to test all passlib backends, including inactive ones: export PASSLIB_TESTS=all nosetests passlib.tests Documentation ============= The latest copy of this documentation should always be available at the `PassLib homepage `_. If you wish to generate your own copy of the documentation, you will need to install `Sphinx `_ (1.0 or better) as well `astdoc `_ (a bundle of custom sphinx themes & extensions used by Assurance Technologies). Next, download the PassLib source, and run ``python $SOURCE/docs/make.py clean html`` (where ``$SOURCE`` is the path to the PassLib source directory). Once Sphinx completes it's run, point a web browser to the file at ``$SOURCE/docs/_build/html/index.html`` to access the PassLib documentation in html format.