HitchDev is a group of self contained, heavily dogfooded python libraries - mainly used for setting up and running dev and test environments:

Fully documented general tools:

  • StrictYAML – YAML parser and validator that parses a restricted subset of the YAML spec.
  • Commandlib - invoke UNIX commands with an easy to use, pythonic API.

Fully documented testing projects:

  • HitchStory – StrictYAML based BDD framework.
  • HitchRunPy - tool to invoke and run snippets of python code.
  • SeleniumDirector – declare page (CSS/ID/xpath/etc.) selectors and give them readable names which can be used in readable python code or tests.
  • Faketime – lie to UNIX processes about the current time/date - useful for date and time dependent user stories.

Projects that will be documented soon:

  • pathquery - declaratively API to recursively search for files.
  • dirtemplate - create and build templated directories using jinja2 (used for documentation generation).
  • pretendsmtp - mock SMTP server.
  • templex - templated regex matcher
  • faketime - tool to lie to running processes (e.g. CPython or postgres) about the current system time.
  • xeger - generate strings from regular expressions.
  • icommandlib - extension to commandlib to invoke and interact with running UNIX commands.
  • hitchkey - python project command runner and invoker that sets up its own virtualenv and working directories.
  • prettystack - display pretty stacktraces in python.

Build tools that will be documented soons:

  • hitchbuildpy - tool to precisely build virtualenvs from specified versions of python (bundles pyenv).
  • hitchbuildpg - tool to precisely build development/testing postgres databases from scratch (installs postgres itself).
  • hitchbuild - generic build tool used as a basis for above libraries.