Metadata-Version: 2.1
Name: opcut
Version: 0.1.2
Summary: Cutting stock problem optimizer
Home-page: https://github.com/bozokopic/opcut
Author: Bozo Kopic
Author-email: bozo.kopic@gmail.com
License: GPLv3
Platform: UNKNOWN
Requires-Python: >=3.5
Requires-Dist: doit (==0.31.1)
Requires-Dist: pyyaml (==5.1)
Requires-Dist: jsonschema (==3.0.1)
Requires-Dist: aiohttp (==3.5.4)
Requires-Dist: flake8 (==3.7.7)
Requires-Dist: pycairo (==1.18.0)
Requires-Dist: wheel (==0.33.1)

opcut
=====

`https://opcut.herokuapp.com/`

`opcut` is cutting stock problem optimizer
(`https://en.wikipedia.org/wiki/Cutting_stock_problem`) utilizing multiple
panels and guillotine cuts (end-to-end cuts). This project includes multiple
back-end optimizer implementations, command line front-end and single-page web
application front-end.


Runtime requirements
--------------------

* python >=3.6

Additional required python packages are listed in `requirements.txt`.


Development requirements
------------------------

* nodejs >=7
* yarn


Install
-------

::

    $ pip install opcut


Run
---

Running server (default listening address http://0.0.0.0:8080)::

    $ opcut server

Running command line utility::

    $ opcut calculate ...

Additional command line arguments::

    $ opcut --help


Build
-----

Build tool used for `opcut` is pydoit (`http://pydoit.org/`). It can be
installed together with other python dependencies by running::

    $ pip install -r requirements.txt

For listing available doit tasks, use::

    $ doit list

Default task::

    $ doit

creates `dist` folder containing `opcut` distribution.


TODO
----

* global

    * create CONTRIBUTING

* optimizer

    * add additional algorithms
    * evaluate python implementations and do native rewrites if needed

* back-end

    * additional output formats

