{ "info": { "author": "Leif Johansson", "author_email": "leifj@sunet.se", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "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://img.shields.io/requires/github/IdentityPython/pyFF.svg\n :target: https://requires.io/github/IdentityPython/pyFF/requirements/?branch=master\n :alt: Requirements Status\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\n* http://github.com/IdentityPython/pyFF\n* http://pypi.python.org/pypi/pyFF\n* http://packages.python.org/pyFF\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 `_.\n* Fully compatible with `mdq-browser frontend app `_.\n\n\nDependencies\n============\n\n* pyXMLSecurity\n* PyKCS11 (optional)\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 \n\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/pyFF/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://blogs.mnt.se", "keywords": "identity federation saml metadata", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pyFF", "package_url": "https://pypi.org/project/pyFF/", "platform": "", "project_url": "https://pypi.org/project/pyFF/", "project_urls": { "Homepage": "http://blogs.mnt.se" }, "release_url": "https://pypi.org/project/pyFF/1.1.1/", "requires_dist": null, "requires_python": "", "summary": "Federation Feeder", "version": "1.1.1" }, "last_serial": 5551451, "releases": { "0.1": [ { "comment_text": "built for Linux-3.2.0-26-generic-i686-with-glibc2.7", "digests": { "md5": "88896d184decc803e215ce7fe1ff65fc", "sha256": "1e563c2024339761b16cc8dfd7c4551e580f9cff196de963b540be7a84b193e2" }, "downloads": -1, "filename": "pyFF-0.1.linux-i686.tar.gz", "has_sig": false, "md5_digest": "88896d184decc803e215ce7fe1ff65fc", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 47580, "upload_time": "2012-07-05T21:40:31", "url": "https://files.pythonhosted.org/packages/94/aa/57e686d299124fbc12c30cf9468cf554e8ac998b7d5944ab9e252f7ad9e5/pyFF-0.1.linux-i686.tar.gz" }, { "comment_text": "", "digests": { "md5": "2f3afb594d9e571e008c3a044c0dcb3c", "sha256": "35bb52d124cd1b33277821f6ce8a97ff374a5032b6d017938e5830ba2457a97d" }, "downloads": -1, "filename": "pyFF-0.1.tar.gz", "has_sig": false, "md5_digest": "2f3afb594d9e571e008c3a044c0dcb3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7841, "upload_time": "2012-07-05T21:40:37", "url": "https://files.pythonhosted.org/packages/af/4d/794eda18153a756ca37ccec7a8476d5da7546deec4e722597732ed0f8bcc/pyFF-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "217bf7393f5ecba0a65a5827d4262af9", "sha256": "728ccf7dce414ada32b836404e65650c11921b131ac68de62757cffd2502b0e4" }, "downloads": -1, "filename": "pyFF-0.2.tar.gz", "has_sig": false, "md5_digest": "217bf7393f5ecba0a65a5827d4262af9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8295, "upload_time": "2012-07-06T12:29:33", "url": "https://files.pythonhosted.org/packages/ab/7f/9c5621496537485577616d0f9a5461e8d526fb641dae674a8377ab1eda7f/pyFF-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "9c00b5a939114a02d6b9e7a11fcb69d0", "sha256": "1c85f929cb7b360b16d4868d2d5a03e0953859bd3ded60c2974ba80479484d64" }, "downloads": -1, "filename": "pyFF-0.3.tar.gz", "has_sig": false, "md5_digest": "9c00b5a939114a02d6b9e7a11fcb69d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9206, "upload_time": "2012-07-06T23:31:43", "url": "https://files.pythonhosted.org/packages/7c/79/983d22dd69ad80f928fed7a1419a67a0b5933d5941883057e0b0e19f396f/pyFF-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f5497959bab0ed7417f5320fa488004b", "sha256": "b8241b165cc87d56dc781495774bc8e805e6c4c40a408c6420669320159c8994" }, "downloads": -1, "filename": "pyFF-0.4.tar.gz", "has_sig": false, "md5_digest": "f5497959bab0ed7417f5320fa488004b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9449, "upload_time": "2012-07-10T15:50:54", "url": "https://files.pythonhosted.org/packages/63/2b/50e83e1dc00f7ee80871d9d983d60aaa4804ebe9c69e35d46426519f27dc/pyFF-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "a34bd78df8f53e6ed181bcbb2dc60be9", "sha256": "2b328e84c8743dd07ea4b7eb89f785f85d54d3d20c5e93bb5dc190ad622d2e4e" }, "downloads": -1, "filename": "pyFF-0.5.tar.gz", "has_sig": false, "md5_digest": "a34bd78df8f53e6ed181bcbb2dc60be9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11799, "upload_time": "2012-07-11T16:36:50", "url": "https://files.pythonhosted.org/packages/8e/02/e7313c6b209c27a2ee6df10f6826e37d7991e57f6549b99d5acbc45189db/pyFF-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "31afe585ec62f077478cf2da3ffc65a4", "sha256": "e2249aa0ed2b9a24631fdcef1c7cf4eac64b9a7046f3193ab59570c5c4d2ef55" }, "downloads": -1, "filename": "pyFF-0.6.tar.gz", "has_sig": false, "md5_digest": "31afe585ec62f077478cf2da3ffc65a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12550, "upload_time": "2012-08-29T20:09:45", "url": "https://files.pythonhosted.org/packages/e5/c7/d0a127e9e5ff51dc479a6e0f1b4ed704a05549c8d700f112f061f9b9b3be/pyFF-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "1cbfc35d64ba562c03911c63041e05aa", "sha256": "1787d0b528338437aba61eda1a26884c59fea9517064b7e22ae9f2135655dd0f" }, "downloads": -1, "filename": "pyFF-0.7.tar.gz", "has_sig": false, "md5_digest": "1cbfc35d64ba562c03911c63041e05aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13246, "upload_time": "2012-09-07T08:17:40", "url": "https://files.pythonhosted.org/packages/a9/b4/0936fb5e07807db145008b7012d794b1f4eec32364dd79de6232a502c642/pyFF-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "1ce2f19f0f9c350d9a9d550e96ccd4bc", "sha256": "23ea576e162c245ec2fd7fe31edf9780b25a2fe9c3f759417f27e2f7e4fabdc0" }, "downloads": -1, "filename": "pyFF-0.8.tar.gz", "has_sig": false, "md5_digest": "1ce2f19f0f9c350d9a9d550e96ccd4bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 214374, "upload_time": "2012-11-30T09:07:43", "url": "https://files.pythonhosted.org/packages/a7/1a/f00113d7780d9554bc226ca4942bd3efc2bf0b1354da79531cda0c141527/pyFF-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "a33387e35e238dddcb8ef6b9350ac413", "sha256": "814d7276de03f43a18b63386d69a68ef5a231f51becaff500677da9af64264b5" }, "downloads": -1, "filename": "pyFF-0.9.tar.gz", "has_sig": false, "md5_digest": "a33387e35e238dddcb8ef6b9350ac413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 288928, "upload_time": "2013-04-09T16:05:24", "url": "https://files.pythonhosted.org/packages/d9/f1/6b1fad9f1ef02096c8d1343833df1a466058f2d2845c8787da7b6e5fe31f/pyFF-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "434cd4c7547c05b2877c2b68323dee06", "sha256": "61968627fdf909b478ff552d5a167359b90cc0368847f4a698739b122ca0692e" }, "downloads": -1, "filename": "pyFF-0.9.1.tar.gz", "has_sig": false, "md5_digest": "434cd4c7547c05b2877c2b68323dee06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 293164, "upload_time": "2013-04-10T12:10:51", "url": "https://files.pythonhosted.org/packages/e6/10/55968bad935930fd95e8fe7c61db34f77324f043f298ac1089325669a62e/pyFF-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "bd687c771bbf77c23aac421b0eddbafb", "sha256": "f43137a64f4e6f9b26811afcd2c61ce3c24b85776cc761ec86c8c035e45faf6c" }, "downloads": -1, "filename": "pyFF-0.9.2.tar.gz", "has_sig": false, "md5_digest": "bd687c771bbf77c23aac421b0eddbafb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 294830, "upload_time": "2013-04-15T11:23:49", "url": "https://files.pythonhosted.org/packages/02/5a/1107a7e084f1d99b1ee835e56277af7ca7e50cb0d395e9418b8084ffc8d8/pyFF-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "8fd8a36af83f9eb07ffd99e976a03f4c", "sha256": "b42f3eacfd4f396e11c280a88c506d0f0336cc93a99caf95fc0ad364059e4b95" }, "downloads": -1, "filename": "pyFF-0.9.3.tar.gz", "has_sig": false, "md5_digest": "8fd8a36af83f9eb07ffd99e976a03f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 341073, "upload_time": "2013-05-15T10:19:29", "url": "https://files.pythonhosted.org/packages/45/80/0d5c3fef0585a5e69305ddb92c912d61a1c653a91525093f4f5f073c1707/pyFF-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "3524305c24eb6014b07c52b9e644b05c", "sha256": "16ef44285950bf7b21e079081e64fa8e21c1dc04df9d6b58966c6512e46e8d76" }, "downloads": -1, "filename": "pyFF-0.9.4.tar.gz", "has_sig": false, "md5_digest": "3524305c24eb6014b07c52b9e644b05c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 347902, "upload_time": "2013-09-23T12:13:44", "url": "https://files.pythonhosted.org/packages/d8/87/286132e3c50a2f5f134f38bded3e4d65f0f5f378f86def9126d4b6b79eb1/pyFF-0.9.4.tar.gz" } ], "0.9dev": [ { "comment_text": "", "digests": { "md5": "59afe5114460fee82ac51030ce2a7cea", "sha256": "dea395caff84f4d369c5e4314e91ac6fbd9ae0bffa3b58b2597c7127237c167d" }, "downloads": -1, "filename": "pyFF-0.9dev.tar.gz", "has_sig": false, "md5_digest": "59afe5114460fee82ac51030ce2a7cea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 214422, "upload_time": "2012-11-30T13:57:40", "url": "https://files.pythonhosted.org/packages/40/be/b992c9a62455aa4f3f1a96c1bacca19eb741869d014a299963d468502ddb/pyFF-0.9dev.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d76d9659765f32e755c9ae3032888ff1", "sha256": "3efaa984975bb90b60f6b13524892c9323c45784d5da7afe87d3a4d48acaf25a" }, "downloads": -1, "filename": "pyFF-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d76d9659765f32e755c9ae3032888ff1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1968052, "upload_time": "2019-06-14T10:44:03", "url": "https://files.pythonhosted.org/packages/fa/97/0462032011c90f8cdd542b6e6cecbb57233bcd630ff0005f8046829d5434/pyFF-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "021791bd4efca055ca7db7b5fd1595bd", "sha256": "5ca68010528f2be21d6ebcdfe3523c236d223b3e890e21920b9612ee9b592ede" }, "downloads": -1, "filename": "pyFF-1.0.1.tar.gz", "has_sig": false, "md5_digest": "021791bd4efca055ca7db7b5fd1595bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1968996, "upload_time": "2019-06-18T10:15:40", "url": "https://files.pythonhosted.org/packages/de/2b/277f27ac09e9781be06537e7c243f0e9cde62d12a5e1e9e9fc76963ea86e/pyFF-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "be97c3f5ee4d36d17d77044bb3c3c048", "sha256": "19003fd8f7021502a629a0fc19d0b73cfc854c8bbcd34fb43d234a1ddb713970" }, "downloads": -1, "filename": "pyFF-1.1.0.tar.gz", "has_sig": false, "md5_digest": "be97c3f5ee4d36d17d77044bb3c3c048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990447, "upload_time": "2019-07-12T08:28:44", "url": "https://files.pythonhosted.org/packages/53/41/84dc3a77fad2b4dd1c38b3db6fa8ea069af6ca3477833c7691da020fd45e/pyFF-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "27417b345b8eb2e4ba83266012ffdf26", "sha256": "e536ac0a1cc0da2b00ec286f6927e13aa46cfa12bab178302e9e747962ad20aa" }, "downloads": -1, "filename": "pyFF-1.1.1.tar.gz", "has_sig": false, "md5_digest": "27417b345b8eb2e4ba83266012ffdf26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1991053, "upload_time": "2019-07-18T14:09:25", "url": "https://files.pythonhosted.org/packages/28/7a/6e1542936a9592466a2b0590283df61718d5bc24c5cabedcb34730657603/pyFF-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "27417b345b8eb2e4ba83266012ffdf26", "sha256": "e536ac0a1cc0da2b00ec286f6927e13aa46cfa12bab178302e9e747962ad20aa" }, "downloads": -1, "filename": "pyFF-1.1.1.tar.gz", "has_sig": false, "md5_digest": "27417b345b8eb2e4ba83266012ffdf26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1991053, "upload_time": "2019-07-18T14:09:25", "url": "https://files.pythonhosted.org/packages/28/7a/6e1542936a9592466a2b0590283df61718d5bc24c5cabedcb34730657603/pyFF-1.1.1.tar.gz" } ] }