This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Hecate is a Python 3 library for testing command line interfaces that make interesting use of the terminal, e.g. through ncurses. Unlike tools like expect or pexpect it runs a full blown terminal emulator (specifically, tmux) behind the scenes, so you can take accurate snapshots of what your application would look like when run by a real user.

Usage

Hecate is currently shall we say lightly documented (this is a euphemism for undocumented). However the tests should work tolerably well as usage examples and there are reasonable docstrings on the implementation.

Frequently Anticipated Questions

Are you serious?

Not very, no. As a concept it works and works well, and I’m fully prepared to maintain this if it proves popular, but this should be considered a semi experimental hack which just happens to be orders of magnitude better than all of the for serious mature projects you could be using instead.

On the other hand the last time I wrote a semi-experimental testing hack that just happened to be the best around (in Python), we got Hypothesis, so…

Will you support Python 2.7?

No.

Why not?

Because you shouldn’t need it and I don’t want to. Hecate scripts are stand alone applications that interact with your program through its terminal interface. You can easily test things written in any language you like, including other versions of Python.

What versions of tmux does it support?

My CI tests it on versions 1.6 through 2.0, so that’s the officially supported set. It probably works on earlier ones but I haven’t tested and am not very interested in doing so.

Why is it called Hecate?

It seemed appropriate to name a Selenium style tool for curses based applications after a goddess whose domain includes the moon and magic.

How does it work?

Behind the scenes Hecate is spawning a tmux instance and running your command with it along with a monitoring process so that we can report back the exit code (after all, who would make a testing framework that didn’t report the standard mechanism for indicating errors back to you?). Hecate interacts with the tmux server using its command line tools.

I might update it to use the control protocol at some point, but it so far doesn’t seem that useful to do so and that would limit the range of supported tmux versions or require a lot of version specific code.

Release History

Release History

0.1.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
hecate-0.1.0.tar.gz (7.4 kB) Copy SHA256 Checksum SHA256 Source Jun 1, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting