Metadata-Version: 2.1
Name: hitchrunpy
Version: 0.11.3
Summary: Run and interact with snippets of python code.
Home-page: https://github.com/hitchtest/hitchrunpy
Author: Colm O'Connor
Author-email: Colm O'Connor <colm.oconnor.github@gmail.com>
License: MIT
Project-URL: homepage, https://hitchdev.com/hitchrunpy
Project-URL: documentation, https://hitchdev.com/hitchrunpy/using
Project-URL: repository, https://github.com/hitchdev/hitchrunpy
Project-URL: changelog, https://hitchdev.com/hitchrunpy/changelog
Keywords: test,python
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries
Classifier: Natural Language :: English
Requires-Python: >=3.7.0
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# HitchRunPy

[![Main branch status](https://github.com/hitchdev/hitchrunpy/actions/workflows/regression.yml/badge.svg)](https://github.com/hitchdev/hitchrunpy/actions/workflows/regression.yml)

HitchRunPy is a tool to run, test and profile snippets of python code.

HitchRunPy was developed to run executable specifications
using [HitchStory](https://hitchdev.com/hitchstory) that define
Python APIs.

As such it can be used with HitchStory to build effective replacements
for unit tests and integration tests where the 'spec' is a python API.

HitchRunPy is used to run the executable specifications for all libraries
on [HitchDev](https://hitchdev.com/).

## Example


```python
from hitchrunpy import ExamplePythonCode

ExamplePythonCode(
    '/path/to/bin/python',
    '/path/to/working_directory',
).with_code((
    'with open("examplefile", "w") as handle:'
    '     handle.write("exampletext")'
)).run()
```


## Install

```sh
$ pip install hitchstory
```

## Using HitchRunPy

- [CProfile](https://hitchdev.com/hitchrunpy/using/alpha/cprofile)
- [Run with environment variables](https://hitchdev.com/hitchrunpy/using/alpha/environment-vars)
- [Exceptions](https://hitchdev.com/hitchrunpy/using/alpha/exceptions)
- [Include files](https://hitchdev.com/hitchrunpy/using/alpha/include-files)
- [Interact with running code](https://hitchdev.com/hitchrunpy/using/alpha/interact-with-running-code)
- [Setup code](https://hitchdev.com/hitchrunpy/using/alpha/setup-code)
- [Error occurred](https://hitchdev.com/hitchrunpy/using/alpha/syntax-errors)
- [Timeout](https://hitchdev.com/hitchrunpy/using/alpha/timeout)
- [Use modules](https://hitchdev.com/hitchrunpy/using/alpha/variables)



## Why use HitchRunPy?

HitchRunPy combined with HitchStory serves as an effective replacement for unit tests
in the situation where unit tests are most effective.
