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.3.dev0.tar.gz (24.4 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for xmlsec-1.0.3.dev0.tar.gz
Algorithm Hash digest
SHA256 9c3983ee1fc82268aec54f44f8125f5c601d88b554e696ae67096e9e0a681cf9
MD5 ea2e77e90ceca4d3d0e5d7ca92a1737a
BLAKE2b-256 0100c3062ee92e7b1f7a819390a595e78e18d4b28a6381cb055b3fb7eab9e59e

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