{
"info": {
"author": "Hector Velarde",
"author_email": "hector.velarde@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Framework :: Plone",
"Framework :: Plone :: 4.3",
"Framework :: Plone :: 5.1",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Logging"
],
"description": ".. image:: https://raw.githubusercontent.com/collective/collective.fingerpointing/master/docs/fingerpointing.png\n :align: left\n :alt: Finger Pointing\n :height: 100px\n :width: 100px\n\n***************\nFinger Pointing\n***************\n\n.. contents:: Table of Contents\n\nLife, the Universe, and Everything\n==================================\n\nFinger Pointing is a basic audit logger that helps you keep record of events like user login/logout and content types objects life cycle.\nAll events are logged into the standard Zope log and, optionally, to a dedicated audit log file.\n\nOther features included:\n\n- configurable via control panel configlet\n- log entries can be easily visualized by users with permissions to do so\n- support for Cloudflare's ``CF-Connecting-IP`` request header to log real client IP addresses\n- support for automatic log rotation based on audit log file size\n\nMostly Harmless\n===============\n\n.. image:: http://img.shields.io/pypi/v/collective.fingerpointing.svg\n :target: https://pypi.python.org/pypi/collective.fingerpointing\n\n.. image:: https://img.shields.io/travis/collective/collective.fingerpointing/master.svg\n :target: http://travis-ci.org/collective/collective.fingerpointing\n\n.. image:: https://img.shields.io/coveralls/collective/collective.fingerpointing/master.svg\n :target: https://coveralls.io/r/collective/collective.fingerpointing\n\nGot an idea? Found a bug? Let us know by `opening a support ticket`_.\n\n.. _`opening a support ticket`: https://github.com/collective/collective.fingerpointing/issues\n\nKnown Issues\n------------\n\nRunning your site behind a CDN may result in inconsistent IP addresses being logged.\n\nDon't Panic\n===========\n\nInstallation\n------------\n\nTo enable this package in a buildout-based installation:\n\nEdit your buildout.cfg and add the following to it:\n\n.. code-block:: ini\n\n [buildout]\n ...\n eggs =\n collective.fingerpointing\n\nBy default, Finger Pointing logs audit events to the Zope event log only.\nTo enable logging to a separate file use the following configuration:\n\n.. code-block:: ini\n\n [instance]\n zope-conf-additional +=\n \n audit-log ${buildout:directory}/var/log/audit.log\n audit-log-max-size 10240\n audit-log-old-files 30\n \n\naudit-log\n The filename of the audit log. Add file name to create Finger Pointing audit file.\naudit-log-max-size\n Maximum size of audit log file (in bytes). Adding this max size enables log rotation.\naudit-log-old-files\n Number of previous log files to retain when log rotation is enabled. Defaults to 1.\n\nAfter updating the configuration you need to run ''bin/buildout'', which will take care of updating your system.\n\nGo to the 'Site Setup' page in a Plone site and click on the 'Add-ons' link.\n\nCheck the box next to Finger Pointing and click the 'Activate' button.\n\nUsage\n-----\n\nGo to 'Site Setup' and select 'Finger Pointing' and enable the events you want to keep an eye on.\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.fingerpointing/master/docs/controlpanel.png\n :align: center\n :height: 600px\n :width: 768px\n\n The Finger Pointing control panel configlet.\n\nFinger Pointing will start logging the selected events:\n\n.. code-block:: console\n\n # bin/instance fg\n 2016-09-26 15:23:36 INFO ZServer HTTP server started at Mon Sep 26 15:23:36 2016\n Hostname: 0.0.0.0\n Port: 8080\n 2016-09-26 15:23:41 INFO collective.fingerpointing Logging audit information to /home/hvelarde/collective/fingerpointing/var/log/audit.log\n 2016-09-26 15:23:49 INFO Plone OpenID system packages not installed, OpenID support not available\n 2016-09-26 15:23:56 INFO Zope Ready to handle requests\n 2016-09-26 15:24:19 INFO collective.fingerpointing user=admin ip=127.0.0.1 action=logout\n 2016-09-26 15:24:28 INFO collective.fingerpointing user=admin ip=127.0.0.1 action=login\n\nThese events are also logged in `var/log/audit.log`:\n\n.. code-block:: console\n\n 2016-09-26 15:24:19,717 - INFO - user=admin ip=127.0.0.1 action=logout\n 2016-09-26 15:24:28,415 - INFO - user=admin ip=127.0.0.1 action=login\n\nAn audit log view is available in the user menu to users with the `collective.fingerpointing: View Audit Log` permission:\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.fingerpointing/master/docs/audit-log-view.png\n :align: left\n :alt: Finger Pointing\n :height: 480px\n :width: 768px\n\n The Finger Pointing audit log view.\n\nIf you didn't specify a Finger Pointing audit log file name, you'll see a warning.\nHowever, audit events will be normally logged to the Zope event log:\n\n.. code-block:: console\n\n # bin/instance fg\n 2016-09-26 15:58:32 INFO ZServer HTTP server started at Mon Sep 26 15:58:32 2016\n Hostname: 0.0.0.0\n Port: 8080\n 2016-09-26 15:58:35 WARNING collective.fingerpointing No audit log file specified; audit log view will be disabled\n 2016-09-26 15:58:40 INFO Plone OpenID system packages not installed, OpenID support not available\n 2016-09-26 15:58:45 INFO Zope Ready to handle requests\n 2016-09-26 15:58:48 INFO collective.fingerpointing user=admin ip=127.0.0.1 action=logout\n 2016-09-26 15:58:54 INFO collective.fingerpointing user=admin ip=127.0.0.1 action=login\n\nShare and Enjoy\n===============\n\nThis package would not have been possible without the contribution of the following people:\n\n- H\u00e9ctor Velarde\n- Ren\u00e9 Jochum \n- Harald Friessnegger (Webmeisterei GmbH)\n- Jens Klein (jens@bluedynamics.com)\n- Font Awesome (`icon`_)\n\nYou can find an updated list of package contributors on `GitHub`_.\n\n.. _`GitHub`: https://github.com/collective/collective.fingerpointing/contributors\n.. _`icon`: http://fontawesome.io/icon/hand-o-right/\n\nChangelog\n=========\n\n1.8 (2018-10-11)\n----------------\n\n- Avoid ``TypeError`` when View Audit Log (fixes `#91 `_).\n [jianaijun]\n\n- Update Chinese Simplified translation.\n [jianaijun]\n\n\n1.7 (2018-04-23)\n----------------\n\n- Drop support for Plone 5.0.\n [hvelarde]\n\n- Avoid ``ComponentLookupError`` when adding a Plone site (fixes `#85 `_).\n [hvelarde]\n\n- Do not fail while logging uninstall profile information.\n [hvelarde]\n\n- Fix uninstall of control panel configlet under Plone 5.1.\n [hvelarde]\n\n\n1.6 (2018-03-28)\n----------------\n\n- Avoid ``TypeError`` on PAS events (fixes `#78 `_).\n [hvelarde]\n\n\n1.6rc2 (2018-03-22)\n-------------------\n\n- Fix profile version number.\n [hvelarde]\n\n\n1.6rc1 (2018-03-22)\n-------------------\n\n- Update i18n, Brazilian Portuguese and Spanish translations.\n [hvelarde]\n\n- Code clean up and refactor, avoid ``UnicodeEncodeError`` on registry subscriber (refs. `#74 `_).\n [hvelarde]\n\n- Log Generic Setup profile imports; this is useful to audit add-on installs/uninstalls (implements `#32 `_).\n [hvelarde]\n\n- Do label `Size` translatable, completed french translations.\n [gbastien]\n\n\n1.5rc1 (2017-11-24)\n-------------------\n\n- Update i18n, Brazilian Portuguese, German and Spanish translations.\n [hvelarde, jensens]\n\n- Lock-file is now container save and it's close more robust.\n [jensens]\n\n- Refactor logger module in order to improve testability.\n [jensens]\n\n- Add search on audit logs and pagination (implements `#17 `_).\n [jensens]\n\n\n1.4b3 (2017-11-21)\n------------------\n\n- Fix object location for lifecycle logger by subscribing to ``IObjectAddedEvent`` (fixes `#66 `_).\n [jensens]\n\n- Do not fail on startup if plone.app.iterate is not installed (fixes `#64 `_).\n [jensens]\n\n- Reviewed and updated German translations.\n [jensens]\n\n\n1.4b2 (2017-09-20)\n------------------\n\n- Add French translations.\n [gbastien]\n\n\n1.4b1 (2017-06-26)\n------------------\n\n- Fix `AttributeError` when logging activity from anonymous users (fixes `#57 `_).\n [keul]\n\n- Add support for ``HTTP_X_FORWARDED_FOR`` request header to log real client IP addresses.\n [keul]\n\n\n1.3b2 (2017-05-25)\n------------------\n\n- Avoid possible ``ConfigurationConflictError`` on upgrade step registration.\n [hvelarde]\n\n\n1.3b1 (2017-05-25)\n------------------\n\n- Add support for Cloudflare's ``CF-Connecting-IP`` request header to log real client IP addresses.\n [hvelarde]\n\n- We now use plone.api to get the id of the user instead of the ``AUTHENTICATED_USER`` key on the request.\n Also, we now use the ``getClientAddr()`` function to get remote IP address.\n These changes simplify testing.\n\n- Add support for logging workflow transitions.\n [hvelarde]\n\n- Avoid ComponentLookupError when plonectl adduser.\n [jianaijun]\n\n\n1.2b1 (2016-09-28)\n------------------\n\n.. Warning::\n Starting with this version you need to explicitly configure the package to use a separate audit.log file.\n Check the documentation to find out how to do so.\n\n- Make log rotating configurable using the `zope-conf-additional` option.\n Note that now, by default, rotating is disabled.\n [rene, hvelarde]\n\n\n1.1b1 (2016-07-07)\n------------------\n\n- Drop support for Plone 4.2.\n [hvelarde]\n\n- Log deletion of groups too.\n If you are using Plone < 4.3.8 you may need to update versions of `Products.PlonePAS` and `Products.PluggableAuthService`.\n [fRiSi]\n\n\n1.0b4 (2016-07-07)\n------------------\n\n- Avoid UnicodeEncodeError with log messages.\n [jianaijun, rodfersou]\n\n- Support automatic rotation of audit log files at timed intervals;\n a new file is created every day and up to 30 backup files are maintained (closes `#9`_).\n [hvelarde]\n\n- Use object representation to log life cycle events;\n this fixes an issue with Archetypes-based objects being dumped to the log (refs. `#8`_ and fixes `#38`_).\n [hvelarde]\n\n- Package is now compatible with Plone 5.0 and Plone 5.1.\n [hvelarde]\n\n\n1.0b3 (2016-04-19)\n------------------\n\n- Added Chinese Simplified translation. [jianaijun]\n\n- Package no longer rises `AttributeError` when running interactive console (`bin/instance debug`) (fixes `#30`_).\n [hvelarde]\n\n- Clean up audit log messages.\n [hvelarde]\n\n- Disable rendering of left and right columns in audit log view.\n [hvelarde]\n\n- Audit log entries are now shown in reverse order (newer entries first).\n [hvelarde]\n\n\n1.0b2 (2016-03-18)\n------------------\n\n- Log to audit.log even if Zope's `event-log-level` is above INFO (fixes `#25`_).\n [fRiSi]\n\n- Add German translations.\n [fRiSi]\n\n- Fix output of the audit log view.\n [pcdummy, hvelarde]\n\n- Add Brazilian Portuguese and Spanish translations.\n [hvelarde]\n\n- The \"View Audit log\" action appears now before the \"Log out\" one (fixes `#18`_).\n [pcdummy, hvelarde]\n\n- Use main_template for the audit log view.\n [pcdummy]\n\n- Avoid `TypeError` while running third party tests (fixes `#2`_).\n [hvelarde]\n\n\n1.0b1 (2016-03-09)\n------------------\n\n- Add a view for the audit.log file `@@fingerpointing-audit-log` and link it to portal_actions.\n [pcdummy, hvelarde]\n\n- Make control panel configlet accesible to Site Administrator role (closes `#15`_).\n [hvelarde]\n\n- Avoid ``ComponentLookupError`` when removing a Plone site (fixes `#4`_).\n [hvelarde]\n\n- Remove unused plone.directives.form dependency which pulled in Grok packages.\n [vangheem]\n\n- Audit information is now logged into a file named `audit.log` instead of inside the standard `event.log`.\n [pcdummy]\n\n- Package is now compatible with Plone 5.\n [hvelarde]\n\n- Ignore errors caused by subscribers trying to access nonexistent registry records when package is still not installed (fixes `#1`_).\n [hvelarde]\n\n\n1.0a1 (2015-06-08)\n------------------\n\n- Initial release.\n\n.. _`#1`: https://github.com/collective/collective.fingerpointing/issues/1\n.. _`#2`: https://github.com/collective/collective.fingerpointing/issues/2\n.. _`#4`: https://github.com/collective/collective.fingerpointing/issues/4\n.. _`#8`: https://github.com/collective/collective.fingerpointing/issues/8\n.. _`#9`: https://github.com/collective/collective.fingerpointing/issues/9\n.. _`#15`: https://github.com/collective/collective.fingerpointing/issues/15\n.. _`#18`: https://github.com/collective/collective.fingerpointing/issues/18\n.. _`#25`: https://github.com/collective/collective.fingerpointing/issues/25\n.. _`#30`: https://github.com/collective/collective.fingerpointing/issues/30\n.. _`#38`: https://github.com/collective/collective.fingerpointing/issues/38\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/collective/collective.fingerpointing",
"keywords": "plone events subscribers log audit security",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "collective.fingerpointing",
"package_url": "https://pypi.org/project/collective.fingerpointing/",
"platform": "",
"project_url": "https://pypi.org/project/collective.fingerpointing/",
"project_urls": {
"Homepage": "https://github.com/collective/collective.fingerpointing"
},
"release_url": "https://pypi.org/project/collective.fingerpointing/1.8/",
"requires_dist": [
"file-read-backwards",
"plone.api (>=1.5.1)",
"plone.app.registry",
"plone.registry",
"Products.CMFCore",
"Products.CMFPlone (>=4.3)",
"Products.GenericSetup",
"Products.PlonePAS (>=5.0.9)",
"Products.PluggableAuthService (>=1.11.0)",
"setuptools",
"six",
"zc.lockfile (>=1.2.1)",
"zope.component",
"zope.globalrequest",
"zope.i18nmessageid",
"zope.interface",
"zope.lifecycleevent",
"zope.schema",
"AccessControl; extra == 'test'",
"plone.app.dexterity; extra == 'test'",
"plone.app.iterate; extra == 'test'",
"plone.app.robotframework; extra == 'test'",
"plone.app.testing[robot]; extra == 'test'",
"plone.browserlayer; extra == 'test'",
"plone.testing; extra == 'test'",
"robotsuite; extra == 'test'",
"testfixtures; extra == 'test'",
"zope.component; extra == 'test'",
"zope.event; extra == 'test'"
],
"requires_python": "",
"summary": "Keep track of different events and write them down to an audit log.",
"version": "1.8"
},
"last_serial": 4365900,
"releases": {
"1.0a1": [
{
"comment_text": "",
"digests": {
"md5": "28d86611295241673fa875c68560cfdc",
"sha256": "3cde144f00986edc2cd0a1e9a28e47838b2a2a5c7b8dfef4eb27de1fd0d09c38"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.0a1.tar.gz",
"has_sig": false,
"md5_digest": "28d86611295241673fa875c68560cfdc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 91811,
"upload_time": "2015-06-08T15:11:15",
"url": "https://files.pythonhosted.org/packages/af/22/8776b2647a16702e064f241177daf1d4f00a81369ae6bd6c55d216ab313e/collective.fingerpointing-1.0a1.tar.gz"
}
],
"1.0b1": [
{
"comment_text": "",
"digests": {
"md5": "e4112944d3928bde79068d0b9d2cc8eb",
"sha256": "5779ec0887d4da0b0d8b28f32be2a7f37e5ffffe0c64b98c96a12ba11e97e4a4"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.0b1.zip",
"has_sig": false,
"md5_digest": "e4112944d3928bde79068d0b9d2cc8eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 166801,
"upload_time": "2016-03-09T16:09:54",
"url": "https://files.pythonhosted.org/packages/c1/dd/88ba2f483801222ab0d855f5338bbb7e950fd3282c84ad3eb229d64224e5/collective.fingerpointing-1.0b1.zip"
}
],
"1.0b2": [
{
"comment_text": "",
"digests": {
"md5": "3460842510429f9559c65b44b4f91c0f",
"sha256": "bbdfbe883233d135c366bdf55ef4d23d91bc56ff7fdc0082cbffd46b32eb99b1"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.0b2.tar.gz",
"has_sig": false,
"md5_digest": "3460842510429f9559c65b44b4f91c0f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 69826,
"upload_time": "2016-03-18T14:14:09",
"url": "https://files.pythonhosted.org/packages/e2/72/a16d07231baf199a93de74ad169035284cdd80bd1d4941f987e95a3e5920/collective.fingerpointing-1.0b2.tar.gz"
}
],
"1.0b3": [
{
"comment_text": "",
"digests": {
"md5": "3cec497ecfff53d41fe18d3b3ad5beaf",
"sha256": "453f3234e4ff302f5721374328e81a62ec4d764dff2cd2939b77d58a41949fed"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.0b3.tar.gz",
"has_sig": false,
"md5_digest": "3cec497ecfff53d41fe18d3b3ad5beaf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 71094,
"upload_time": "2016-04-19T13:25:05",
"url": "https://files.pythonhosted.org/packages/e6/68/9425b7fdfa4227dda409677d5d1e07ca7cded5e9116b3382aa08937d88bf/collective.fingerpointing-1.0b3.tar.gz"
}
],
"1.0b4": [
{
"comment_text": "",
"digests": {
"md5": "7e536552ea2d0eab20b4427b1204f187",
"sha256": "0ddf2860d163af0a7ed83ff88775055419076f2d75d26cdbb6bb5fb37bc49c65"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.0b4.tar.gz",
"has_sig": false,
"md5_digest": "7e536552ea2d0eab20b4427b1204f187",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72521,
"upload_time": "2016-07-07T16:39:26",
"url": "https://files.pythonhosted.org/packages/d9/dc/bf3ad91e18cf3b773b4700c2ebe03607a15ca7fcf6d8c5a9f4634b256c4e/collective.fingerpointing-1.0b4.tar.gz"
}
],
"1.1b1": [
{
"comment_text": "",
"digests": {
"md5": "0f7e95d877927585d0c2e27d17813657",
"sha256": "8d6d1b2069844fdb19db183dc11dd94de4cce2599de3bae4f80ae6228c2b4829"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.1b1.tar.gz",
"has_sig": false,
"md5_digest": "0f7e95d877927585d0c2e27d17813657",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72879,
"upload_time": "2016-07-07T17:16:59",
"url": "https://files.pythonhosted.org/packages/ef/77/2f147c4b82276e33ba0f5613f3c8696499b91643e21437bfaedd5a43f456/collective.fingerpointing-1.1b1.tar.gz"
}
],
"1.2b1": [
{
"comment_text": "",
"digests": {
"md5": "8b8b3e8f76627076f1b321ee3089f3f2",
"sha256": "9674a2aafe4df4d0b7c3fe8ebc0ce377edd32ccad4f5948440ed38506cc514b3"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.2b1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "8b8b3e8f76627076f1b321ee3089f3f2",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 46904,
"upload_time": "2016-09-28T17:52:06",
"url": "https://files.pythonhosted.org/packages/8a/a1/8f5b86fb4a9969bd08b1bdc916dafe0e54c83d569f4964caef0ec7471e4c/collective.fingerpointing-1.2b1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ff0c033f618fa53b6c1aa4400bebc0b7",
"sha256": "99f00ffb3441a778bca27bf09a991fef418b19c9ad747199ee97af17871c0efd"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.2b1.tar.gz",
"has_sig": false,
"md5_digest": "ff0c033f618fa53b6c1aa4400bebc0b7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 74234,
"upload_time": "2016-09-28T17:52:09",
"url": "https://files.pythonhosted.org/packages/44/28/4c796e17145bc8c573c75f6c3e9618ad6bedf9c5822b9ee82dd877d82fd8/collective.fingerpointing-1.2b1.tar.gz"
}
],
"1.3b1": [
{
"comment_text": "",
"digests": {
"md5": "d6d4fbb3c17b3cd673dad53bbe4e5975",
"sha256": "9f412eb1e8b39117694fb1860c661749f3192d46cc69d069714f6e6b19498c52"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.3b1.tar.gz",
"has_sig": false,
"md5_digest": "d6d4fbb3c17b3cd673dad53bbe4e5975",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72478,
"upload_time": "2017-05-25T18:20:15",
"url": "https://files.pythonhosted.org/packages/f2/8c/4cdbd582ca3aca1c7b5fcf646b366909175839abb3f66a25eb119a6b1ca7/collective.fingerpointing-1.3b1.tar.gz"
}
],
"1.3b2": [
{
"comment_text": "",
"digests": {
"md5": "6c6167b24d161a81c9baf7e735df14b1",
"sha256": "222f0f8ce768ac336f6a4060083135814d74ae2503cd45f4260a05fdf3401282"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.3b2.tar.gz",
"has_sig": false,
"md5_digest": "6c6167b24d161a81c9baf7e735df14b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72539,
"upload_time": "2017-05-25T19:15:59",
"url": "https://files.pythonhosted.org/packages/a1/67/0812827784856b5377e8637b60f3669595a99be98a12d84dd3bcb40dc961/collective.fingerpointing-1.3b2.tar.gz"
}
],
"1.4b1": [
{
"comment_text": "",
"digests": {
"md5": "7421c3a9775c18895a66fb5aa153f59a",
"sha256": "c35a36cbb6656322a8321e82e54da5a8dd338d2ca61eeb1a60fcf991fcc30c80"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.4b1.tar.gz",
"has_sig": false,
"md5_digest": "7421c3a9775c18895a66fb5aa153f59a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 72690,
"upload_time": "2017-06-26T21:10:09",
"url": "https://files.pythonhosted.org/packages/9d/0f/a7113f2d39e1a49ad8c30aa4a67ba123213cdf52f959440d94b6807cedba/collective.fingerpointing-1.4b1.tar.gz"
}
],
"1.4b2": [
{
"comment_text": "",
"digests": {
"md5": "20e20bfca11b6e28b92601ce805a9939",
"sha256": "1461beea9394eb9a1ea76d104d85369380df53f8eeead8cedc108835bbe938c5"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.4b2.tar.gz",
"has_sig": false,
"md5_digest": "20e20bfca11b6e28b92601ce805a9939",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 73405,
"upload_time": "2017-09-20T12:21:32",
"url": "https://files.pythonhosted.org/packages/22/d0/fcc786cab76f613f4e1b4462f8f198da8baf045ed9915305bec9aac778fa/collective.fingerpointing-1.4b2.tar.gz"
}
],
"1.4b3": [
{
"comment_text": "",
"digests": {
"md5": "5002d16a009a480ee33c71a15ded48bb",
"sha256": "1b62d5f076c9b2978c33323a6b45cd73b6448f6ae173ba73c74714e4c6961773"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.4b3.tar.gz",
"has_sig": false,
"md5_digest": "5002d16a009a480ee33c71a15ded48bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 73899,
"upload_time": "2017-11-21T14:00:25",
"url": "https://files.pythonhosted.org/packages/7e/8c/d50747d649c284914c88db62f2b5ef422452de612acca3a246d819b86855/collective.fingerpointing-1.4b3.tar.gz"
}
],
"1.5rc1": [
{
"comment_text": "",
"digests": {
"md5": "baa2a92a09a527b06520fdce170c8e9b",
"sha256": "b8599608145b858443fc544bed13b20be37dd4bb65d6b8a29ea1f174ac4d84cb"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.5rc1.tar.gz",
"has_sig": false,
"md5_digest": "baa2a92a09a527b06520fdce170c8e9b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 76201,
"upload_time": "2017-11-24T13:04:09",
"url": "https://files.pythonhosted.org/packages/32/c2/bf246c682b37ae926c92a700f9c0ddf51d07e4ae888ab57eda90100f94ca/collective.fingerpointing-1.5rc1.tar.gz"
}
],
"1.6": [
{
"comment_text": "",
"digests": {
"md5": "06d7a041553a7d9938e2c76c4e970668",
"sha256": "1918ed78b782970334ee5800ef5165fd5a948260a08ce2aee6bba206714703ea"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6-py2-none-any.whl",
"has_sig": false,
"md5_digest": "06d7a041553a7d9938e2c76c4e970668",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 61286,
"upload_time": "2018-03-28T22:45:53",
"url": "https://files.pythonhosted.org/packages/64/a4/0b843905e7870a335154687b9113679fd7fc9544ba3cbc15b80dba719485/collective.fingerpointing-1.6-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6342584692933a13c5ac12bc2874abd3",
"sha256": "e587efcaca473e58075ac0782714e52f01e5e22d7c3c99aa2123963af1ccfbc0"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6.tar.gz",
"has_sig": false,
"md5_digest": "6342584692933a13c5ac12bc2874abd3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 77688,
"upload_time": "2018-03-28T22:45:55",
"url": "https://files.pythonhosted.org/packages/c2/c8/5e6ead5ba626369e4c48ceb4fb4545228527f8cfed854540e769a49330d0/collective.fingerpointing-1.6.tar.gz"
}
],
"1.6rc1": [
{
"comment_text": "",
"digests": {
"md5": "402e0637a10ca706f80c1f64b781fce8",
"sha256": "811e35519652864080894bee1e7020920d1da88096f5d2cb39ee79326793ca17"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6rc1-py2-none-any.whl",
"has_sig": false,
"md5_digest": "402e0637a10ca706f80c1f64b781fce8",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 61204,
"upload_time": "2018-03-22T13:55:14",
"url": "https://files.pythonhosted.org/packages/3f/97/a64d8433c8198ed1ed3e79bebf610f5ea6685b583aa8bc99d904749ec81d/collective.fingerpointing-1.6rc1-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8d7c8bcf60c0c6d3809742142102e4e4",
"sha256": "62358c0d8477756a045380747f20b7c96262a0094700489f24716a2bca318890"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6rc1.tar.gz",
"has_sig": false,
"md5_digest": "8d7c8bcf60c0c6d3809742142102e4e4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 77672,
"upload_time": "2018-03-22T13:55:17",
"url": "https://files.pythonhosted.org/packages/b4/9d/a8fa1721cac4756e18fc4264224d7ce9e3fc08a87a07bdbbf285a7c3931a/collective.fingerpointing-1.6rc1.tar.gz"
}
],
"1.6rc2": [
{
"comment_text": "",
"digests": {
"md5": "c6cb7eabf9a2054f75cbd13c58eeffb4",
"sha256": "1634958c129295290471b6f0d2e04747f6dbbfe6f542096734c51447d147fedf"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6rc2-py2-none-any.whl",
"has_sig": false,
"md5_digest": "c6cb7eabf9a2054f75cbd13c58eeffb4",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 61241,
"upload_time": "2018-03-22T15:38:15",
"url": "https://files.pythonhosted.org/packages/b9/1f/6d1d0a00cbe5501256cf1f4a49d340c7858a9fd2ec727bc82ef44e2864d1/collective.fingerpointing-1.6rc2-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f8c4772baba493e428f0b4b9f6ec1a6f",
"sha256": "21fb427900b3468b0c51753428e524138d81b715c202fdecc2ff751d6c536577"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.6rc2.tar.gz",
"has_sig": false,
"md5_digest": "f8c4772baba493e428f0b4b9f6ec1a6f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 77667,
"upload_time": "2018-03-22T15:38:18",
"url": "https://files.pythonhosted.org/packages/e2/5b/cc0ce9dd890d84c4d2fe6c09f9cb7dca9eaebb7faa73e3bff420d2e1515a/collective.fingerpointing-1.6rc2.tar.gz"
}
],
"1.7": [
{
"comment_text": "",
"digests": {
"md5": "7372cb65cd18fdc7c48c3db283280216",
"sha256": "a096957768d5efd777428960b04024ba675fe65530574e4ceb547b895be0ef5c"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.7-py2-none-any.whl",
"has_sig": false,
"md5_digest": "7372cb65cd18fdc7c48c3db283280216",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 62146,
"upload_time": "2018-04-23T22:34:39",
"url": "https://files.pythonhosted.org/packages/01/d3/eadcd2ed9b22ce8a425b1edd14a8bc5e70104db617837dc639732c0d7126/collective.fingerpointing-1.7-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "44739f73c62f1a23f96ddef8a1b0257b",
"sha256": "e45dac11b51b815173d3d5fca7b0c32a10a390ecb1496eadb868b6a7ede07d6d"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.7.tar.gz",
"has_sig": false,
"md5_digest": "44739f73c62f1a23f96ddef8a1b0257b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 78309,
"upload_time": "2018-04-23T22:34:41",
"url": "https://files.pythonhosted.org/packages/6a/16/d294005d63a57faea78e7474aa02dc4878c9ea7c552de7f6287982813984/collective.fingerpointing-1.7.tar.gz"
}
],
"1.8": [
{
"comment_text": "",
"digests": {
"md5": "1a2818e0c58129be7251d21fd1c92e0b",
"sha256": "7b0625e7e8f566985d83a6a252097ee0101c7305f3531c0b8c457b314406bada"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.8-py2-none-any.whl",
"has_sig": false,
"md5_digest": "1a2818e0c58129be7251d21fd1c92e0b",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 62452,
"upload_time": "2018-10-11T20:44:47",
"url": "https://files.pythonhosted.org/packages/25/b9/542863602954bbe041293c75be5f85a6bc76ef695bffb06720fd8d027448/collective.fingerpointing-1.8-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4137f047ff291c309a6088b8f92d4049",
"sha256": "19c4007e9dc17e6b08447a405b58d05194cdcff5d26ef5b0a44b4017a28e6f45"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.8.tar.gz",
"has_sig": false,
"md5_digest": "4137f047ff291c309a6088b8f92d4049",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 78756,
"upload_time": "2018-10-11T20:44:49",
"url": "https://files.pythonhosted.org/packages/e2/9d/26a30381bec108b8b01f1a2441ca3f1477c069ec2bae150ff19359e0816e/collective.fingerpointing-1.8.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1a2818e0c58129be7251d21fd1c92e0b",
"sha256": "7b0625e7e8f566985d83a6a252097ee0101c7305f3531c0b8c457b314406bada"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.8-py2-none-any.whl",
"has_sig": false,
"md5_digest": "1a2818e0c58129be7251d21fd1c92e0b",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 62452,
"upload_time": "2018-10-11T20:44:47",
"url": "https://files.pythonhosted.org/packages/25/b9/542863602954bbe041293c75be5f85a6bc76ef695bffb06720fd8d027448/collective.fingerpointing-1.8-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "4137f047ff291c309a6088b8f92d4049",
"sha256": "19c4007e9dc17e6b08447a405b58d05194cdcff5d26ef5b0a44b4017a28e6f45"
},
"downloads": -1,
"filename": "collective.fingerpointing-1.8.tar.gz",
"has_sig": false,
"md5_digest": "4137f047ff291c309a6088b8f92d4049",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 78756,
"upload_time": "2018-10-11T20:44:49",
"url": "https://files.pythonhosted.org/packages/e2/9d/26a30381bec108b8b01f1a2441ca3f1477c069ec2bae150ff19359e0816e/collective.fingerpointing-1.8.tar.gz"
}
]
}