python SAML metadata aggregator
===============================
.. image:: https://img.shields.io/pypi/l/pyXMLSecurity.svg
:target: https://github.com/leifj/pyXMLSecurity/blob/master/LICENSE.txt
:alt: License
.. image:: https://img.shields.io/travis/IdentityPython/pyFF.svg
:target: https://travis-ci.org/IdentityPython/pyFF
:alt: Travis Build
.. image:: https://img.shields.io/coveralls/IdentityPython/pyFF.svg
:target: https://coveralls.io/r/leifj/pyFF?branch=master
:alt: Coverage
.. image:: https://api.codeclimate.com/v1/badges/133c2c109b680c6868c1/maintainability
:target: https://codeclimate.com/github/IdentityPython/pyFF/maintainability
:alt: Maintainability
.. image:: https://img.shields.io/pypi/format/pyFF.svg
:target: https://pypi.python.org/pypi/pyFF
:alt: Format
.. image:: https://img.shields.io/pypi/v/pyFF.svg
:target: https://pypi.python.org/pypi/pyFF
:alt: PyPI Version
.. image:: https://readthedocs.org/projects/pyff/badge/
:target: https://pyff.readthedocs.org/
:alt: Documentation
This is a SAML metadata aggregator written in python. It is based on the model
for metadata exchange by Ian Young: http://iay.org.uk/blog/2008/10/metadata_interc.html
Features
========
* Fully customizable processing pipelines in yaml.
* Easy to retrieve, analyze, transform, sign and publish SAML metadata.
* Operate in batch or online mode using embedded HTTP server.
* Provide a full MDX implementation.
* Make use of PKCS#11 tokens and HSMs for key protection.
* Fully compatible with `thiss.io discovery service <https://thiss.io>`_.
* Fully compatible with `mdq-browser frontend app <https://github.com/SUNET/mdq-browser>`_.
Dependencies
============
* pyXMLSecurity
* PyKCS11 (optional)
* pygments
* gunicorn (for the standalone pyffd server)
* ... cf requirements.txt
More information
================
Project homepage: https://pyff.io/
News
====
0.1
-----
*Release date: UNRELEASED*
* This is the first unreleased version of the code
* http://github.com/leifj/pyFF
0.4
----
*Release date: Tue Jul 10 15:48:07 CEST 2012*
* Schema validation
* Refactor dynamic loading framework
0.5
----
*Release date: Wed Jul 11 16:31:06 CEST 2012*
* XML signing and validation using http://pypi.python.org/pypi/dm.xmlsec.binding (requires M2Crypto at present)
Because of the way OpenSSL handles self-signed certificates the XML validation extracts
the public key from the certificate and uses that instead of the X509 certificate to
validate an XML signature. Right now this introduces a dependency on M2Crypto which will
be removed in the fugure. Note that ubuntu/debian users should install python-m2crypto
instead of installing M2Crypto (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637904)
0.6
---
*Release date: Thu Aug 30 08:00:00 CEST 2012*
* XML signing and validation using pyXMLSecurity
* Support for PKCS#11-based HSMs using pykcs11
We are now using a (limited) pure-python implmementation of xmlsec which makes it easier
to sign using HSMs. The only mandatory non-python dependency now is lxml.
0.7
---
*Release date: Fri Sep 7 10:13:33 CEST 2012*
* support breaking out of pipelines using exceptions
* kill the pipeline if selects picks 0 elements
* more debug logging
* more robust handling of zero-length selectors
* completely remove pyOpenSSL dependency
* many bugfixes and cleanup
0.8
---
*Release date: Fri Nov 30 09:37:59 CET 2012*
* HTTP-based pyffd with MDX support
* several bugfixes
* indexing in MDRepository
* completely rewritten URL fetcher with monitoring
0.9 and 0.9.1
-------------
*Release date: Tue Apr 9 18:03:13 CEST 2013*
* Lots of bugfixes
* pep8 cleanup
* stability & testcases
0.9.2
-----
* Release date: Mon Apr 15 13:19:14 CEST 2013*
* caching in pyffd now works
* version information on cmdline
* 'remove' merge strategy from Peter S
* cleanup & bugfixes
0.9.3
-----
* Release date: Wed May 15 12:09:57 CEST 2013*
* better discovery UI
0.9.4
-----
* Release date: Mon Sep 23 14:11:16 CEST 2013*
* bugfixes, minor UI improvements
* documentation imporovements
1.0.0
-----
* Release date: Fre 14 jun 2019 11:42:56 CEST
* Major changes to the backend subsystem
* New redis+whoos-based backend
* Standalone API with WSGI-support based on pyramid
* apscheduler used for backround tasks including resource fetch
1.0.1
---
* Release date: tis 18 jun 2019 12:13:41 CEST
* A samldiff tool
* Minor fixes to align requirements for docker package
1.1.0
---
* Release date: fre 12 jul 2019 10:27:05 CEST
* simplify resource management and introduce new thread-based fetcher architecture
* new icon fetching infrastructure
* re-introduce predictive load order
* multiple bug fixes and cleanup
* documentation restructure and rewrite
1.1.1
---
* Release date: tor 18 jul 2019 16:05:54 CEST
* Fix bug affecting entityIDs with querystring components thx to Maja Wolniewicz <mgw@umk.pl>
1.1.2
---
* Release date: ons 19 feb 2020 14:35:45 CET
* Bugfixes
* Documentation updates
1.1.3
---
* Release date: ons 16 sep 2020 14:21:20 CEST
* Limited support for i18n in JSON export - alternative and primary language choices
* Bugfixes related to mime-type for metadata
1.1.4
---
* Release date: tor 17 sep 2020 00:50:42 CEST
* Bugfixes for language support
* Support for exposing multiple language tags in discojson
1.1.5
---
* Release date: tis 1 dec 2020 14:19:18 CET
* Remove dependency on minify
1.2.0 & 2.0.0
---
* Release date: tor 1 apr 2021 21:15:14 CEST
* 1.2.0 contains several bugfixes from 1.1.5
* 2.0.0 drops all frontend components and returns pyFFd to an API-only service
2.1.0
---
* Release date: ons 1 nov 2023 10:17:10 CET
* Support for metadata trust extensions
* Multiple bug-fixes
* Coverted to pydantic 2.4.x
* More typing
Raw data
{
"_id": null,
"home_page": "https://pyff.io",
"name": "pyFF",
"maintainer": "",
"docs_url": "https://pythonhosted.org/pyFF/",
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "identity federation saml metadata",
"author": "Leif Johansson",
"author_email": "leifj@sunet.se",
"download_url": "https://files.pythonhosted.org/packages/b5/81/8641ba2e4fb1964dd6867f34236d2710aa15e8cfca57f29aa0833252e0d5/pyFF-2.1.1.tar.gz",
"platform": null,
"description": "python SAML metadata aggregator\n===============================\n\n.. image:: https://img.shields.io/pypi/l/pyXMLSecurity.svg\n :target: https://github.com/leifj/pyXMLSecurity/blob/master/LICENSE.txt\n :alt: License\n.. image:: https://img.shields.io/travis/IdentityPython/pyFF.svg\n :target: https://travis-ci.org/IdentityPython/pyFF\n :alt: Travis Build\n.. image:: https://img.shields.io/coveralls/IdentityPython/pyFF.svg\n :target: https://coveralls.io/r/leifj/pyFF?branch=master\n :alt: Coverage\n.. image:: https://api.codeclimate.com/v1/badges/133c2c109b680c6868c1/maintainability\n :target: https://codeclimate.com/github/IdentityPython/pyFF/maintainability\n :alt: Maintainability\n.. image:: https://img.shields.io/pypi/format/pyFF.svg\n :target: https://pypi.python.org/pypi/pyFF\n :alt: Format\n.. image:: https://img.shields.io/pypi/v/pyFF.svg\n :target: https://pypi.python.org/pypi/pyFF\n :alt: PyPI Version\n.. image:: https://readthedocs.org/projects/pyff/badge/\n :target: https://pyff.readthedocs.org/\n :alt: Documentation\n \n\nThis is a SAML metadata aggregator written in python. It is based on the model \nfor metadata exchange by Ian Young: http://iay.org.uk/blog/2008/10/metadata_interc.html\n\nFeatures \n========\n\n* Fully customizable processing pipelines in yaml.\n* Easy to retrieve, analyze, transform, sign and publish SAML metadata.\n* Operate in batch or online mode using embedded HTTP server.\n* Provide a full MDX implementation.\n* Make use of PKCS#11 tokens and HSMs for key protection.\n* Fully compatible with `thiss.io discovery service <https://thiss.io>`_.\n* Fully compatible with `mdq-browser frontend app <https://github.com/SUNET/mdq-browser>`_.\n\nDependencies\n============\n\n* pyXMLSecurity\n* PyKCS11 (optional)\n* pygments\n* gunicorn (for the standalone pyffd server)\n* ... cf requirements.txt\n\nMore information\n================\n\nProject homepage: https://pyff.io/\n\n\nNews\n====\n\n0.1\n-----\n\n*Release date: UNRELEASED*\n\n* This is the first unreleased version of the code\n* http://github.com/leifj/pyFF\n\n0.4\n----\n\n*Release date: Tue Jul 10 15:48:07 CEST 2012*\n\n* Schema validation\n* Refactor dynamic loading framework\n\n0.5\n----\n\n*Release date: Wed Jul 11 16:31:06 CEST 2012*\n\n* XML signing and validation using http://pypi.python.org/pypi/dm.xmlsec.binding (requires M2Crypto at present)\n\nBecause of the way OpenSSL handles self-signed certificates the XML validation extracts\nthe public key from the certificate and uses that instead of the X509 certificate to \nvalidate an XML signature. Right now this introduces a dependency on M2Crypto which will\nbe removed in the fugure. Note that ubuntu/debian users should install python-m2crypto\ninstead of installing M2Crypto (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637904)\n\n0.6\n---\n\n*Release date: Thu Aug 30 08:00:00 CEST 2012*\n\n* XML signing and validation using pyXMLSecurity\n* Support for PKCS#11-based HSMs using pykcs11\n\nWe are now using a (limited) pure-python implmementation of xmlsec which makes it easier\nto sign using HSMs. The only mandatory non-python dependency now is lxml.\n\n0.7\n---\n\n*Release date: Fri Sep 7 10:13:33 CEST 2012*\n\n* support breaking out of pipelines using exceptions\n* kill the pipeline if selects picks 0 elements\n* more debug logging\n* more robust handling of zero-length selectors\n* completely remove pyOpenSSL dependency\n* many bugfixes and cleanup\n\n0.8\n---\n\n*Release date: Fri Nov 30 09:37:59 CET 2012*\n\n* HTTP-based pyffd with MDX support\n* several bugfixes\n* indexing in MDRepository\n* completely rewritten URL fetcher with monitoring\n\n0.9 and 0.9.1\n-------------\n\n*Release date: Tue Apr 9 18:03:13 CEST 2013*\n\n* Lots of bugfixes\n* pep8 cleanup\n* stability & testcases\n\n0.9.2\n-----\n\n* Release date: Mon Apr 15 13:19:14 CEST 2013*\n\n* caching in pyffd now works\n* version information on cmdline\n* 'remove' merge strategy from Peter S\n* cleanup & bugfixes\n\n0.9.3\n-----\n\n* Release date: Wed May 15 12:09:57 CEST 2013*\n* better discovery UI\n\n0.9.4\n-----\n* Release date: Mon Sep 23 14:11:16 CEST 2013*\n* bugfixes, minor UI improvements\n* documentation imporovements\n\n\n1.0.0\n-----\n* Release date: Fre 14 jun 2019 11:42:56 CEST\n* Major changes to the backend subsystem\n* New redis+whoos-based backend\n* Standalone API with WSGI-support based on pyramid\n* apscheduler used for backround tasks including resource fetch\n\n1.0.1\n---\n* Release date: tis 18 jun 2019 12:13:41 CEST\n* A samldiff tool\n* Minor fixes to align requirements for docker package\n\n1.1.0\n---\n* Release date: fre 12 jul 2019 10:27:05 CEST\n* simplify resource management and introduce new thread-based fetcher architecture\n* new icon fetching infrastructure\n* re-introduce predictive load order\n* multiple bug fixes and cleanup\n* documentation restructure and rewrite\n\n1.1.1\n---\n* Release date: tor 18 jul 2019 16:05:54 CEST\n* Fix bug affecting entityIDs with querystring components thx to Maja Wolniewicz <mgw@umk.pl>\n\n1.1.2\n---\n* Release date: ons 19 feb 2020 14:35:45 CET\n* Bugfixes\n* Documentation updates\n\n1.1.3\n---\n* Release date: ons 16 sep 2020 14:21:20 CEST\n* Limited support for i18n in JSON export - alternative and primary language choices\n* Bugfixes related to mime-type for metadata\n\n1.1.4\n---\n* Release date: tor 17 sep 2020 00:50:42 CEST\n* Bugfixes for language support\n* Support for exposing multiple language tags in discojson\n\n1.1.5\n---\n* Release date: tis 1 dec 2020 14:19:18 CET\n* Remove dependency on minify\n\n1.2.0 & 2.0.0\n---\n* Release date: tor 1 apr 2021 21:15:14 CEST\n* 1.2.0 contains several bugfixes from 1.1.5\n* 2.0.0 drops all frontend components and returns pyFFd to an API-only service\n\n2.1.0\n---\n* Release date: ons 1 nov 2023 10:17:10 CET\n* Support for metadata trust extensions\n* Multiple bug-fixes\n* Coverted to pydantic 2.4.x\n* More typing\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Federation Feeder",
"version": "2.1.1",
"project_urls": {
"Homepage": "https://pyff.io"
},
"split_keywords": [
"identity",
"federation",
"saml",
"metadata"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b5818641ba2e4fb1964dd6867f34236d2710aa15e8cfca57f29aa0833252e0d5",
"md5": "6496bfcd9f604d172b435627c262101d",
"sha256": "ef186a26f6a6551fc01b33f68b256a5de3185f84ff81d30a66708868c5536a57"
},
"downloads": -1,
"filename": "pyFF-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "6496bfcd9f604d172b435627c262101d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 163255,
"upload_time": "2023-11-02T10:21:58",
"upload_time_iso_8601": "2023-11-02T10:21:58.919034Z",
"url": "https://files.pythonhosted.org/packages/b5/81/8641ba2e4fb1964dd6867f34236d2710aa15e8cfca57f29aa0833252e0d5/pyFF-2.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-02 10:21:58",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyff"
}