Python bindings for the XML Security Library.
Documentation for xmlsec can be found at
xmlsec.readthedocs.io.
Check the examples section in the documentation to see various examples of signing and verifying using the library.
libxml2 >= 2.9.1libxmlsec1 >= 1.2.33
xmlsec is available on PyPI:
pip install xmlsecDepending on your OS, you may need to install the required native libraries first:
apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-opensslNote: There is no required version of LibXML2 for Ubuntu Precise, so you 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 installyum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-develdnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-develbrew install libxml2 libxmlsec1 pkg-configor
port install libxml2 xmlsec pkgconfigapk add build-base openssl libffi-dev openssl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsecIf 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.
Starting with 1.3.7, prebuilt wheels are available for Windows, so
running pip install xmlsec should suffice. If you want to build from
source:
-
Configure build environment, see wiki.python.org for more details.
-
Install from source dist:
pip install xmlsec --no-binary=xmlsec
-
Clone the
xmlsecsource code repository to your local computer.git clone https://github.com/xmlsec/python-xmlsec.git
-
Change into the
python-xmlsecroot directory.cd /path/to/xmlsec -
Install the project and all its dependencies using
pip.pip install .
-
Follow steps 1 and 2 of the manual installation instructions.
-
Initialize a virtual environment to develop in. This is done so as to ensure every contributor is working with close-to-identical versions of packages.
mkvirtualenv xmlsec
The
mkvirtualenvcommand is available fromvirtualenvwrapperpackage which can be installed by following link. -
Activate the created virtual environment:
workon xmlsec
-
Install
xmlsecin 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 "."
-
Run the unit tests.
pytest tests
-
Tests configuration
Env variable
PYXMLSEC_TEST_ITERATIONSspecifies number of test iterations to detect memory leaks.
Please attach the output of following information:
-
version of
xmlsec -
version of
libxmlsec1 -
version of
libxml2 -
output from the command
pkg-config --cflags xmlsec1
Unless otherwise noted, all files contained within this project are
licensed under the MIT open source license. See the included LICENSE
file or visit opensource.org for
more information.