Skip to main content

Python bindings for the XML Security Library

Project description

# python-xmlsec
[![Build Status](https://travis-ci.org/mehcode/python-xmlsec.png?branch=master)](https://travis-ci.org/mehcode/python-xmlsec)
[![PyPi Version](https://img.shields.io/pypi/v/xmlsec.svg)](https://pypi-hypernode.com/pypi/xmlsec)
![PyPi Downloads](https://img.shields.io/pypi/dm/xmlsec.svg)
> Python bindings for the XML Security Library.

## Usage

Check the [examples](https://github.com/mehcode/python-xmlsec/tree/master/tests/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)

```sh
apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-opensssl
```

Note: There is no required version of libxml2 for ubuntu precise,
so need to dowload and install it manually.
```sh
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)

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

#### Mac

```sh
brew install libxml2 libxmlsec1
```

### Automated

1. **xmlsec** can be installed through `easy_install` or `pip`.

```sh
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.

### Manual

1. Clone the **xmlsec** repository to your local computer.

```sh
git clone git://github.com/mehcode/python-xmlsec.git
```

2. Change into the **xmlsec** root directory.

```sh
cd /path/to/xmlsec
```

3. Install the project and all its dependencies using `pip`.

```sh
pip install .
```

## Contributing

### Setting up your environment

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

[manual installation instructions]: #manual

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.

```sh
mkvirtualenv xmlsec
```

The `mkvirtualenv` command is available from `virtualenvwrapper` which
can be installed by following: http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation

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

```sh
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.

```sh
py.test tests
```

## 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)

## 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.

[opensource.org]: http://opensource.org/licenses/MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xmlsec-1.0.2.dev0.tar.gz (24.4 kB view details)

Uploaded Source

File details

Details for the file xmlsec-1.0.2.dev0.tar.gz.

File metadata

  • Download URL: xmlsec-1.0.2.dev0.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xmlsec-1.0.2.dev0.tar.gz
Algorithm Hash digest
SHA256 754886f02f0d0f9b9ddf3b8f876b122179958614f09503d6002d2f695b20427d
MD5 98333b2f81e28626c5fd623daeb6d6c9
BLAKE2b-256 b5b393249007b5919dfe7d6ba84a3047014675fd7c5fa9417852df1943dc6637

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page