{"name":"napari-listener","display_name":"Napari Listener","visibility":"public","icon":"","categories":[],"schema_version":"0.2.0","on_activate":null,"on_deactivate":null,"contributions":{"commands":[{"id":"napari-listener.start_listening","title":"Start Listening","python_name":"napari_listener:SocketWidget","short_title":null,"category":null,"icon":null,"enablement":"True"}],"readers":null,"writers":null,"widgets":[{"command":"napari-listener.start_listening","display_name":"Start Listening","autogenerate":false}],"sample_data":null,"themes":null,"menus":{},"submenus":null,"keybindings":null,"configuration":[]},"package_metadata":{"metadata_version":"2.1","name":"napari-listener","version":"0.1.0b1.post1","dynamic":null,"platform":null,"supported_platform":null,"summary":"Control napari via local socket.","description":"# napari-listener\n\n[![License MIT](https://img.shields.io/pypi/l/napari-listener.svg?color=green)](https://github.com/aganders3/napari-listener/raw/main/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/napari-listener.svg?color=green)](https://pypi.org/project/napari-listener)\n[![tests](https://github.com/aganders3/napari-listener/workflows/tests/badge.svg)](https://github.com/aganders3/napari-listener/actions)\n[![napari hub](https://img.shields.io/endpoint?url=https://api.napari-hub.org/shields/napari-listener)](https://napari-hub.org/plugins/napari-listener)\n\nOpens a socket to listen for commands to control napari from other processes.\nThis can be useful for controlling napari programmatically from other\napplications, or for improving general OS integration (e.g. opening data from a\nfile or UrL in a running instance of napari).\n\n----------------------------------\n\nThis [napari] plugin was generated with [Cookiecutter] using [@napari]'s\n[cookiecutter-napari-plugin] template.\n\n## Installation\n\nYou can install `napari-listener` via [pip]:\n\n pip install napari-listener\n\n## Usage\n\nOnce installed, `napari-listener` can be started from the `napari > Plugins >\nStart Listening` menu. You will see a new docked widget that displays the\naddress and port for the listener.\n\nThe listener is a TCP server that expects app-model command IDs. It will\nexecute any valid app-model command, but `napari-listener` registers its own\nadditional commands for demonstration purposes in\nhttps://github.com/aganders3/napari-listener/blob/main/src/napari_listener/_actions.py.\n\nYou can test `napari-listener` using a TCP client such as\n[netcat](https://linux.die.net/man/1/nc) or\n[curl](https://curl.se/docs/manpage.html) to send an app-model command (and\noptional args). For example:\n\n```shell\n% nc 127.0.0.1 40256 <<< \"napari:open-file /path/to/local/file\"\n```\n\n\"quick\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox], please ensure\nthe coverage at least stays the same before you submit a pull request.\n\n## License\n\nDistributed under the terms of the [MIT] license,\n\"napari-listener\" is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue] along with a detailed\ndescription.\n\n[napari]: https://github.com/napari/napari\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[@napari]: https://github.com/napari\n[MIT]: http://opensource.org/licenses/MIT\n[cookiecutter-napari-plugin]: https://github.com/napari/cookiecutter-napari-plugin\n\n[napari]: https://github.com/napari/napari\n[tox]: https://tox.readthedocs.io/en/latest/\n[pip]: https://pypi.org/project/pip/\n[PyPI]: https://pypi.org/\n","description_content_type":"text/markdown","keywords":null,"home_page":"https://github.com/aganders3/napari-listener","download_url":null,"author":"Ashley Anderson","author_email":"aandersoniii@chanzuckerberg.com","maintainer":null,"maintainer_email":null,"license":"MIT","classifier":["Development Status :: 2 - Pre-Alpha","Framework :: napari","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11"],"requires_dist":["napari","qtpy","tox ; extra == 'testing'","pytest ; extra == 'testing'","pytest-cov ; extra == 'testing'","pytest-qt ; extra == 'testing'","pyqt5 ; extra == 'testing'"],"requires_python":">=3.8","requires_external":null,"project_url":["Bug Tracker, https://github.com/aganders3/napari-listener/issues","Documentation, https://github.com/aganders3/napari-listener#README.md","Source Code, https://github.com/aganders3/napari-listener","User Support, https://github.com/aganders3/napari-listener/issues"],"provides_extra":["testing"],"provides_dist":null,"obsoletes_dist":null},"npe1_shim":false}