{ "info": { "author": "Laurens Van Houtven", "author_email": "_@lvh.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Twisted", "Intended Audience :: Education", "License :: OSI Approved :: ISC License (ISCL)", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Education", "Topic :: Games/Entertainment", "Topic :: Security :: Cryptography" ], "description": "========\n merlyn\n========\n\nA server backend for interactive online exercises.\n\n.. image:: https://travis-ci.org/crypto101/merlyn.png\n :target: https://travis-ci.org/crypto101/merlyn\n.. image:: https://coveralls.io/repos/crypto101/merlyn/badge.png?branch=master\n :target: https://coveralls.io/r/crypto101/merlyn?branch=master\n\nTesting and documentation\n=========================\n\nTesting is done using tox_. Install it, and run it from the command\nline in the repository root. This will create a virtualenv_ for each\nsupported environment, install the necessary things in it, run the\ntests, and build the documentation.\n\nSpeeding up builds\n------------------\n\nFor a faster experience, it is recommended that you configure pip_ to\nuse wheel_ by default, by placing the following in your\n``~/.pip/pip.conf`` or equivalent::\n\n [global]\n use-wheel = True\n\n [install]\n find-links = /tmp/wheelhouse\n\n [wheel]\n wheel-dir = /tmp/wheelhouse\n\nAfter that, build wheels out of the requirements by running the\nfollowing command once::\n\n pip wheel -r requirements.txt -r requirements-docs.txt -r requirements-testing.txt\n\nThat will build wheels, which are faster to install than regular\npackages. You can make installations even faster by adding ``no-index\n= True`` to the ``[install]`` section; that way, installations won't\neven hit PyPI, further reducing latency. Keep in mind that you will\nthen no longer be able to use ``pip install`` to install anything,\nunless you've first made a wheel out of it.\n\n.. _tox: https://testrun.org/tox/\n.. _virtualenv: https://pypi.python.org/pypi/virtualenv/\n.. _pip: http://www.pip-installer.org/en/latest/\n.. _wheel: http://wheel.readthedocs.org/en/latest/\n\nRelease notes\n=============\n\n0.0.9\n-----\n\nAdded per-user secrets. Once pyca/cryptography will have HKDF support,\nthis will turn into per-user entropy.\n\nAlso minor fixes, version upgrades.\n\n0.0.8\n-----\n\nNow being continuously tested on Travis, with coverage monitoring\nthanks to Coveralls.\n\nSeveral other minor improvements:\n\n- A useful mixin for resources that represent exercises, for helping\n them resolve and notify when an exercise is completed.\n- User e-mails are indexed.\n- Persisted factories are now unary callables that take a store. This\n prevents some otherwise icky global mutable state.\n- New behavior for adding persisted factories: addOrUpdate; don't just\n blindly add more factories with the same identifier.\n\n0.0.7\n-----\n\n- Added support for a ``dhparam.pem``, enabling DH-based PFS\n ciphersuites. ECDH-based PFS ciphersuites is a work in progress, see\n #6.\n\n0.0.6\n-----\n\n- Moved requirements into setup.py for easier installs\n- ``clarent`` version requirement bump\n\n0.0.5\n-----\n\nFeatures:\n\n- localhost manhole support for debugging\n- Only support good ciphersuites.\n\n0.0.4\n-----\n\nRenamed to merlyn (see \"Whence the name\" below).\n\nFeatures:\n\n- Drastically simplified exercise API\n- Authentication API based on SSL certificate verification\n\n0.0.3\n-----\n\nFeatures:\n\n- Basic documentation for steps and exercises\n- Interfaces: IStep, IRenderer, IValidator (see docs)\n- A renderer based on string templating (str.format)\n\nUpgrades:\n\n- repoze.sphinx.autointerface -> sphinxcontrib-zopeext, which appears\n to be a shinier, more updated version of the same thing\n\nCommon things between merlyn and arthur_, such as shared AMP command\nclasses, were moved to clarent_.\n\n0.0.2\n-----\n\nFeatures:\n\n- Exercise and Step classes\n- Step validation draft\n- Step solution submission interface\n\n0.0.1\n-----\n\nInitial public release. Nothing much to see here.\n\nWhence the name?\n================\n\nThis project was originally called merlin, because the step-by-step\noracle-like model reminded me of Merlin in the AM complexity class and\n`Arthur-Merlin protocols`_. It's since been renamed to merlyn, because\nthe primo merlin PyPI real estate has been taken up by some kind of\nweird setuptools fork.\n\nSince Arthur is the person who performs the protocol together with\nMerlin, it only made sense to name the client side project `arthur`.\nFinally, clarent_, named after king Arthur's ceremonial sword, holds\ncommon tools.\n\n.. _arthur: https://github.com/crypto101/arthur\n.. _clarent: https://github.com/crypto101/clarent\n.. _`Arthur-Merlin protocols`: https://en.wikipedia.org/wiki/Merlin-Arthur_protocol", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/crypto101/merlyn", "keywords": "crypto twisted", "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "merlyn", "package_url": "https://pypi.org/project/merlyn/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/merlyn/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/crypto101/merlyn" }, "release_url": "https://pypi.org/project/merlyn/0.0.9/", "requires_dist": null, "requires_python": null, "summary": "A server backend for interactive online exercises.", "version": "0.0.9" }, "last_serial": 974145, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "c0f24c2af9a61f4801a7786eaea94233", "sha256": "3a9cf3bc8136f42590f1cd5dd1c0af79da49c197e2319dd1ad2874bc0632862b" }, "downloads": -1, "filename": "merlyn-0.0.3.tar.gz", "has_sig": true, "md5_digest": "c0f24c2af9a61f4801a7786eaea94233", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5098, "upload_time": "2013-12-02T10:53:55", "url": "https://files.pythonhosted.org/packages/b6/7e/0545784888a55f34c38de19b9aa1792004b8e96c8ce6353c3fd3625f1c34/merlyn-0.0.3.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "f1829ff72a3dae23884f5b614cbda04c", "sha256": "a3c9ee1c112eaf161c4f5689cf4d42194240f9dd3ebdc3fc09a843390d4e5696" }, "downloads": -1, "filename": "merlyn-0.0.5.tar.gz", "has_sig": true, "md5_digest": "f1829ff72a3dae23884f5b614cbda04c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19031, "upload_time": "2013-12-26T17:31:27", "url": "https://files.pythonhosted.org/packages/c3/89/46173b310e63f5e1a0024fa977cd05022c2fc37fb673a205aace9a7e7d6d/merlyn-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "25529eff3a48b3ab3908f0d19b5e6ea8", "sha256": "fbb8f21ae3ae9a0541379d26e305832c50864ff7bdd717974707d1a0c33cfd77" }, "downloads": -1, "filename": "merlyn-0.0.6.tar.gz", "has_sig": true, "md5_digest": "25529eff3a48b3ab3908f0d19b5e6ea8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19287, "upload_time": "2013-12-27T14:10:15", "url": "https://files.pythonhosted.org/packages/0d/8a/894e55bdaebdf7e884fffc9dce124aaaff9102204c4a2fe13d086dd966f0/merlyn-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "0d8ede953f57594b16f998b9ad791d66", "sha256": "652b7c2e82c6ca3dedb34c55b3456d02405a8c0a32f895b13d9c761f2927f2d3" }, "downloads": -1, "filename": "merlyn-0.0.7.tar.gz", "has_sig": true, "md5_digest": "0d8ede953f57594b16f998b9ad791d66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19400, "upload_time": "2013-12-28T23:14:52", "url": "https://files.pythonhosted.org/packages/76/0b/3a469c4184db95691dabe62d1fd3065c240bf0bf3a97758cafb363753aba/merlyn-0.0.7.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "b001c333d21131fd78b046291c70b747", "sha256": "54fb3e53aceef9998f276c09a2019bbfc7873ef9521624779353d0ce38adfa6e" }, "downloads": -1, "filename": "merlyn-0.0.9.tar.gz", "has_sig": true, "md5_digest": "b001c333d21131fd78b046291c70b747", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21124, "upload_time": "2014-01-19T19:36:22", "url": "https://files.pythonhosted.org/packages/12/30/f53944fb2513d16f1fad19987202af6de8ea4a319c77501bc27b36bd375b/merlyn-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b001c333d21131fd78b046291c70b747", "sha256": "54fb3e53aceef9998f276c09a2019bbfc7873ef9521624779353d0ce38adfa6e" }, "downloads": -1, "filename": "merlyn-0.0.9.tar.gz", "has_sig": true, "md5_digest": "b001c333d21131fd78b046291c70b747", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21124, "upload_time": "2014-01-19T19:36:22", "url": "https://files.pythonhosted.org/packages/12/30/f53944fb2513d16f1fad19987202af6de8ea4a319c77501bc27b36bd375b/merlyn-0.0.9.tar.gz" } ] }