Python bindings for the XML Security Library.
Clone or download
Latest commit 6922046 Nov 27, 2018

README.rst

python-xmlsec

https://travis-ci.org/mehcode/python-xmlsec.png?branch=master https://ci.appveyor.com/api/projects/status/20rtt2wv96gag9cy?svg=true

Python bindings for the XML Security Library.

Usage

Check the examples to see various examples of signing and verifying using the library.

Requirements

  • libxml2 >= 2.9.1
  • libxmlsec1 >= 1.2.14

Install

Pre-Install

Linux (Debian)

apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl

Note: There is no required version of libxml2 for ubuntu precise, so need to download and install it manually.

wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz
tar -xvf libxml2-2.9.1.tar.gz
cd libxml2-2.9.1
./configure && make && make install

Linux (CentOS)

yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel

Mac

brew install libxml2 libxmlsec1

Automated

  1. xmlsec can be installed through easy_install or pip.
pip install xmlsec

Mac

If you get any fatal errors about missing .h files, update your C_INCLUDE_PATH environment variable to include the appropriate files from the libxml2 and libxmlsec1 libraries.

Windows (Wheel)

  1. Download appropriate binary wheel from ci.appveyor.com (see build`s artifacts).

  2. Install wheel

    pip install <wheel filename>

Windows (pip)

  1. Configure build environment, see wiki.python.org for more details.

  2. Install from pip

    pip install xmlsec

Manual

  1. Clone the xmlsec repository to your local computer.

    git clone git://github.com/mehcode/python-xmlsec.git
  2. Change into the xmlsec root directory.

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

    pip install .

Contributing

Setting up your environment

  1. Follow steps 1 and 2 of the manual installation instructions.

  2. 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 xmlsec

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

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

    pip install -r requirements-test.txt
    pip install -e "."

Running the test suite

  1. [Set up your environment](#setting-up-your-environment).

  2. Run the unit tests.

    py.test tests
  3. Tests configuration

    Env variable PYXMLSEC_TEST_ITERATIONS specifies number of test iterations to detect memory leaks.

Reporting a issue

Please attach the output of following information: version of python-xmlsec version of libxmlsec1 version of libxml2

output from command:

pkg-config --cflags xmlsec1

Versions of python

The following versions of python is supported:

  • python2.7
  • python3.4
  • python3.5 (required libxmlsec1 >= 1.2.18 and libxml2 >= 2.9.1)
  • python3.6 (required libxmlsec1 >= 1.2.18 and libxml2 >= 2.9.1)
  • python3.7 (required libxmlsec1 >= 1.2.18 and libxml2 >= 2.9.1)

License

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