{ "info": { "author": "Marco Caramma", "author_email": "marco@globalsoftwaresecurity.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: Session", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Fanery\n======\n\nApplication development framework.\n\n\nProject Goals\n-------------\n\n- Strong security by default.\n- Focus on being developer-oriented.\n- Promote funcional pythonic style.\n- Promote continuous testing+profiling.\n\n\nWhy Fanery\n----------\n\nFanery is an opinionated development framework build around a few simple concepts:\n\n- Strong cryptography must be transparent and enabled by default.\n- Encryption must not rely on cryptographic keys generated client side.\n- Encryption must only rely on unbroken high-quality ciphers/algorithms/implementations.\n- Session security must not rely on SessionIDs, bizare URLs, secure cookies, secret tokens, magic keys or any other piece of information that can be guessed or stolen during transmission.\n- Capture and re-transmission of encrypted messages must be pointless.\n- The framework must protect transparently against brute-force and authenticated sessions abuse.\n- The framework must handle transparently input serialization to harmless/built-in only object types.\n- The framework must not depend on strict/pre-defined configuration style/format and/or directory structure.\n- The framework must not tie to a particular storage or UI technology.\n- The framework must provide the facilities for easy testing, debugging and profiling.\n- The framework must not rely on components that inhibit elastic/horizontal scalability.\n\nInstall\n-------\n\n1. First make sure to install successfully the following C libraries::\n\n pip install PyNaCl\n pip install cxor\n pip install ujson\n pip install scrypt\n pip install bjoern\n pip install bsdiff4\n pip install ciso8601\n pip install python-libuuid\n pip install msgpack-python\n pip install linesman objgraph\n\n2. Then install Fanery and run test files::\n\n pip install Fanery\n python tests/test_term.py\n python tests/test_service.py\n\nContribute\n----------\n\n- Issue Tracker: https://bitbucket.org/mcaramma/fanery/issues\n- Source Code: https://bitbucket.org/mcaramma/fanery/src\n\nLicense\n-------\n\nThe project is licensed under the ISC license.\n\nDocumentation\n-------------\n\n.. image:: https://readthedocs.org/projects/fanery/badge/?version=latest\n :target: https://fanery.readthedocs.org\n :alt: Fanery Documentation", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/mcaramma/fanery/", "keywords": null, "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "Fanery", "package_url": "https://pypi.org/project/Fanery/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Fanery/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/mcaramma/fanery/" }, "release_url": "https://pypi.org/project/Fanery/0.2.5/", "requires_dist": null, "requires_python": null, "summary": "Application development framework", "version": "0.2.5" }, "last_serial": 1311345, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "bf67b0a5e6594c37f726c41a1ded052d", "sha256": "1000d0c83ef99bdde2ce1133dd68be0a20ea43a6ba2201969241bb42b7ea0462" }, "downloads": -1, "filename": "Fanery-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bf67b0a5e6594c37f726c41a1ded052d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22264, "upload_time": "2013-06-14T19:38:14", "url": "https://files.pythonhosted.org/packages/59/84/5684588658d3350fea45f38f5be1846cc5625f4a77fced74937c3955ca72/Fanery-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a414eeb6eae594767ae3ba65ba533111", "sha256": "f4bec3af3bc9f2f5753cd9200ac32d765ea0e8a91a89522dcb49e5edcccbf992" }, "downloads": -1, "filename": "Fanery-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a414eeb6eae594767ae3ba65ba533111", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14474, "upload_time": "2013-09-26T00:32:12", "url": "https://files.pythonhosted.org/packages/db/ac/182eceb998e9fd49185cd7cb50bd82dedf1ec1175033d51ec55caaa581c4/Fanery-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e494c1add5cac2bc1d3b4a75bbc56d34", "sha256": "ba0d49c2ccee8d3deb526985d86e20e499c95e0a54153b7cb03de6533ce0d5c6" }, "downloads": -1, "filename": "Fanery-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e494c1add5cac2bc1d3b4a75bbc56d34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 317489, "upload_time": "2014-08-26T02:49:08", "url": "https://files.pythonhosted.org/packages/98/f2/68c62ebd95c6d60e1c5ff74bac1aa9ce7f3768a8f05e788534f37d4648c0/Fanery-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "10bc37b3cf2a71a9d9c6b2bfb0ab784f", "sha256": "9479f0001c7a0f957b5f2abf69adaae9fd5fc4178be29a108705408915e48074" }, "downloads": -1, "filename": "Fanery-0.2.1.tar.gz", "has_sig": false, "md5_digest": "10bc37b3cf2a71a9d9c6b2bfb0ab784f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 317471, "upload_time": "2014-08-26T03:05:10", "url": "https://files.pythonhosted.org/packages/72/73/f9a3f0fb712be64a93ff34154b5346a98df150a41f7a7db269bc757b8205/Fanery-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "64b8bb1994fab6e218285041483bef14", "sha256": "0454f6d1045daad401cd1cb038f6383f4d05309fab130d8da974820d7722299d" }, "downloads": -1, "filename": "Fanery-0.2.2.tar.gz", "has_sig": false, "md5_digest": "64b8bb1994fab6e218285041483bef14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320122, "upload_time": "2014-08-31T16:21:40", "url": "https://files.pythonhosted.org/packages/77/70/f5ce53e7a8a99b05b59ac2a90758ff72923b7856725f666b7056b79fc48b/Fanery-0.2.2.tar.gz" } ], "0.2.2.1": [ { "comment_text": "", "digests": { "md5": "b4fd8f2d7fe7cd2a61cb2a31913bc181", "sha256": "86bb094b04ddfd614ce68c482c9b25f2ab0ed9c7d34088df5997201b9023eb48" }, "downloads": -1, "filename": "Fanery-0.2.2.1.tar.gz", "has_sig": false, "md5_digest": "b4fd8f2d7fe7cd2a61cb2a31913bc181", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320163, "upload_time": "2014-08-31T16:42:26", "url": "https://files.pythonhosted.org/packages/8a/38/016ae1b4ae17da5b15207019cdaa2a258884d38e6bac0941dbfd5ef9f816/Fanery-0.2.2.1.tar.gz" } ], "0.2.2.2": [ { "comment_text": "", "digests": { "md5": "059a99bc5744393ffe19583c3c4a83e5", "sha256": "bd616711bb454b6f04bb6bb7f8fd87911ce96c3e14f61b44464769bc3cad8fd0" }, "downloads": -1, "filename": "Fanery-0.2.2.2.tar.gz", "has_sig": false, "md5_digest": "059a99bc5744393ffe19583c3c4a83e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320875, "upload_time": "2014-08-31T20:49:16", "url": "https://files.pythonhosted.org/packages/43/69/244bbea954490fd3995e6c06c2687aaaa6a116a9029c88519fe0bf571f89/Fanery-0.2.2.2.tar.gz" } ], "0.2.2.3": [ { "comment_text": "", "digests": { "md5": "32cae4f1cada0e54479046a3dbee1009", "sha256": "3c95138d16002afae434f344c77b97eac1c2601b8f7a5598a4be628e5fc6ef09" }, "downloads": -1, "filename": "Fanery-0.2.2.3.tar.gz", "has_sig": false, "md5_digest": "32cae4f1cada0e54479046a3dbee1009", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320885, "upload_time": "2014-08-31T21:27:28", "url": "https://files.pythonhosted.org/packages/fc/08/eff27274db28c1881be0ee94616306e3fa4f942c900739e4c7d473c290e0/Fanery-0.2.2.3.tar.gz" } ], "0.2.2.4": [ { "comment_text": "", "digests": { "md5": "0c7eed6413fbb03070853210948d04a4", "sha256": "eb7477cfd881d664acae88a1dcc8d58052bc9a7451091f7e046fdb7fd37f6ea4" }, "downloads": -1, "filename": "Fanery-0.2.2.4.tar.gz", "has_sig": false, "md5_digest": "0c7eed6413fbb03070853210948d04a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 334961, "upload_time": "2014-10-08T02:28:14", "url": "https://files.pythonhosted.org/packages/52/81/ed2762e3ae5840288c1e4025b16ac12b9551eea2db00874eb1cac434b891/Fanery-0.2.2.4.tar.gz" } ], "0.2.2.5": [ { "comment_text": "", "digests": { "md5": "ab4ab7c2e6ac1b7aa70e606683cec9fc", "sha256": "3caaae533bb04f94e199591a8d81f5e76363d684af6b38ed2a9d2669d2491a48" }, "downloads": -1, "filename": "Fanery-0.2.2.5.tar.gz", "has_sig": false, "md5_digest": "ab4ab7c2e6ac1b7aa70e606683cec9fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 335569, "upload_time": "2014-10-29T02:23:40", "url": "https://files.pythonhosted.org/packages/bd/39/918316251ca219ffce95df2994b88925c8908c772a8c570e5b969821e88e/Fanery-0.2.2.5.tar.gz" } ], "0.2.2.6": [ { "comment_text": "", "digests": { "md5": "4a3498c154a3e884ff4272cf84a6414d", "sha256": "db598cbfada4cf7035ebd4b1025386b01c5ed12450659b0ef9cc6939a29aff6c" }, "downloads": -1, "filename": "Fanery-0.2.2.6.tar.gz", "has_sig": false, "md5_digest": "4a3498c154a3e884ff4272cf84a6414d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 336153, "upload_time": "2014-10-31T01:48:12", "url": "https://files.pythonhosted.org/packages/33/09/e0e227e34eea4f96b7b8f1bd6ed236fb7c44105cff7007b5fdb329025566/Fanery-0.2.2.6.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "76f2c02e38257ea6daf3516afed03f27", "sha256": "7fd0efd5ce4ce78cac67c6142eb0dfa9df64e19553f470e73ed59376fe42e0b0" }, "downloads": -1, "filename": "Fanery-0.2.3.tar.gz", "has_sig": false, "md5_digest": "76f2c02e38257ea6daf3516afed03f27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 336759, "upload_time": "2014-11-09T19:52:35", "url": "https://files.pythonhosted.org/packages/3a/3d/4ad357dd9a6c646b863c41f75c28c6c68d65b9485fc7255273bb1198ad86/Fanery-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e706a73e1ea20fe21b54bf96216d5142", "sha256": "05c88bbdc510b18f2bb3be94f909a725791e34757bdacb7eb37ed4ebc2c0b882" }, "downloads": -1, "filename": "Fanery-0.2.4.tar.gz", "has_sig": false, "md5_digest": "e706a73e1ea20fe21b54bf96216d5142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 336865, "upload_time": "2014-11-12T23:55:21", "url": "https://files.pythonhosted.org/packages/b6/20/5200391c65bae3f2b652010b7120503a69d6138e9ab4a739eb5b65eb435d/Fanery-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "bec9dd44432ccecdb46538086f511ad9", "sha256": "19fdd6bef191af878505003c8736cbc55b4846ed0e352e5ba60f035ba774f5bd" }, "downloads": -1, "filename": "Fanery-0.2.5.tar.gz", "has_sig": false, "md5_digest": "bec9dd44432ccecdb46538086f511ad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 336902, "upload_time": "2014-11-18T12:15:28", "url": "https://files.pythonhosted.org/packages/0a/16/76ffa4c4dfa5a8206a5605b8f261cbe979f8776c3bff7fc7f2b58ac6bc6e/Fanery-0.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bec9dd44432ccecdb46538086f511ad9", "sha256": "19fdd6bef191af878505003c8736cbc55b4846ed0e352e5ba60f035ba774f5bd" }, "downloads": -1, "filename": "Fanery-0.2.5.tar.gz", "has_sig": false, "md5_digest": "bec9dd44432ccecdb46538086f511ad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 336902, "upload_time": "2014-11-18T12:15:28", "url": "https://files.pythonhosted.org/packages/0a/16/76ffa4c4dfa5a8206a5605b8f261cbe979f8776c3bff7fc7f2b58ac6bc6e/Fanery-0.2.5.tar.gz" } ] }