Skip to content
A python interface to produce and consume Security Assertion Markup Language (SAML) v2.0 messages.
Branch: master
Clone or download
Latest commit 33ed620 Dec 18, 2015


Build Status Coverage Status PyPi Version PyPi Downloads

A python interface to produce and consume Security Asserion Markup Language v2.0 (SAML2) messages.


Python 2.7.x, 3.3.x, 3.4.x support

python-saml supports both python 2.7.x+ and 3.3.x+.

SAML conformance

python-saml conforms to the latest SAML (v2.0) standards.

Environment agnostic

python-saml may be used to produce and consume SAML messages regardless of the environment (terminal, WSGI, django) used to call it.


Check the test suite for additional examples on using the library.




apt-get install libxml2-dev libxmlsec1-dev


brew install libxml2 libxmlsec1


  1. saml can be installed through easy_install or pip.

    pip install saml


  1. Clone the saml repository to your local computer.

    git clone git://
  2. Change into the saml root directory.

    cd /path/to/saml
  3. Install the project and all its dependencies using pip.

    pip install .


Setting up your environment

  1. Follow steps 1 and 2 of the manual installation instructions.
  1. Initialize a virtual environment to develop in. This is done so as to ensure every contributor is working with close-to-identicial versions of packages.

    mkvirtualenv saml

    The mkvirtualenv command is available from virtualenvwrapper which can be installed by following:

  2. Install saml in development mode with testing enabled. This will download all dependencies required for running the unit tests.

    pip install -e ".[test]"

Running the test suite

  1. Set up your environment.

  2. Run the unit tests.



Unless otherwise noted, all files contained within this project are liensed under the MIT opensource license. See the included file LICENSE or visit for more information.

You can’t perform that action at this time.