Metadata-Version: 2.1
Name: CounterFit
Version: 0.1.3.dev0
Summary: A virtual IoT hardware simulator.
Home-page: https://github.com/jimbobbennett/CounterFit
Author: Jim Bennett
Maintainer: Jim Bennett
License: MIT
Project-URL: Documentation, https://github.com/jimbobbennett/CounterFit
Project-URL: Source Code, https://github.com/jimbobbennett/CounterFit
Project-URL: Issue Tracker, https://github.com/jimbobbennett/CounterFit/issues
Project-URL: Twitter, https://twitter.com/JimBobBennett
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Hardware
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: Flask (==1.1.2)
Requires-Dist: Flask-SocketIO (==5.0.1)
Requires-Dist: eventlet (==0.30.2)

# CounterFit

IoT is great fun, but has a downside - hardware. You need access to a range of devices such as sensors and actuators to build your IoT projects. Sometimes you might have these devices, other times you may not - maybe you are waiting for a delivery, or parts are out of stock, or they are too expensive.

That's where this tool comes in.

## What is CounterFit

CounterFit is a tool that is designed to simulated various IoT hardware components, such as LEDs, buttons, temperature sensors and the like. It is made of two parts:

* The CounterFit app - this is a web app run locally where you can connect virtual sensors and actuators to your virtual hardware
* Shims - these are libraries that mimic popular hardware APIs so you can take code that runs against well known hardware and run it against the CounterFit app.

## Getting started

* Install the CounterFit app:

    ```sh
    pip install CounterFit
    ```

* Run the app:

    ```sh
    CounterFit
    ```

* The app will launch, listening for web requests on port 5000, and open a web browser for you to start adding virtual sensors and actuators to your project

### Running on a different port

To use a different port than the default 5000, set the `--port` option when you run the app:

```sh
CounterFit --port 5050
```

## Connecting your code

You can connect your device code to CounterFit, using one of the available shims. See the [shim list for more details](https://github.com/jimbobbennett/CounterFit#shims).


