{ "info": { "author": "Robert Sharp", "author_email": "webmaster@sharpdesigndigital.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Cython", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# MonkeyScope\nDistribution Timer for Non-deterministic Value Generators\n\n### Sister Projects:\n- Fortuna: Collection of abstractions to make custom random generators. https://pypi.org/project/Fortuna/\n- Pyewacket: Drop-in replacement for the Python3 random module. https://pypi.org/project/Pyewacket/\n- RNG: Python3 API for the C++ Random Library. https://pypi.org/project/RNG/\n\nSupport these and other random projects: https://www.patreon.com/robertsharp\n\n### Quick Install `$ pip install MonkeyScope`\n\n\n### Installation may require the following:\n- Python 3.6 or later with dev tools (setuptools, pip, etc.)\n- Cython: `pip install Cython`\n- Modern C++17 compiler and standard library for your platform.\n\n---\n\n## MonkeyScope Specifications\n- `MonkeyScope.distribution_timer(func: staticmethod, *args, **kwargs) -> None`\n - Logger for the statistical analysis of non-deterministic generators.\n - @param func :: function, method or lambda to analyze. Evaluated as `func(*args, **kwargs)`\n - @optional_kw num_cycles=10000 :: Total number of samples to use for analysis.\n - @optional_kw post_processor=None :: Used to scale a large set of data into a smaller set of groupings for better visualization of the data, esp. useful for distributions of floats. For many functions in quick_test(), math.floor() is used, for others round() is more appropriate. For more complex post processing - lambdas work nicely. Post processing only affects the distribution, the statistics and performance results are unaffected.\n- `MonkeyScope.distribution(func: staticmethod, *args, **kwargs) -> None`\n - Stats and distribution.\n- `MonkeyScope.timer(func: staticmethod, *args, **kwargs) -> None`\n - Just the function timer.\n\n### MonkeyScope Script Example\n```python\nimport MonkeyScope, random\n\n\nx, y, z = 1, 10, 2\nMonkeyScope.distribution_timer(random.randint, x, y)\nMonkeyScope.distribution_timer(random.randrange, x, y)\nMonkeyScope.distribution_timer(random.randrange, x, y, z)\n```\n\n### Typical Script Output\n```\nOutput Analysis: Random.randint(1, 10)\nTypical Timing: 1270 \u00b1 88 ns\nStatistics of 1000 samples:\n Minimum: 1\n Median: 5.0\n Maximum: 10\n Mean: 5.425\n Std Deviation: 2.867468395641005\nDistribution of 100000 samples:\n 1: 10.0%\n 2: 10.073%\n 3: 10.046%\n 4: 10.07%\n 5: 10.032%\n 6: 9.991%\n 7: 9.978%\n 8: 10.115%\n 9: 9.836%\n 10: 9.859%\n\nOutput Analysis: Random.randrange(1, 10)\nTypical Timing: 1135 \u00b1 69 ns\nStatistics of 1000 samples:\n Minimum: 1\n Median: 5.0\n Maximum: 9\n Mean: 5.028\n Std Deviation: 2.605228588819031\nDistribution of 100000 samples:\n 1: 11.281%\n 2: 11.098%\n 3: 11.04%\n 4: 11.119%\n 5: 10.999%\n 6: 11.176%\n 7: 11.206%\n 8: 11.091%\n 9: 10.99%\n\nOutput Analysis: Random.randrange(1, 10, 2)\nTypical Timing: 1332 \u00b1 55 ns\nStatistics of 1000 samples:\n Minimum: 1\n Median: 5.0\n Maximum: 9\n Mean: 5.068\n Std Deviation: 2.771890329720857\nDistribution of 100000 samples:\n 1: 19.868%\n 3: 20.025%\n 5: 20.001%\n 7: 19.811%\n 9: 20.295%\n```\n\n\n### Development Log:\n\n##### MonkeyScope 1.2.6\n- Installer Update, will properly install numpy as needed.\n\n##### MonkeyScope 1.2.5\n- Fixed Typos\n\n##### MonkeyScope 1.2.4\n- More minor typos fixed\n\n##### MonkeyScope 1.2.3\n- Minor typos fixed.\n\n##### MonkeyScope 1.2.2\n- MonkeyScope is now compatible with python notebooks.\n\n##### MonkeyScope 1.2.1\n- Documentation update\n\n##### MonkeyScope 1.2.0\n- Minor performance improvement.\n\n##### MonkeyScope 1.1.5\n- Public Release\n\n##### MonkeyScope Beta 0.1.5\n- Installer Update\n\n##### MonkeyScope Beta 0.1.4\n- Minor Bug Fix\n\n##### MonkeyScope Beta 0.1.3\n- Continued Development\n\n##### MonkeyScope Beta 0.1.2\n- Renamed to MonkeyScope\n\n##### MonkeyTimer Beta 0.0.2\n- Changed to c++ compiler\n\n##### MonkeyTimer Beta 0.0.1\n- Initial Project Setup\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "MonkeyScope,distribution tests,function timer,performance testing,statistical analysis", "license": "Free for non-commercial use", "maintainer": "", "maintainer_email": "", "name": "MonkeyScope", "package_url": "https://pypi.org/project/MonkeyScope/", "platform": "Darwin", "project_url": "https://pypi.org/project/MonkeyScope/", "project_urls": null, "release_url": "https://pypi.org/project/MonkeyScope/1.2.6/", "requires_dist": [ "numpy" ], "requires_python": ">=3.6", "summary": "Distribution Stats & Timer for Testing Non-deterministic Value Generators", "version": "1.2.6" }, "last_serial": 5978599, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "a2f138cd74018eb1aa57882ab6cbac22", "sha256": "8229fadc35cfe17c5d7d65f7e273de4ddf445507074f750537cc65687f0e873a" }, "downloads": -1, "filename": "MonkeyScope-0.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "a2f138cd74018eb1aa57882ab6cbac22", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.7", "size": 54245, "upload_time": "2019-08-28T02:23:18", "url": "https://files.pythonhosted.org/packages/48/80/006724532e4446fa01289752b63df75260bbb006ff6a1ed0dab02efc412a/MonkeyScope-0.1.2-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "646c53c70004cce9e5216f3326600c87", "sha256": "5e100970eeee9ca7292246601ed52305fcfc372878115dbe6f24e8d8f3438fc2" }, "downloads": -1, "filename": "MonkeyScope-0.1.2.tar.gz", "has_sig": false, "md5_digest": "646c53c70004cce9e5216f3326600c87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 65583, "upload_time": "2019-08-28T02:23:20", "url": "https://files.pythonhosted.org/packages/b1/4c/2b6807377c28523c3e68473971e87cb8d5a554ad5d3d5a26e9bd32384f2f/MonkeyScope-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e85aec8fa7be3cdba2a2fb4cc35db5de", "sha256": "226a746f591350cd364e21c5781a23fa07751b5bfa803fd696b3f52a95dc3901" }, "downloads": -1, "filename": "MonkeyScope-0.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "e85aec8fa7be3cdba2a2fb4cc35db5de", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.7", "size": 54383, "upload_time": "2019-08-28T02:49:28", "url": "https://files.pythonhosted.org/packages/b0/70/cf0709368f0041f99b7c13b84bd963c0a61084bc28524a8c986f3906b1bd/MonkeyScope-0.1.3-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "de8182221d4afa68bff365d819d2d39b", "sha256": "025802424ae2fe4576f0382a242718030ac8cae8fdc270019c2737fa3c040816" }, "downloads": -1, "filename": "MonkeyScope-0.1.3.tar.gz", "has_sig": false, "md5_digest": "de8182221d4afa68bff365d819d2d39b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 65788, "upload_time": "2019-08-28T02:49:31", "url": "https://files.pythonhosted.org/packages/48/22/4b98b612b87b41fac8c4e01451cb1decec801b98c69a1a96c5973511da00/MonkeyScope-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d85b776d9be3a34f59d31f8728dd2c0d", "sha256": "a53ef9ae511c8d69d452af41d8f9e0226f1a3287befa293c65879b8e3b17d66a" }, "downloads": -1, "filename": "MonkeyScope-0.1.4-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d85b776d9be3a34f59d31f8728dd2c0d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.7", "size": 54398, "upload_time": "2019-08-28T02:51:06", "url": "https://files.pythonhosted.org/packages/8a/f1/6a221e8785e59485f8170577c0b82249b69d7b120e82b1a480e94c117211/MonkeyScope-0.1.4-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a8ceba759711b34daf117fee5d0e25e2", "sha256": "d7d83e891307a7a21f0d38939bbcf2c7d6cc7d6442ae5de40974a3cc9eab6ad5" }, "downloads": -1, "filename": "MonkeyScope-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a8ceba759711b34daf117fee5d0e25e2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 65797, "upload_time": "2019-08-28T02:51:07", "url": "https://files.pythonhosted.org/packages/a4/a9/637e89330173543675cace58942b804c17ccf3743a0b02cb99201010cc05/MonkeyScope-0.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "5023369b2f5248a2ea6cf3a0342f1bbf", "sha256": "99dd5e771218981be5e296a5686f0f3de52789f7ed1fab654bb2e4673bc83756" }, "downloads": -1, "filename": "MonkeyScope-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "5023369b2f5248a2ea6cf3a0342f1bbf", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50750, "upload_time": "2019-09-09T06:46:50", "url": "https://files.pythonhosted.org/packages/2e/52/f2aa7f6556763d04ca32d5639fac1863fb1e942979968bb375f8945220d1/MonkeyScope-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e534fa4429748f8023ef2b486cb28734", "sha256": "990434ebdb75e732d8ff76a7a33845ed0e52804aa263fdfc9985a2407a55c974" }, "downloads": -1, "filename": "MonkeyScope-1.1.5.tar.gz", "has_sig": false, "md5_digest": "e534fa4429748f8023ef2b486cb28734", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61780, "upload_time": "2019-09-09T06:46:52", "url": "https://files.pythonhosted.org/packages/c8/ca/1760e07749ec751a626540626f51fa842ad40fb78aebb0343e468e877355/MonkeyScope-1.1.5.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "0d91ecf26c99837f62b06b0c15f1801a", "sha256": "cafda8b66cee5b06649e3e5f055f67800b2bbe35f8a2bddd8fe3da35dbd22f5e" }, "downloads": -1, "filename": "MonkeyScope-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "0d91ecf26c99837f62b06b0c15f1801a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 49278, "upload_time": "2019-09-26T22:39:08", "url": "https://files.pythonhosted.org/packages/1f/04/16ec04f1f0dadc93fd3cebfd1109288479a327e5e1c09aaf8f16a14ade66/MonkeyScope-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b70c3729c722eb6846cd1dca5e8c0234", "sha256": "176d307e1c4d888611d28569d1da3a22358c0374a71d9fbdccefacdfeb0e7d59" }, "downloads": -1, "filename": "MonkeyScope-1.2.0.tar.gz", "has_sig": false, "md5_digest": "b70c3729c722eb6846cd1dca5e8c0234", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61133, "upload_time": "2019-09-26T22:39:10", "url": "https://files.pythonhosted.org/packages/60/28/d09d408e8fd008259dfe6af4cc3e06d56645124c07b77122a6132b6cc088/MonkeyScope-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "8ebc85c418144211b60568c5cd797a3f", "sha256": "f4a61751b7d11a43497e27f68c7f0e59b161043932331d1659083dabf71d53bd" }, "downloads": -1, "filename": "MonkeyScope-1.2.1-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "8ebc85c418144211b60568c5cd797a3f", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50353, "upload_time": "2019-09-26T22:51:09", "url": "https://files.pythonhosted.org/packages/fe/08/1ffb48da4d7e6d2633a28786e2df37c5608690385020d8968196ae123ff1/MonkeyScope-1.2.1-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c7b8b651fcc1b491905da4662682e46e", "sha256": "d6bb771717d16ccb2da803d0027b89fc02c932c9fe46d6e1bffc5cb7800fbf2e" }, "downloads": -1, "filename": "MonkeyScope-1.2.1.tar.gz", "has_sig": false, "md5_digest": "c7b8b651fcc1b491905da4662682e46e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61779, "upload_time": "2019-09-26T22:51:11", "url": "https://files.pythonhosted.org/packages/0b/92/3b81a40c56c6f46772cf618ff8dbcb41a3c6a88d4519274714f2c919f230/MonkeyScope-1.2.1.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "974512ab356e2673b4bf6636ca98a0c0", "sha256": "7f3fdf5ee1e45a4f90eebc43cad2dbcb946cbe5b660d7c2b1f563ca469d7b614" }, "downloads": -1, "filename": "MonkeyScope-1.2.3-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "974512ab356e2673b4bf6636ca98a0c0", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50802, "upload_time": "2019-10-01T07:19:49", "url": "https://files.pythonhosted.org/packages/e7/3d/998a090717983652acf83420831e45e44fae79e11678394c3d8ff4a28926/MonkeyScope-1.2.3-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2f0d4bf2b50294a8d01d9a04e1721535", "sha256": "89001e04fc2a045ee3a37e4b6f48fffe7b2164415036dfc8c86f0496f8af5393" }, "downloads": -1, "filename": "MonkeyScope-1.2.3.tar.gz", "has_sig": false, "md5_digest": "2f0d4bf2b50294a8d01d9a04e1721535", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61862, "upload_time": "2019-10-01T07:19:51", "url": "https://files.pythonhosted.org/packages/14/bc/597ac30c9ade3eb0a65803a0504b566a06575d841e7a52aee0d5584470cb/MonkeyScope-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "f627d951eb483d15ed4e09267a975688", "sha256": "ac8dec2893cdb448f997b42d2a34408ccb4a6d709e0684ac8c70a5e4268d3e2a" }, "downloads": -1, "filename": "MonkeyScope-1.2.4-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "f627d951eb483d15ed4e09267a975688", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50783, "upload_time": "2019-10-01T07:23:25", "url": "https://files.pythonhosted.org/packages/f1/74/500a18fb9a0989a47ab5058fcf41e38c533b14934169ee10e7e62215f7cb/MonkeyScope-1.2.4-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "87873ea8cca8cc775fa815c6f2c4008d", "sha256": "cbc026e9828dbebc26263521b5b8220c645cd9b8cd2c528ca2cbaf353399afb7" }, "downloads": -1, "filename": "MonkeyScope-1.2.4.tar.gz", "has_sig": false, "md5_digest": "87873ea8cca8cc775fa815c6f2c4008d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61843, "upload_time": "2019-10-01T07:23:27", "url": "https://files.pythonhosted.org/packages/d7/3f/078298278bbe781418b96d1ddda2beba4719ffb7fdc95d269fc6e5a10389/MonkeyScope-1.2.4.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "55a53de8a0fa289504e740f8e0010281", "sha256": "0172cff5b89c03839a58aac5ec6e8f67f1dcd919f9eca0ce9794c9e86b17a283" }, "downloads": -1, "filename": "MonkeyScope-1.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "55a53de8a0fa289504e740f8e0010281", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50795, "upload_time": "2019-10-15T17:48:51", "url": "https://files.pythonhosted.org/packages/5d/12/438993d8d811f30411c11e10b5da5dde828afacbb227a7d8063cc97ae66f/MonkeyScope-1.2.6-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c5f0ca9f72966567d0cf9a13ce4737f5", "sha256": "088e17e0f99122939c6b5b677029e59913778e04560b68422eab1cb8837a2951" }, "downloads": -1, "filename": "MonkeyScope-1.2.6.tar.gz", "has_sig": false, "md5_digest": "c5f0ca9f72966567d0cf9a13ce4737f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61922, "upload_time": "2019-10-15T17:48:53", "url": "https://files.pythonhosted.org/packages/c6/bc/099b3867876d42315a33e4422ea347f848c4a70ff99fbe9278679cc55461/MonkeyScope-1.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "55a53de8a0fa289504e740f8e0010281", "sha256": "0172cff5b89c03839a58aac5ec6e8f67f1dcd919f9eca0ce9794c9e86b17a283" }, "downloads": -1, "filename": "MonkeyScope-1.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "55a53de8a0fa289504e740f8e0010281", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.6", "size": 50795, "upload_time": "2019-10-15T17:48:51", "url": "https://files.pythonhosted.org/packages/5d/12/438993d8d811f30411c11e10b5da5dde828afacbb227a7d8063cc97ae66f/MonkeyScope-1.2.6-cp37-cp37m-macosx_10_9_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "c5f0ca9f72966567d0cf9a13ce4737f5", "sha256": "088e17e0f99122939c6b5b677029e59913778e04560b68422eab1cb8837a2951" }, "downloads": -1, "filename": "MonkeyScope-1.2.6.tar.gz", "has_sig": false, "md5_digest": "c5f0ca9f72966567d0cf9a13ce4737f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61922, "upload_time": "2019-10-15T17:48:53", "url": "https://files.pythonhosted.org/packages/c6/bc/099b3867876d42315a33e4422ea347f848c4a70ff99fbe9278679cc55461/MonkeyScope-1.2.6.tar.gz" } ] }