{ "info": { "author": "Danilo Horta", "author_email": "horta@ebi.ac.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# ndarray-listener\n\n[![Travis](https://img.shields.io/travis/com/limix/ndarray-listener.svg?style=flat-square&label=linux%20%2F%20macos%20build)](https://travis-ci.com/limix/ndarray-listener) [![AppVeyor](https://img.shields.io/appveyor/ci/Horta/ndarray-listener.svg?style=flat-square&label=windows%20build)](https://ci.appveyor.com/project/Horta/ndarray-listener) [![Read the Docs (version)](https://img.shields.io/readthedocs/ndarray-listener/stable.svg?style=flat-square)](http://ndarray-listener.readthedocs.io/)\n\nImplementation of the [Observer pattern](https://en.wikipedia.org/wiki/Observer_pattern) for NumPy arrays.\n\n## Example\n\n```python\nfrom numpy import array\nfrom ndarray_listener import ndarray_listener as ndl\n\na = ndl(array([-0.5, 0.1, 1.1]))\n\nclass Observer(object):\n def __init__(self):\n self.called_me = False\n\n def __call__(self, _):\n self.called_me = True\n\no = Observer()\na.talk_to(o)\nprint(o.called_me)\na[0] = 1.2\nprint(o.called_me)\n```\n\nThe output should be\n\n```\nFalse\nTrue\n```\n\n## Install\n\nFrom command line, enter\n\n```bash\npip install ndarray-listener\n```\n\n## Running the tests\n\nInstall dependencies\n\n```bash\npip install -U pytest pytest-pep8\n```\n\nthen run\n\n```python\npython -c \"import ndarray_listener; ndarray_listener.test()\"\n```\n\n## Authors\n\n* [Danilo Horta](https://github.com/horta)\n\n\n## License\n\nThis project is licensed under the [MIT License](https://raw.githubusercontent.com/limix/ndarray-listener/master/LICENSE.md).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/limix/ndarray-listener", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/limix/ndarray-listener", "keywords": "numpy,listener,array", "license": "MIT", "maintainer": "Danilo Horta", "maintainer_email": "horta@ebi.ac.uk", "name": "ndarray-listener", "package_url": "https://pypi.org/project/ndarray-listener/", "platform": "Windows", "project_url": "https://pypi.org/project/ndarray-listener/", "project_urls": { "Download": "https://github.com/limix/ndarray-listener", "Homepage": "https://github.com/limix/ndarray-listener" }, "release_url": "https://pypi.org/project/ndarray-listener/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "Implementation of the Observer pattern for NumPy arrays", "version": "2.0.0" }, "last_serial": 4934155, "releases": { "1.0.16": [ { "comment_text": "", "digests": { "md5": "8acd16c159bbd77c14d183563915c57b", "sha256": "2c6486e0d06aea65bbbf87c43080500d2ccdfd81b292488bbd8c795544b71600" }, "downloads": -1, "filename": "ndarray-listener-1.0.16.tar.gz", "has_sig": false, "md5_digest": "8acd16c159bbd77c14d183563915c57b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4120, "upload_time": "2016-12-09T21:28:04", "url": "https://files.pythonhosted.org/packages/82/44/11b98d3ebe87143710f5ab5be92e93d931c80421bc2e4c5f55cfb0514b09/ndarray-listener-1.0.16.tar.gz" } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "005b7954c2e0fea12ca994decc417c41", "sha256": "e6d559fec524754140c0b924ad89491d4b751d9653b57a4d84e91d2b40dc53f8" }, "downloads": -1, "filename": "ndarray-listener-1.0.17.tar.gz", "has_sig": false, "md5_digest": "005b7954c2e0fea12ca994decc417c41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3920, "upload_time": "2016-12-14T16:20:19", "url": "https://files.pythonhosted.org/packages/86/53/0b354f64947fe6d16717588e3eddb2a6bdf9b0afd217f4907380475a18b6/ndarray-listener-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "be48b87bbeff8b54a77f457dd6e0fb3d", "sha256": "c8b9d48b7477c27a218daf26b8712b8365df7f23bd1cf387c0b28d377e7f54f5" }, "downloads": -1, "filename": "ndarray-listener-1.0.18.tar.gz", "has_sig": false, "md5_digest": "be48b87bbeff8b54a77f457dd6e0fb3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3921, "upload_time": "2016-12-23T09:13:43", "url": "https://files.pythonhosted.org/packages/54/55/b2edfb85c788b74f3b1f2a41019b27ecc86aa13d59b3076056a7babf0502/ndarray-listener-1.0.18.tar.gz" } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "e256b926639267881e15364f76f43d53", "sha256": "e94f72ac2b58c9680205d65778fb8243dc3a4c883f174cd7abcd24081458ddc4" }, "downloads": -1, "filename": "ndarray-listener-1.0.19.tar.gz", "has_sig": false, "md5_digest": "e256b926639267881e15364f76f43d53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3859, "upload_time": "2017-01-24T23:57:31", "url": "https://files.pythonhosted.org/packages/ad/41/e65e55fa8eb03253651e23c67fd684143efeee42a615bbe495eb0549cea3/ndarray-listener-1.0.19.tar.gz" } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "8a9832d95690c07c0d7f08b7a1b7bc28", "sha256": "caf5d2a6ba1c4ee3c912a5b90841063697166ee31323d23095fd07013b01925a" }, "downloads": -1, "filename": "ndarray-listener-1.0.20.tar.gz", "has_sig": false, "md5_digest": "8a9832d95690c07c0d7f08b7a1b7bc28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3950, "upload_time": "2017-03-20T16:08:54", "url": "https://files.pythonhosted.org/packages/b2/c2/0b4573f4ceafd742b37a82cf40b6934f3df7fd15e6979a88adc72d1c1516/ndarray-listener-1.0.20.tar.gz" } ], "1.0.21": [ { "comment_text": "", "digests": { "md5": "fa00e2d588a366ae628b6a4150b7af65", "sha256": "a4e194c3b754a0473cfbace8e1c9ee792422c66a497a5ff0c5bc2eeff1096058" }, "downloads": -1, "filename": "ndarray-listener-1.0.21.tar.gz", "has_sig": false, "md5_digest": "fa00e2d588a366ae628b6a4150b7af65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4023, "upload_time": "2017-07-07T10:22:09", "url": "https://files.pythonhosted.org/packages/51/40/b1cc30ef74f22bc74f1223f852dc7c924ad18169311b6794a14f0a6a2321/ndarray-listener-1.0.21.tar.gz" } ], "1.0.22": [ { "comment_text": "", "digests": { "md5": "140ebe17db1896628334791b7d7bde8e", "sha256": "abb832557e103ea0a72c27d7422ac9c11ce35c4357f2ae30ee5f8b81b6a5495b" }, "downloads": -1, "filename": "ndarray-listener-1.0.22.tar.gz", "has_sig": false, "md5_digest": "140ebe17db1896628334791b7d7bde8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3535, "upload_time": "2017-08-17T13:48:15", "url": "https://files.pythonhosted.org/packages/70/a8/defa71ddb94422368087286b036c6c59b9ca4b3cb426fff772ffcf47727f/ndarray-listener-1.0.22.tar.gz" } ], "1.0.23": [ { "comment_text": "", "digests": { "md5": "996223e11fcc0d43e07c59e4a28e6c91", "sha256": "aa5d884aa7fa2965853bce9d6f866bdbc1007c5e231967f43f53f92fa7d66540" }, "downloads": -1, "filename": "ndarray-listener-1.0.23.tar.gz", "has_sig": false, "md5_digest": "996223e11fcc0d43e07c59e4a28e6c91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4323, "upload_time": "2017-08-17T14:39:20", "url": "https://files.pythonhosted.org/packages/57/38/1ebd61e06bf4a0cd5e9ce3b89f92a621974a9c6f4eb183ace57675835b7c/ndarray-listener-1.0.23.tar.gz" } ], "1.0.24": [ { "comment_text": "", "digests": { "md5": "fb215368d485368bfff712e2dfecaddf", "sha256": "b719c28f653fc1b10b496227c156e112ae193c5d937982250bec503c8e648989" }, "downloads": -1, "filename": "ndarray-listener-1.0.24.tar.gz", "has_sig": false, "md5_digest": "fb215368d485368bfff712e2dfecaddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4421, "upload_time": "2017-08-17T16:51:00", "url": "https://files.pythonhosted.org/packages/c7/aa/09515660a32b7e5e2d8080e04b03f0e3c8fc1693b1f386b55883e95973ec/ndarray-listener-1.0.24.tar.gz" } ], "1.0.25": [ { "comment_text": "", "digests": { "md5": "c9069ee56cb1a04373a5d265c19766f9", "sha256": "59b1f4b06e46b815cf7ade46f056e65faf1f3b05bb2a21eca53da833baca4ad2" }, "downloads": -1, "filename": "ndarray-listener-1.0.25.tar.gz", "has_sig": false, "md5_digest": "c9069ee56cb1a04373a5d265c19766f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5237, "upload_time": "2017-08-28T20:13:29", "url": "https://files.pythonhosted.org/packages/25/19/358a0ca75767620ad3f84a2b7ba0a65eabb24e0346d0fac36fc9ed5dcf58/ndarray-listener-1.0.25.tar.gz" } ], "1.0.26": [ { "comment_text": "", "digests": { "md5": "3ba92fb29757dc05de45c1deb2f866d4", "sha256": "44a18bba0a6353440f7831782e01ede253078144d17b8b8a48a8936347e1538d" }, "downloads": -1, "filename": "ndarray-listener-1.0.26.tar.gz", "has_sig": false, "md5_digest": "3ba92fb29757dc05de45c1deb2f866d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5341, "upload_time": "2017-09-03T18:49:22", "url": "https://files.pythonhosted.org/packages/e7/61/4c80218e4e3aec0474dcf94a43ef704510f39e628f27cec761c18a8b49b8/ndarray-listener-1.0.26.tar.gz" } ], "1.0.27": [ { "comment_text": "", "digests": { "md5": "8bc5e2c19a4590a333f4b707a0b2d39d", "sha256": "87a04fce375d59158397ceb0a2ff977c2c4be980bc2b37b3831d5fad03d6f7bc" }, "downloads": -1, "filename": "ndarray_listener-1.0.27.tar.gz", "has_sig": false, "md5_digest": "8bc5e2c19a4590a333f4b707a0b2d39d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4763, "upload_time": "2018-01-24T17:46:12", "url": "https://files.pythonhosted.org/packages/01/dd/de2872a2ba6e81b6ad2283d227bd042a680961cfa6e07f8347437d4fcc76/ndarray_listener-1.0.27.tar.gz" } ], "1.0.28": [ { "comment_text": "", "digests": { "md5": "ab45ad1c53978cf9ed8022cde9b5dd02", "sha256": "983cf9945f39f95e4bcde9f9e46642ee3c2d7145c3a42b69c854c19dd0461620" }, "downloads": -1, "filename": "ndarray_listener-1.0.28.tar.gz", "has_sig": false, "md5_digest": "ab45ad1c53978cf9ed8022cde9b5dd02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4803, "upload_time": "2018-01-24T23:52:06", "url": "https://files.pythonhosted.org/packages/a8/40/19de7972cd4cb2998e582ee8deea55f3ca8891dcbf1e32a279c3d3eed28e/ndarray_listener-1.0.28.tar.gz" } ], "1.0.29": [ { "comment_text": "", "digests": { "md5": "bccacc0b1e505f0d8276cde481bce1b6", "sha256": "a80adccd1ec534812861b16bd91459869c73a3ae79518d526b617e9511b1c1e4" }, "downloads": -1, "filename": "ndarray_listener-1.0.29.tar.gz", "has_sig": false, "md5_digest": "bccacc0b1e505f0d8276cde481bce1b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5060, "upload_time": "2018-01-25T10:41:30", "url": "https://files.pythonhosted.org/packages/a0/18/95f16873268d3aa93081ebbf12575d225919246ee5d7aa2d6d978a8f4159/ndarray_listener-1.0.29.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "90fdc094fd371ed6a840e0b17bce58bc", "sha256": "8beb8cae1b7af1286c76e8002ae28716ffd153331a67925493b29b83f93941d1" }, "downloads": -1, "filename": "ndarray_listener-1.1.0.tar.gz", "has_sig": false, "md5_digest": "90fdc094fd371ed6a840e0b17bce58bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5132, "upload_time": "2018-01-25T12:29:53", "url": "https://files.pythonhosted.org/packages/a3/c8/ff92f2a61fbbd25c04923eca4ff8725fcb60ecfc77fe6f77b7a3b5294a09/ndarray_listener-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "570abb1360c547ce2518339b5afcfec9", "sha256": "f856f7cfd6c652900986d58acbf93f4365fe99c475c7282d06fcaabf27764a52" }, "downloads": -1, "filename": "ndarray_listener-1.1.1.tar.gz", "has_sig": false, "md5_digest": "570abb1360c547ce2518339b5afcfec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5145, "upload_time": "2018-02-22T18:36:02", "url": "https://files.pythonhosted.org/packages/c0/61/775be70785c129738e5bcfb315b966a40224e343069d95d3bd600ed01449/ndarray_listener-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "209ce3017d76d09d88d0546d7216261d", "sha256": "624e8987d10b42c8cdb73ed7f4ed42b150cfe4b1b4f8785e8dc32c312ba6303e" }, "downloads": -1, "filename": "ndarray_listener-1.1.2.tar.gz", "has_sig": false, "md5_digest": "209ce3017d76d09d88d0546d7216261d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4961, "upload_time": "2018-07-02T11:28:31", "url": "https://files.pythonhosted.org/packages/fb/06/ca6a09a15ef0a515ab6cec71acc0632767278082b9f5ea44aea97c4160a2/ndarray_listener-1.1.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "e463c899c39eece9f3a676eb4c9ac04e", "sha256": "2993f72b084721f0b65818b42b5374235d9cfca0d87e4c4785a27b628f5f2080" }, "downloads": -1, "filename": "ndarray_listener-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e463c899c39eece9f3a676eb4c9ac04e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5101, "upload_time": "2019-03-13T11:16:23", "url": "https://files.pythonhosted.org/packages/a4/16/ff39ce8847cb9e406cbf036e1e82d516c49eb5df7e465a892dcb62b5a991/ndarray_listener-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e463c899c39eece9f3a676eb4c9ac04e", "sha256": "2993f72b084721f0b65818b42b5374235d9cfca0d87e4c4785a27b628f5f2080" }, "downloads": -1, "filename": "ndarray_listener-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e463c899c39eece9f3a676eb4c9ac04e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5101, "upload_time": "2019-03-13T11:16:23", "url": "https://files.pythonhosted.org/packages/a4/16/ff39ce8847cb9e406cbf036e1e82d516c49eb5df7e465a892dcb62b5a991/ndarray_listener-2.0.0.tar.gz" } ] }