Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-xmlsec for openSUSE:Factory checked in at 2025-03-18 17:42:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-xmlsec (Old) and /work/SRC/openSUSE:Factory/.python-xmlsec.new.19136 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-xmlsec" Tue Mar 18 17:42:24 2025 rev:12 rq:1254100 version:1.3.15 Changes: -------- --- /work/SRC/openSUSE:Factory/python-xmlsec/python-xmlsec.changes 2024-08-29 15:44:36.920342251 +0200 +++ /work/SRC/openSUSE:Factory/.python-xmlsec.new.19136/python-xmlsec.changes 2025-03-18 17:44:42.314096409 +0100 @@ -1,0 +2,13 @@ +Tue Mar 18 11:49:45 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 1.3.15 + * Explicitly cast the pointer type in PyXmlSec_ClearReplacedNodes + * Fix sdist CI workflow + * Build wheels for Python 3.13 + * Fix linuxbrew workflow + * Fix macosx CI workflow + * Fix type mismatch in PyXmlSec_ClearReplacedNodes + for Python 3.13 compatibility +- Drop fix-lxml-incompat.patch, merged upstream + +------------------------------------------------------------------- Old: ---- fix-lxml-incompat.patch xmlsec-1.3.14.tar.gz New: ---- xmlsec-1.3.15.tar.gz BETA DEBUG BEGIN: Old: for Python 3.13 compatibility - Drop fix-lxml-incompat.patch, merged upstream BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-xmlsec.spec ++++++ --- /var/tmp/diff_new_pack.VJw7Ja/_old 2025-03-18 17:44:42.954123303 +0100 +++ /var/tmp/diff_new_pack.VJw7Ja/_new 2025-03-18 17:44:42.958123470 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-xmlsec # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,12 @@ %{?sle15_python_module_pythons} Name: python-xmlsec -Version: 1.3.14 +Version: 1.3.15 Release: 0 Summary: Python bindings for the XML Security Library License: MIT URL: https://github.com/mehcode/python-xmlsec Source: https://files.pythonhosted.org/packages/source/x/xmlsec/xmlsec-%{version}.tar.gz -# PATCH-FIX-UPSTREAM gh#xmlsec/python-xmlsec#325 -Patch0: fix-lxml-incompat.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module hypothesis} BuildRequires: %{python_module lxml >= 3.8.0} ++++++ xmlsec-1.3.14.tar.gz -> xmlsec-1.3.15.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/PKG-INFO new/xmlsec-1.3.15/PKG-INFO --- old/xmlsec-1.3.14/PKG-INFO 2024-04-17 19:11:02.496088300 +0200 +++ new/xmlsec-1.3.15/PKG-INFO 2025-03-11 23:28:44.776091300 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: xmlsec -Version: 1.3.14 +Version: 1.3.15 Summary: Python bindings for the XML Security Library Home-page: https://github.com/mehcode/python-xmlsec Author: Bulat Gaifullin @@ -31,6 +31,20 @@ Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: lxml>=3.8 +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: keywords +Dynamic: license +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: project-url +Dynamic: requires-dist +Dynamic: requires-python +Dynamic: summary python-xmlsec ============= @@ -127,6 +141,12 @@ brew install libxml2 libxmlsec1 pkg-config +or + +.. code-block:: bash + + port install libxml2 xmlsec pkgconfig + Alpine ^^^^^^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/README.rst new/xmlsec-1.3.15/README.rst --- old/xmlsec-1.3.14/README.rst 2024-04-17 19:10:55.000000000 +0200 +++ new/xmlsec-1.3.15/README.rst 2025-03-11 23:22:51.000000000 +0100 @@ -93,6 +93,12 @@ brew install libxml2 libxmlsec1 pkg-config +or + +.. code-block:: bash + + port install libxml2 xmlsec pkgconfig + Alpine ^^^^^^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/pyproject.toml new/xmlsec-1.3.15/pyproject.toml --- old/xmlsec-1.3.14/pyproject.toml 2024-04-17 19:10:55.000000000 +0200 +++ new/xmlsec-1.3.15/pyproject.toml 2025-03-11 23:22:51.000000000 +0100 @@ -58,6 +58,9 @@ "cp37-manylinux_aarch64", "cp36-musllinux_aarch64", "cp37-musllinux_aarch64", + "cp36-macosx*", + "cp37-macosx*", + "cp38-macosx*", ] test-command = "pytest -v --color=yes {package}/tests" before-test = "pip install -r requirements-test.txt" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/enc.c new/xmlsec-1.3.15/src/enc.c --- old/xmlsec-1.3.14/src/enc.c 2024-04-17 19:10:55.000000000 +0200 +++ new/xmlsec-1.3.15/src/enc.c 2025-03-11 23:22:51.000000000 +0100 @@ -195,7 +195,7 @@ // release the replaced nodes in a way safe for `lxml` static void PyXmlSec_ClearReplacedNodes(xmlSecEncCtxPtr ctx, PyXmlSec_LxmlDocumentPtr doc) { - PyXmlSec_LxmlElementPtr* elem; + PyXmlSec_LxmlElementPtr elem; // release the replaced nodes in a way safe for `lxml` xmlNodePtr n = ctx->replacedNodeList; xmlNodePtr nn; @@ -204,7 +204,7 @@ PYXMLSEC_DEBUGF("clear replaced node %p", n); nn = n->next; // if n has references, it will not be deleted - elem = PyXmlSec_elementFactory(doc, n); + elem = (PyXmlSec_LxmlElementPtr)PyXmlSec_elementFactory(doc, n); if (NULL == elem) xmlFreeNode(n); else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/PKG-INFO new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/PKG-INFO --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/PKG-INFO 2024-04-11 09:37:39.000000000 +0200 @@ -0,0 +1,258 @@ +Metadata-Version: 2.1 +Name: python-xmlsec1 +Version: 1.3.14rc1 +Summary: Python bindings for the XML Security Library +Home-page: https://github.com/mehcode/python-xmlsec +Author: Bulat Gaifullin +Author-email: supp...@mehcode.com +Maintainer: Oleg Hoefling +Maintainer-email: oleg.hoefl...@gmail.com +License: MIT +Project-URL: Documentation, https://xmlsec.readthedocs.io +Project-URL: Source, https://github.com/mehcode/python-xmlsec +Project-URL: Changelog, https://github.com/mehcode/python-xmlsec/releases +Keywords: xmlsec +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: C +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: Text Processing :: Markup :: XML +Classifier: Typing :: Typed +Requires-Python: >=3.5 +License-File: LICENSE + +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. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/SOURCES.txt new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/SOURCES.txt --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/SOURCES.txt 2024-04-11 09:37:39.000000000 +0200 @@ -0,0 +1,103 @@ +.pre-commit-config.yaml +.readthedocs.yaml +LICENSE +MANIFEST.in +README.rst +pyproject.toml +setup.cfg +setup.py +/Users/amin/Workspace/personal/python-xmlsec/src/constants.c +/Users/amin/Workspace/personal/python-xmlsec/src/ds.c +/Users/amin/Workspace/personal/python-xmlsec/src/enc.c +/Users/amin/Workspace/personal/python-xmlsec/src/exception.c +/Users/amin/Workspace/personal/python-xmlsec/src/keys.c +/Users/amin/Workspace/personal/python-xmlsec/src/lxml.c +/Users/amin/Workspace/personal/python-xmlsec/src/main.c +/Users/amin/Workspace/personal/python-xmlsec/src/template.c +/Users/amin/Workspace/personal/python-xmlsec/src/tree.c +/Users/amin/Workspace/personal/python-xmlsec/src/utils.c +src/common.h +src/constants.c +src/constants.h +src/debug.h +src/ds.c +src/enc.c +src/exception.c +src/exception.h +src/keys.c +src/keys.h +src/lxml.c +src/lxml.h +src/main.c +src/platform.h +src/template.c +src/tree.c +src/utils.c +src/utils.h +src/xmlsec.cpython-39-darwin.so +src/python_xmlsec1.egg-info/PKG-INFO +src/python_xmlsec1.egg-info/SOURCES.txt +src/python_xmlsec1.egg-info/dependency_links.txt +src/python_xmlsec1.egg-info/not-zip-safe +src/python_xmlsec1.egg-info/requires.txt +src/python_xmlsec1.egg-info/top_level.txt +src/pyxmlsec.egg-info/PKG-INFO +src/pyxmlsec.egg-info/SOURCES.txt +src/pyxmlsec.egg-info/dependency_links.txt +src/pyxmlsec.egg-info/not-zip-safe +src/pyxmlsec.egg-info/requires.txt +src/pyxmlsec.egg-info/top_level.txt +src/xmlsec/__init__.pyi +src/xmlsec/constants.pyi +src/xmlsec/py.typed +src/xmlsec/template.pyi +src/xmlsec/tree.pyi +src/xmlsec.egg-info/PKG-INFO +src/xmlsec.egg-info/SOURCES.txt +src/xmlsec.egg-info/dependency_links.txt +src/xmlsec.egg-info/not-zip-safe +src/xmlsec.egg-info/requires.txt +src/xmlsec.egg-info/top_level.txt +tests/__init__.py +tests/base.py +tests/conftest.py +tests/softhsm_setup.py +tests/test_constants.py +tests/test_doc_examples.py +tests/test_ds.py +tests/test_enc.py +tests/test_keys.py +tests/test_main.py +tests/test_pkcs11.py +tests/test_templates.py +tests/test_tree.py +tests/test_type_stubs.py +tests/test_xmlsec.py +tests/data/deskey.bin +tests/data/doc.xml +tests/data/dsacert.der +tests/data/dsakey.der +tests/data/enc1-in.xml +tests/data/enc1-out.xml +tests/data/enc2-in.xml +tests/data/enc2-out.xml +tests/data/enc3-in.xml +tests/data/enc3-out.xml +tests/data/enc_template.xml +tests/data/rsacert.pem +tests/data/rsakey.pem +tests/data/rsapub.pem +tests/data/sign1-in.xml +tests/data/sign1-out.xml +tests/data/sign2-in.xml +tests/data/sign2-out.xml +tests/data/sign3-in.xml +tests/data/sign3-out.xml +tests/data/sign4-in.xml +tests/data/sign4-out.xml +tests/data/sign5-in.xml +tests/data/sign5-out-xmlsec_1_2_36_to_37.xml +tests/data/sign5-out.xml +tests/data/sign6-in.bin +tests/data/sign6-out.bin +tests/data/sign_template.xml \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/dependency_links.txt new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/dependency_links.txt --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/dependency_links.txt 2024-04-11 09:37:39.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/not-zip-safe new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/not-zip-safe --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/not-zip-safe 2024-04-11 09:37:04.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/requires.txt new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/requires.txt --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/requires.txt 2024-04-11 09:37:39.000000000 +0200 @@ -0,0 +1 @@ +lxml>=3.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/top_level.txt new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/top_level.txt --- old/xmlsec-1.3.14/src/python_xmlsec1.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/python_xmlsec1.egg-info/top_level.txt 2024-04-11 09:37:39.000000000 +0200 @@ -0,0 +1 @@ +xmlsec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/PKG-INFO new/xmlsec-1.3.15/src/pyxmlsec.egg-info/PKG-INFO --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/PKG-INFO 2024-04-11 09:35:27.000000000 +0200 @@ -0,0 +1,258 @@ +Metadata-Version: 2.1 +Name: pyxmlsec +Version: 1.3.14rc1 +Summary: Python bindings for the XML Security Library +Home-page: https://github.com/mehcode/python-xmlsec +Author: Bulat Gaifullin +Author-email: supp...@mehcode.com +Maintainer: Oleg Hoefling +Maintainer-email: oleg.hoefl...@gmail.com +License: MIT +Project-URL: Documentation, https://xmlsec.readthedocs.io +Project-URL: Source, https://github.com/mehcode/python-xmlsec +Project-URL: Changelog, https://github.com/mehcode/python-xmlsec/releases +Keywords: xmlsec +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: C +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: Text Processing :: Markup :: XML +Classifier: Typing :: Typed +Requires-Python: >=3.5 +License-File: LICENSE + +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. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/SOURCES.txt new/xmlsec-1.3.15/src/pyxmlsec.egg-info/SOURCES.txt --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/SOURCES.txt 2024-04-11 09:35:27.000000000 +0200 @@ -0,0 +1,97 @@ +.pre-commit-config.yaml +.readthedocs.yaml +LICENSE +MANIFEST.in +README.rst +pyproject.toml +setup.cfg +setup.py +/Users/amin/Workspace/personal/python-xmlsec/src/constants.c +/Users/amin/Workspace/personal/python-xmlsec/src/ds.c +/Users/amin/Workspace/personal/python-xmlsec/src/enc.c +/Users/amin/Workspace/personal/python-xmlsec/src/exception.c +/Users/amin/Workspace/personal/python-xmlsec/src/keys.c +/Users/amin/Workspace/personal/python-xmlsec/src/lxml.c +/Users/amin/Workspace/personal/python-xmlsec/src/main.c +/Users/amin/Workspace/personal/python-xmlsec/src/template.c +/Users/amin/Workspace/personal/python-xmlsec/src/tree.c +/Users/amin/Workspace/personal/python-xmlsec/src/utils.c +src/common.h +src/constants.c +src/constants.h +src/debug.h +src/ds.c +src/enc.c +src/exception.c +src/exception.h +src/keys.c +src/keys.h +src/lxml.c +src/lxml.h +src/main.c +src/platform.h +src/template.c +src/tree.c +src/utils.c +src/utils.h +src/xmlsec.cpython-39-darwin.so +src/pyxmlsec.egg-info/PKG-INFO +src/pyxmlsec.egg-info/SOURCES.txt +src/pyxmlsec.egg-info/dependency_links.txt +src/pyxmlsec.egg-info/not-zip-safe +src/pyxmlsec.egg-info/requires.txt +src/pyxmlsec.egg-info/top_level.txt +src/xmlsec/__init__.pyi +src/xmlsec/constants.pyi +src/xmlsec/py.typed +src/xmlsec/template.pyi +src/xmlsec/tree.pyi +src/xmlsec.egg-info/PKG-INFO +src/xmlsec.egg-info/SOURCES.txt +src/xmlsec.egg-info/dependency_links.txt +src/xmlsec.egg-info/not-zip-safe +src/xmlsec.egg-info/requires.txt +src/xmlsec.egg-info/top_level.txt +tests/__init__.py +tests/base.py +tests/conftest.py +tests/softhsm_setup.py +tests/test_constants.py +tests/test_doc_examples.py +tests/test_ds.py +tests/test_enc.py +tests/test_keys.py +tests/test_main.py +tests/test_pkcs11.py +tests/test_templates.py +tests/test_tree.py +tests/test_type_stubs.py +tests/test_xmlsec.py +tests/data/deskey.bin +tests/data/doc.xml +tests/data/dsacert.der +tests/data/dsakey.der +tests/data/enc1-in.xml +tests/data/enc1-out.xml +tests/data/enc2-in.xml +tests/data/enc2-out.xml +tests/data/enc3-in.xml +tests/data/enc3-out.xml +tests/data/enc_template.xml +tests/data/rsacert.pem +tests/data/rsakey.pem +tests/data/rsapub.pem +tests/data/sign1-in.xml +tests/data/sign1-out.xml +tests/data/sign2-in.xml +tests/data/sign2-out.xml +tests/data/sign3-in.xml +tests/data/sign3-out.xml +tests/data/sign4-in.xml +tests/data/sign4-out.xml +tests/data/sign5-in.xml +tests/data/sign5-out-xmlsec_1_2_36_to_37.xml +tests/data/sign5-out.xml +tests/data/sign6-in.bin +tests/data/sign6-out.bin +tests/data/sign_template.xml \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/dependency_links.txt new/xmlsec-1.3.15/src/pyxmlsec.egg-info/dependency_links.txt --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/dependency_links.txt 2024-04-11 09:35:27.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/not-zip-safe new/xmlsec-1.3.15/src/pyxmlsec.egg-info/not-zip-safe --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/not-zip-safe 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/not-zip-safe 2024-04-11 09:19:14.000000000 +0200 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/requires.txt new/xmlsec-1.3.15/src/pyxmlsec.egg-info/requires.txt --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/requires.txt 2024-04-11 09:35:27.000000000 +0200 @@ -0,0 +1 @@ +lxml>=3.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/pyxmlsec.egg-info/top_level.txt new/xmlsec-1.3.15/src/pyxmlsec.egg-info/top_level.txt --- old/xmlsec-1.3.14/src/pyxmlsec.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/xmlsec-1.3.15/src/pyxmlsec.egg-info/top_level.txt 2024-04-11 09:35:27.000000000 +0200 @@ -0,0 +1 @@ +xmlsec Binary files old/xmlsec-1.3.14/src/xmlsec.cpython-39-darwin.so and new/xmlsec-1.3.15/src/xmlsec.cpython-39-darwin.so differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/xmlsec.egg-info/PKG-INFO new/xmlsec-1.3.15/src/xmlsec.egg-info/PKG-INFO --- old/xmlsec-1.3.14/src/xmlsec.egg-info/PKG-INFO 2024-04-17 19:11:02.000000000 +0200 +++ new/xmlsec-1.3.15/src/xmlsec.egg-info/PKG-INFO 2025-03-11 23:28:44.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: xmlsec -Version: 1.3.14 +Version: 1.3.15 Summary: Python bindings for the XML Security Library Home-page: https://github.com/mehcode/python-xmlsec Author: Bulat Gaifullin @@ -31,6 +31,20 @@ Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: lxml>=3.8 +Dynamic: author +Dynamic: author-email +Dynamic: classifier +Dynamic: description +Dynamic: description-content-type +Dynamic: home-page +Dynamic: keywords +Dynamic: license +Dynamic: maintainer +Dynamic: maintainer-email +Dynamic: project-url +Dynamic: requires-dist +Dynamic: requires-python +Dynamic: summary python-xmlsec ============= @@ -127,6 +141,12 @@ brew install libxml2 libxmlsec1 pkg-config +or + +.. code-block:: bash + + port install libxml2 xmlsec pkgconfig + Alpine ^^^^^^ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmlsec-1.3.14/src/xmlsec.egg-info/SOURCES.txt new/xmlsec-1.3.15/src/xmlsec.egg-info/SOURCES.txt --- old/xmlsec-1.3.14/src/xmlsec.egg-info/SOURCES.txt 2024-04-17 19:11:02.000000000 +0200 +++ new/xmlsec-1.3.15/src/xmlsec.egg-info/SOURCES.txt 2025-03-11 23:28:44.000000000 +0100 @@ -6,16 +6,16 @@ pyproject.toml setup.cfg setup.py -/home/runner/work/python-xmlsec/python-xmlsec/src/constants.c -/home/runner/work/python-xmlsec/python-xmlsec/src/ds.c -/home/runner/work/python-xmlsec/python-xmlsec/src/enc.c -/home/runner/work/python-xmlsec/python-xmlsec/src/exception.c -/home/runner/work/python-xmlsec/python-xmlsec/src/keys.c -/home/runner/work/python-xmlsec/python-xmlsec/src/lxml.c -/home/runner/work/python-xmlsec/python-xmlsec/src/main.c -/home/runner/work/python-xmlsec/python-xmlsec/src/template.c -/home/runner/work/python-xmlsec/python-xmlsec/src/tree.c -/home/runner/work/python-xmlsec/python-xmlsec/src/utils.c +/Users/amin/Workspace/personal/python-xmlsec/src/constants.c +/Users/amin/Workspace/personal/python-xmlsec/src/ds.c +/Users/amin/Workspace/personal/python-xmlsec/src/enc.c +/Users/amin/Workspace/personal/python-xmlsec/src/exception.c +/Users/amin/Workspace/personal/python-xmlsec/src/keys.c +/Users/amin/Workspace/personal/python-xmlsec/src/lxml.c +/Users/amin/Workspace/personal/python-xmlsec/src/main.c +/Users/amin/Workspace/personal/python-xmlsec/src/template.c +/Users/amin/Workspace/personal/python-xmlsec/src/tree.c +/Users/amin/Workspace/personal/python-xmlsec/src/utils.c src/common.h src/constants.c src/constants.h @@ -34,6 +34,19 @@ src/tree.c src/utils.c src/utils.h +src/xmlsec.cpython-39-darwin.so +src/python_xmlsec1.egg-info/PKG-INFO +src/python_xmlsec1.egg-info/SOURCES.txt +src/python_xmlsec1.egg-info/dependency_links.txt +src/python_xmlsec1.egg-info/not-zip-safe +src/python_xmlsec1.egg-info/requires.txt +src/python_xmlsec1.egg-info/top_level.txt +src/pyxmlsec.egg-info/PKG-INFO +src/pyxmlsec.egg-info/SOURCES.txt +src/pyxmlsec.egg-info/dependency_links.txt +src/pyxmlsec.egg-info/not-zip-safe +src/pyxmlsec.egg-info/requires.txt +src/pyxmlsec.egg-info/top_level.txt src/xmlsec/__init__.pyi src/xmlsec/constants.pyi src/xmlsec/py.typed