ows-product-configuration
=====================================

This microservice is for product distribution formats. As well as powering configuration selections, it also provides mappings from Orchard distribution formats to their corresponding supply chain formats.

## Getting Started

### Installation

The installation is very straightforward, but make sure you are using at least
python 3.4. If you use a Mac, you can install it using `brew`. If you use
Windows, just ask for a remote VM that has it installed for you.

```bash
python -m venv env
source env/bin/activate
make pip_dev
```

### Running

When all dependencies have been installed, you can run the flask application
on your local instance by running:

```bash
(env) $ python dev.py
```

or

```bash
make dev
```

You can optionally set a PORT environment variable to run on a port other than
8000:

```bash
(env) $ PORT=5001 python dev.py
```

By using the development server, you will have access to specific features that
are not necessarily available in production, such as the exception tracer.

### Testing

To run the tests, all you have to do is to run:

```bash
(env) $ py.test tests/ --cov product_configuration --cov-report term-missing
(env) $ flake8 product_configuration/ tests/
```

or

To run tests: `make test`

To lint: `make lint`

### Updating

To install new dependencies.

```bash
(env) $ pip install -r requirements.txt
(env) $ pip install -r requirements-dev.txt
```

or

```bash
make pip_dev
```

