python-xmlsec
=============
.. image:: https://img.shields.io/pypi/v/xmlsec.svg?logo=python&logoColor=white
:target: https://pypi.python.org/pypi/xmlsec
.. image:: https://results.pre-commit.ci/badge/github/xmlsec/python-xmlsec/master.svg
:target: https://results.pre-commit.ci/latest/github/xmlsec/python-xmlsec/master
:alt: pre-commit.ci status
.. image:: https://img.shields.io/appveyor/ci/hoefling/xmlsec/master.svg?logo=appveyor&logoColor=white&label=AppVeyor
:target: https://ci.appveyor.com/project/hoefling/xmlsec
.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml/badge.svg
:target: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml
.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml/badge.svg
:target: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml
.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml/badge.svg
:target: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml
.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml/badge.svg
:target: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml
.. image:: https://codecov.io/gh/xmlsec/python-xmlsec/branch/master/graph/badge.svg
:target: https://codecov.io/gh/xmlsec/python-xmlsec
.. image:: https://img.shields.io/readthedocs/xmlsec/latest?logo=read-the-docs
:target: https://xmlsec.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
Python bindings for the `XML Security Library <https://www.aleksey.com/xmlsec/>`_.
Documentation
*************
A documentation for ``xmlsec`` can be found at `xmlsec.readthedocs.io <https://xmlsec.readthedocs.io/>`_.
Usage
*****
Check the `examples <https://xmlsec.readthedocs.io/en/latest/examples.html>`_ 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:
.. code-block:: bash
pip install xmlsec
Depending on your OS, you may need to install the required native
libraries first:
Linux (Debian)
^^^^^^^^^^^^^^
.. code-block:: bash
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.
.. code-block:: bash
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)
^^^^^^^^^^^^^^
.. code-block:: bash
yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
Linux (Fedora)
^^^^^^^^^^^^^^
.. code-block:: bash
dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
Mac
^^^
.. code-block:: bash
brew install libxml2 libxmlsec1 pkg-config
Alpine
^^^^^^
.. code-block:: bash
apk add build-base libressl libffi-dev libressl-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 <https://wiki.python.org/moin/WindowsCompilers>`_ for more details.
#. Install from source dist:
.. code-block:: bash
pip install xmlsec --no-binary=xmlsec
Building from source
********************
#. Clone the ``xmlsec`` source code repository to your local computer.
.. code-block:: bash
git clone https://github.com/xmlsec/python-xmlsec.git
#. Change into the ``python-xmlsec`` root directory.
.. code-block:: bash
cd /path/to/xmlsec
#. Install the project and all its dependencies using ``pip``.
.. code-block:: bash
pip install .
Contributing
************
Setting up your environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^
#. Follow steps 1 and 2 of the `manual installation instructions <#building-from-source>`_.
#. 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.
.. code-block:: bash
mkvirtualenv xmlsec
The ``mkvirtualenv`` command is available from ``virtualenvwrapper`` package which can be installed by following `link <http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation>`_.
#. Activate the created virtual environment:
.. code-block:: bash
workon xmlsec
#. Install ``xmlsec`` in development mode with testing enabled.
This will download all dependencies required for running the unit tests.
.. code-block:: bash
pip install -r requirements-test.txt
pip install -e "."
Running the test suite
^^^^^^^^^^^^^^^^^^^^^^
#. `Set up your environment <#setting-up-your-environment>`_.
#. Run the unit tests.
.. code-block:: bash
pytest tests
#. Tests configuration
Env variable ``PYXMLSEC_TEST_ITERATIONS`` specifies number of
test iterations to detect memory leaks.
Reporting an issue
^^^^^^^^^^^^^^^^^^
Please attach the output of following information:
* version of ``xmlsec``
* version of ``libxmlsec1``
* version of ``libxml2``
* output from the command
.. code-block:: bash
pkg-config --cflags xmlsec1
License
*******
Unless otherwise noted, all files contained within this project are licensed under the MIT opensource license.
See the included ``LICENSE`` file or visit `opensource.org <http://opensource.org/licenses/MIT>`_ for more information.
Raw data
{
"_id": null,
"home_page": "https://github.com/mehcode/python-xmlsec",
"name": "python-xmlsec1",
"maintainer": "Oleg Hoefling",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "oleg.hoefling@gmail.com",
"keywords": "xmlsec",
"author": "Bulat Gaifullin",
"author_email": "support@mehcode.com",
"download_url": "https://files.pythonhosted.org/packages/b8/67/4e79243dfa339ffe3a149012e936e97fd44a63557def229668228708f202/python-xmlsec1-1.3.14rc1.tar.gz",
"platform": null,
"description": "python-xmlsec\n=============\n\n.. image:: https://img.shields.io/pypi/v/xmlsec.svg?logo=python&logoColor=white\n :target: https://pypi.python.org/pypi/xmlsec\n.. image:: https://results.pre-commit.ci/badge/github/xmlsec/python-xmlsec/master.svg\n :target: https://results.pre-commit.ci/latest/github/xmlsec/python-xmlsec/master\n :alt: pre-commit.ci status\n.. image:: https://img.shields.io/appveyor/ci/hoefling/xmlsec/master.svg?logo=appveyor&logoColor=white&label=AppVeyor\n :target: https://ci.appveyor.com/project/hoefling/xmlsec\n.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml/badge.svg\n :target: https://github.com/mehcode/python-xmlsec/actions/workflows/manylinux.yml\n.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml/badge.svg\n :target: https://github.com/mehcode/python-xmlsec/actions/workflows/macosx.yml\n.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml/badge.svg\n :target: https://github.com/mehcode/python-xmlsec/actions/workflows/linuxbrew.yml\n.. image:: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml/badge.svg\n :target: https://github.com/mehcode/python-xmlsec/actions/workflows/opensuse-tumbleweed.yml\n.. image:: https://codecov.io/gh/xmlsec/python-xmlsec/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/xmlsec/python-xmlsec\n.. image:: https://img.shields.io/readthedocs/xmlsec/latest?logo=read-the-docs\n :target: https://xmlsec.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nPython bindings for the `XML Security Library <https://www.aleksey.com/xmlsec/>`_.\n\nDocumentation\n*************\n\nA documentation for ``xmlsec`` can be found at `xmlsec.readthedocs.io <https://xmlsec.readthedocs.io/>`_.\n\nUsage\n*****\n\nCheck the `examples <https://xmlsec.readthedocs.io/en/latest/examples.html>`_ section in the documentation to see various examples of signing and verifying using the library.\n\nRequirements\n************\n- ``libxml2 >= 2.9.1``\n- ``libxmlsec1 >= 1.2.33``\n\nInstall\n*******\n\n``xmlsec`` is available on PyPI:\n\n.. code-block:: bash\n\n pip install xmlsec\n\nDepending on your OS, you may need to install the required native\nlibraries first:\n\nLinux (Debian)\n^^^^^^^^^^^^^^\n\n.. code-block:: bash\n\n apt-get install pkg-config libxml2-dev libxmlsec1-dev libxmlsec1-openssl\n\n\nNote: There is no required version of LibXML2 for Ubuntu Precise,\nso you need to download and install it manually.\n\n.. code-block:: bash\n\n wget http://xmlsoft.org/sources/libxml2-2.9.1.tar.gz\n tar -xvf libxml2-2.9.1.tar.gz\n cd libxml2-2.9.1\n ./configure && make && make install\n\n\nLinux (CentOS)\n^^^^^^^^^^^^^^\n\n.. code-block:: bash\n\n yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel\n\n\nLinux (Fedora)\n^^^^^^^^^^^^^^\n\n.. code-block:: bash\n\n dnf install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel\n\n\nMac\n^^^\n\n.. code-block:: bash\n\n brew install libxml2 libxmlsec1 pkg-config\n\n\nAlpine\n^^^^^^\n\n.. code-block:: bash\n\n apk add build-base libressl libffi-dev libressl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec\n\n\nTroubleshooting\n***************\n\nMac\n^^^\n\nIf you get any fatal errors about missing ``.h`` files, update your\n``C_INCLUDE_PATH`` environment variable to include the appropriate\nfiles from the ``libxml2`` and ``libxmlsec1`` libraries.\n\n\nWindows\n^^^^^^^\n\nStarting with 1.3.7, prebuilt wheels are available for Windows,\nso running ``pip install xmlsec`` should suffice. If you want\nto build from source:\n\n#. Configure build environment, see `wiki.python.org <https://wiki.python.org/moin/WindowsCompilers>`_ for more details.\n\n#. Install from source dist:\n\n .. code-block:: bash\n\n pip install xmlsec --no-binary=xmlsec\n\n\nBuilding from source\n********************\n\n#. Clone the ``xmlsec`` source code repository to your local computer.\n\n .. code-block:: bash\n\n git clone https://github.com/xmlsec/python-xmlsec.git\n\n#. Change into the ``python-xmlsec`` root directory.\n\n .. code-block:: bash\n\n cd /path/to/xmlsec\n\n\n#. Install the project and all its dependencies using ``pip``.\n\n .. code-block:: bash\n\n pip install .\n\n\nContributing\n************\n\nSetting up your environment\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n#. Follow steps 1 and 2 of the `manual installation instructions <#building-from-source>`_.\n\n\n#. Initialize a virtual environment to develop in.\n This is done so as to ensure every contributor is working with\n close-to-identicial versions of packages.\n\n .. code-block:: bash\n\n mkvirtualenv xmlsec\n\n The ``mkvirtualenv`` command is available from ``virtualenvwrapper`` package which can be installed by following `link <http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation>`_.\n\n#. Activate the created virtual environment:\n\n .. code-block:: bash\n\n workon xmlsec\n\n#. Install ``xmlsec`` in development mode with testing enabled.\n This will download all dependencies required for running the unit tests.\n\n .. code-block:: bash\n\n pip install -r requirements-test.txt\n pip install -e \".\"\n\n\nRunning the test suite\n^^^^^^^^^^^^^^^^^^^^^^\n\n#. `Set up your environment <#setting-up-your-environment>`_.\n\n#. Run the unit tests.\n\n .. code-block:: bash\n\n pytest tests\n\n#. Tests configuration\n\n Env variable ``PYXMLSEC_TEST_ITERATIONS`` specifies number of\n test iterations to detect memory leaks.\n\nReporting an issue\n^^^^^^^^^^^^^^^^^^\n\nPlease attach the output of following information:\n\n* version of ``xmlsec``\n* version of ``libxmlsec1``\n* version of ``libxml2``\n* output from the command\n\n .. code-block:: bash\n\n pkg-config --cflags xmlsec1\n\nLicense\n*******\n\nUnless otherwise noted, all files contained within this project are licensed under the MIT opensource license.\nSee the included ``LICENSE`` file or visit `opensource.org <http://opensource.org/licenses/MIT>`_ for more information.\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python bindings for the XML Security Library",
"version": "1.3.14rc1",
"project_urls": {
"Changelog": "https://github.com/mehcode/python-xmlsec/releases",
"Documentation": "https://xmlsec.readthedocs.io",
"Homepage": "https://github.com/mehcode/python-xmlsec",
"Source": "https://github.com/mehcode/python-xmlsec"
},
"split_keywords": [
"xmlsec"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b8674e79243dfa339ffe3a149012e936e97fd44a63557def229668228708f202",
"md5": "26f6730789c9a080eaa0826414219b01",
"sha256": "539db036f7532ffd78b8126011fa6ab03f379830435a4aa9d308e8ad4e195c99"
},
"downloads": -1,
"filename": "python-xmlsec1-1.3.14rc1.tar.gz",
"has_sig": false,
"md5_digest": "26f6730789c9a080eaa0826414219b01",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 113834,
"upload_time": "2024-04-11T07:37:58",
"upload_time_iso_8601": "2024-04-11T07:37:58.481159Z",
"url": "https://files.pythonhosted.org/packages/b8/67/4e79243dfa339ffe3a149012e936e97fd44a63557def229668228708f202/python-xmlsec1-1.3.14rc1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-11 07:37:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mehcode",
"github_project": "python-xmlsec",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"requirements": [],
"lcname": "python-xmlsec1"
}