{ "info": { "author": "David R. MacIver", "author_email": "david@drmaciver.com", "bugtrack_url": null, "classifiers": [], "description": "======\nHecate\n======\n\nHecate is a Python 3 library for testing command line interfaces that make\ninteresting use of the terminal, e.g. through ncurses. Unlike tools like\nexpect or pexpect it runs a full blown terminal emulator (specifically, tmux)\nbehind the scenes, so you can take accurate snapshots of what your application\nwould look like when run by a real user.\n\nUsage\n=====\n\nHecate is currently shall we say lightly documented (this is a euphemism for\nundocumented). However `the tests `_\nshould work tolerably well as usage examples and there are reasonable docstrings\non `the implementation `_.\n\n\nFrequently Anticipated Questions\n================================\n\n----------------\nAre you serious?\n----------------\n\nNot very, no. As a concept it works and works well, and I'm fully prepared to\nmaintain this if it proves popular, but this should be considered a semi\nexperimental hack which just happens to be orders of magnitude better than\nall of the for serious mature projects you could be using instead.\n\nOn the other hand the last time I wrote a semi-experimental testing hack that\njust happened to be the best around (in Python), we got `Hypothesis `_, so...\n\n----------------------------\nWill you support Python 2.7?\n----------------------------\n\nNo.\n\n--------\nWhy not?\n--------\n\nBecause you shouldn't need it and I don't want to. Hecate scripts are stand\nalone applications that interact with your program through its terminal\ninterface. You can easily test things written in any language you like,\nincluding other versions of Python.\n\n--------------------------------------\nWhat versions of tmux does it support?\n--------------------------------------\n\nMy CI tests it on versions 1.6 through 2.0, so that's the officially supported\nset. It probably works on earlier ones but I haven't tested and am not very\ninterested in doing so.\n\n------------------------\nWhy is it called Hecate?\n------------------------\n\nIt seemed appropriate to name a Selenium style tool for curses based\napplications after `a goddess whose domain includes the moon and magic\n`_.\n\n-----------------\nHow does it work?\n-----------------\n\nBehind the scenes Hecate is spawning a tmux instance and running your command\nwith it along with a monitoring process so that we can report back the exit\ncode (after all, who would make a testing framework that didn't report the\nstandard mechanism for indicating errors back to you?). Hecate interacts with\nthe tmux server using its command line tools.\n\nI might update it to use the control protocol at some point, but it so far\ndoesn't seem that useful to do so and that would limit the range of supported\ntmux versions or require a lot of version specific code.", "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/DRMacIver/hecate", "keywords": null, "license": "MPL v2", "maintainer": null, "maintainer_email": null, "name": "hecate", "package_url": "https://pypi.org/project/hecate/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/hecate/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/DRMacIver/hecate" }, "release_url": "https://pypi.org/project/hecate/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "A selenium style testing library for console applications", "version": "0.1.0" }, "last_serial": 1573525, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "74baa666a0712307374452adf26a743b", "sha256": "33ae7e357767851ab7267685595be516e6ccdc868e00d9ca9fc44becb70b8d21" }, "downloads": -1, "filename": "hecate-0.1.0.tar.gz", "has_sig": false, "md5_digest": "74baa666a0712307374452adf26a743b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7421, "upload_time": "2015-06-01T15:47:26", "url": "https://files.pythonhosted.org/packages/c1/a7/ed1cfa8d9439201de560742bd36dd2718d8892124fc0d4df8e2c3b71759e/hecate-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "74baa666a0712307374452adf26a743b", "sha256": "33ae7e357767851ab7267685595be516e6ccdc868e00d9ca9fc44becb70b8d21" }, "downloads": -1, "filename": "hecate-0.1.0.tar.gz", "has_sig": false, "md5_digest": "74baa666a0712307374452adf26a743b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7421, "upload_time": "2015-06-01T15:47:26", "url": "https://files.pythonhosted.org/packages/c1/a7/ed1cfa8d9439201de560742bd36dd2718d8892124fc0d4df8e2c3b71759e/hecate-0.1.0.tar.gz" } ] }