python-xmlsec

Python bindings for the XML Security
Library.
Documentation
Documentation for xmlsec can be found at
xmlsec.readthedocs.io.
Usage
Check the
examples
section in the documentation to see various examples of signing and
verifying using the library.
Requirements
libxml2 >= 2.9.1
libxmlsec1 >= 1.2.33
Install
xmlsec is available on PyPI:
pip install xmlsec
Depending on your OS, you may need to install the required native
libraries first:
Linux (Debian)
apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl
Note: 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 install
Linux (CentOS)
yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
Linux (Fedora)
dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
Mac
brew install libxml2 libxmlsec1 pkg-config
or
port install libxml2 xmlsec pkgconfig
Alpine
apk add build-base openssl libffi-dev openssl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec
Troubleshooting
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
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
Building from source
-
Clone the xmlsec source code repository to your local computer.
git clone https://github.com/xmlsec/python-xmlsec.git
-
Change into the python-xmlsec root directory.
cd /path/to/xmlsec
-
Install the project and all its dependencies using pip.
pip install .
Contributing
Setting up your environment
-
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 mkvirtualenv command is available from virtualenvwrapper
package which can be installed by following
link.
-
Activate the created virtual environment:
workon xmlsec
-
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
Reporting an issue
Please attach the output of following information:
License
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.