graph-jsp-utils


Namegraph-jsp-utils JSON
Version 0.0.1 PyPI version JSON
download
home_page
Summarytodo
upload_time2022-12-15 12:45:36
maintainer
docs_urlNone
authorAlexander Nasuta
requires_python>=3.9
licenseMIT License Copyright (c) 2022 Alexander Nasuta Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Tests](https://github.com/mCodingLLC/SlapThatLikeButton-TestingStarterProject/actions/workflows/tests.yml/badge.svg)

<div id="top"></div>

<!-- PROJECT LOGO -->
<br />
<div align="center">
  <a href="https://cybernetics-lab.de/">
    <img src="https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/logo.png" alt="Logo" height="80">
  </a>

  <h1 align="center">
     Graph Job Shop Problem Gym Environment Utils
  </h1>

   <a>
    <img src="https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/graph_jsp_tikz.png" alt="Logo" height="180">
  </a>

</div>




# About The Project
todo

Github: https://github.com/Alexander-Nasuta/graph-jsp-utils

PyPi: todo

# Quick Start

todo update docs

### Install the Package 
Install the package with pip:
```
   todo
```

# Project Structure
This project is still in development and will have some significant changes before version 1.0.0.
This project ist structured according to [James Murphy's testing guide](https://www.youtube.com/watch?v=DhUpxWjOhME) and 
this [PyPi-publishing-guide](https://realpython.com/pypi-publish-python-package/).

# Getting Started

If you just want to use the environment, then only the Usage section is relevant for you.
If you want to further develop the environment the follow the instructions in the Development section.

## Usage

Install the package with pip:
```
   todo
```

TODO: present all major features of the env with ray, stb3

## Development 

To run this Project locally on your machine follow the following steps:

1. Clone the repo
   ```sh
   git clone https://github.com/Alexander-Nasuta/graph-jsp-env.git
   ```
2. Install the python requirements_dev packages. `requirements_dev.txt` includes all the packages of
specified `requirements.txt` and some additional development packages like `mypy`, `pytext`, `tox` etc. 
    ```sh
   pip install -r requirements_dev.txt
   ```
3. Install the modules of the project locally. For more info have a look at 
[James Murphy's testing guide](https://www.youtube.com/watch?v=DhUpxWjOhME)
   ```sh
   pip install -e .
   ```

### Testing

For testing make sure that the dev dependencies are installed (`requirements_dev.txt`) and the models of this 
project are set up (i.e. you have run `pip install -e .`).  

Then you should be able to run

```sh
mypy src
```

```sh
flake8 src
```

```sh
pytest
```

or everthing at once using `tox`.

```sh
tox
```

In this Section describes the used Setup and Development tools. 
This only relevant if you plan on further develop

### Hardware

All the code was developed and tested locally on an Apple M1 Max 16" MacBook Pro (16-inch, 2021) with 64 GB Unified Memory.

The **code** should run perfectly fine on other devices and operating Systems (see Github tests). 

### Python Environment Management

#### Mac
On a Mac I recommend using [Miniforge](https://github.com/conda-forge/miniforge) instead of more common virtual
environment solutions like [Anacond](https://www.anaconda.com) or [Conda-Forge](https://conda-forge.org/#page-top).

Accelerate training of machine learning models with TensorFlow on a Mac requires a special installation procedure, 
that can be found [here](https://developer.apple.com/metal/tensorflow-plugin/).
However, this repository provides only the gym environment and no concrete reinforcement learning agents.
Todo: example project with sb3 and rl


Setting up Miniforge can be a bit tricky (especially when Anaconda is already installed).
I found this [guide](https://www.youtube.com/watch?v=w2qlou7n7MA) by Jeff Heaton quite helpful.

#### Windows

On a **Windows** Machine I recommend [Anacond](https://www.anaconda.com), since [Anacond](https://www.anaconda.com) and 
[Pycharm](https://www.jetbrains.com/de-de/pycharm/) are designed to work well with each 
other. 

### IDEA

I recommend to use [Pycharm](https://www.jetbrains.com/de-de/pycharm/).
Of course any code editor can be used instead (like [VS code](https://code.visualstudio.com/) 
or [Vim](https://github.com/vim/vim)).

This section goes over a few recommended step for setting up the Project properly inside [Pycharm](https://www.jetbrains.com/de-de/pycharm/).

#### PyCharm Setup
1. Mark the `src` directory as `Source Root`.
```
   right click on the 'src' -> 'Mark directory as' -> `Source Root`
```

2. Mark the `resources` directory as `Resource Root`.
```
   right click on the 'resources' -> 'Mark directory as' -> `Resource Root`
```

3. Mark the `tests` directory as `Test Source Root`.
```
   right click on the 'tests' -> 'Mark directory as' -> `Test Source Root`
```

afterwards your project folder should be colored in the following way:

<div align="center">
  <a>
    <img src="https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/mark_project_folders.png"  height="320">
  </a>
</div>

4. (optional) When running a script enable `Emulate terminal in output console`
```
Run (drop down) | Edit Configurations... | Configuration | ☑️ Emulate terminal in output console
```

![](https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/colored_logs_settings.png)



# License

Distributed under the MIT License. See `LICENSE.txt` for more information.

<!-- MARKDOWN LINKS & IMAGES todo: add Github, Linked in etc.-->
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
[screenshot]: resources/readme_images/screenshot.png



            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "graph-jsp-utils",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "",
    "author": "Alexander Nasuta",
    "author_email": "Alexander Nasuta <alexander.nasuta@ima.rwth-aachen.de>",
    "download_url": "https://files.pythonhosted.org/packages/36/05/93e61e9b327fe4be0d5a149d81666b09972df1d88033782adb8ce8cbe821/graph-jsp-utils-0.0.1.tar.gz",
    "platform": "unix",
    "description": "![Tests](https://github.com/mCodingLLC/SlapThatLikeButton-TestingStarterProject/actions/workflows/tests.yml/badge.svg)\n\n<div id=\"top\"></div>\n\n<!-- PROJECT LOGO -->\n<br />\n<div align=\"center\">\n  <a href=\"https://cybernetics-lab.de/\">\n    <img src=\"https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/logo.png\" alt=\"Logo\" height=\"80\">\n  </a>\n\n  <h1 align=\"center\">\n     Graph Job Shop Problem Gym Environment Utils\n  </h1>\n\n   <a>\n    <img src=\"https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/graph_jsp_tikz.png\" alt=\"Logo\" height=\"180\">\n  </a>\n\n</div>\n\n\n\n\n# About The Project\ntodo\n\nGithub: https://github.com/Alexander-Nasuta/graph-jsp-utils\n\nPyPi: todo\n\n# Quick Start\n\ntodo update docs\n\n### Install the Package \nInstall the package with pip:\n```\n   todo\n```\n\n# Project Structure\nThis project is still in development and will have some significant changes before version 1.0.0.\nThis project ist structured according to [James Murphy's testing guide](https://www.youtube.com/watch?v=DhUpxWjOhME) and \nthis [PyPi-publishing-guide](https://realpython.com/pypi-publish-python-package/).\n\n# Getting Started\n\nIf you just want to use the environment, then only the Usage section is relevant for you.\nIf you want to further develop the environment the follow the instructions in the Development section.\n\n## Usage\n\nInstall the package with pip:\n```\n   todo\n```\n\nTODO: present all major features of the env with ray, stb3\n\n## Development \n\nTo run this Project locally on your machine follow the following steps:\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/Alexander-Nasuta/graph-jsp-env.git\n   ```\n2. Install the python requirements_dev packages. `requirements_dev.txt` includes all the packages of\nspecified `requirements.txt` and some additional development packages like `mypy`, `pytext`, `tox` etc. \n    ```sh\n   pip install -r requirements_dev.txt\n   ```\n3. Install the modules of the project locally. For more info have a look at \n[James Murphy's testing guide](https://www.youtube.com/watch?v=DhUpxWjOhME)\n   ```sh\n   pip install -e .\n   ```\n\n### Testing\n\nFor testing make sure that the dev dependencies are installed (`requirements_dev.txt`) and the models of this \nproject are set up (i.e. you have run `pip install -e .`).  \n\nThen you should be able to run\n\n```sh\nmypy src\n```\n\n```sh\nflake8 src\n```\n\n```sh\npytest\n```\n\nor everthing at once using `tox`.\n\n```sh\ntox\n```\n\nIn this Section describes the used Setup and Development tools. \nThis only relevant if you plan on further develop\n\n### Hardware\n\nAll the code was developed and tested locally on an Apple M1 Max 16\" MacBook Pro (16-inch, 2021) with 64 GB Unified Memory.\n\nThe **code** should run perfectly fine on other devices and operating Systems (see Github tests). \n\n### Python Environment Management\n\n#### Mac\nOn a Mac I recommend using [Miniforge](https://github.com/conda-forge/miniforge) instead of more common virtual\nenvironment solutions like [Anacond](https://www.anaconda.com) or [Conda-Forge](https://conda-forge.org/#page-top).\n\nAccelerate training of machine learning models with TensorFlow on a Mac requires a special installation procedure, \nthat can be found [here](https://developer.apple.com/metal/tensorflow-plugin/).\nHowever, this repository provides only the gym environment and no concrete reinforcement learning agents.\nTodo: example project with sb3 and rl\n\n\nSetting up Miniforge can be a bit tricky (especially when Anaconda is already installed).\nI found this [guide](https://www.youtube.com/watch?v=w2qlou7n7MA) by Jeff Heaton quite helpful.\n\n#### Windows\n\nOn a **Windows** Machine I recommend [Anacond](https://www.anaconda.com), since [Anacond](https://www.anaconda.com) and \n[Pycharm](https://www.jetbrains.com/de-de/pycharm/) are designed to work well with each \nother. \n\n### IDEA\n\nI recommend to use [Pycharm](https://www.jetbrains.com/de-de/pycharm/).\nOf course any code editor can be used instead (like [VS code](https://code.visualstudio.com/) \nor [Vim](https://github.com/vim/vim)).\n\nThis section goes over a few recommended step for setting up the Project properly inside [Pycharm](https://www.jetbrains.com/de-de/pycharm/).\n\n#### PyCharm Setup\n1. Mark the `src` directory as `Source Root`.\n```\n   right click on the 'src' -> 'Mark directory as' -> `Source Root`\n```\n\n2. Mark the `resources` directory as `Resource Root`.\n```\n   right click on the 'resources' -> 'Mark directory as' -> `Resource Root`\n```\n\n3. Mark the `tests` directory as `Test Source Root`.\n```\n   right click on the 'tests' -> 'Mark directory as' -> `Test Source Root`\n```\n\nafterwards your project folder should be colored in the following way:\n\n<div align=\"center\">\n  <a>\n    <img src=\"https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/mark_project_folders.png\"  height=\"320\">\n  </a>\n</div>\n\n4. (optional) When running a script enable `Emulate terminal in output console`\n```\nRun (drop down) | Edit Configurations... | Configuration | \u2611\ufe0f Emulate terminal in output console\n```\n\n![](https://github.com/Alexander-Nasuta/graph-jsp-env/raw/master/resources/readme_images/colored_logs_settings.png)\n\n\n\n# License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n<!-- MARKDOWN LINKS & IMAGES todo: add Github, Linked in etc.-->\n<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->\n[screenshot]: resources/readme_images/screenshot.png\n\n\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2022 Alexander Nasuta  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "todo",
    "version": "0.0.1",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "676d148a208dbf5cb15f4351aeee5c51",
                "sha256": "836bdd54571e68e5e5be55977c59e9ce17574115df9c98823ea8914ed932196d"
            },
            "downloads": -1,
            "filename": "graph_jsp_utils-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "676d148a208dbf5cb15f4351aeee5c51",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 17128,
            "upload_time": "2022-12-15T12:45:34",
            "upload_time_iso_8601": "2022-12-15T12:45:34.324595Z",
            "url": "https://files.pythonhosted.org/packages/74/8a/fe02945e87194d18b0d82cfca662f2a2a302abe85c6f7c31155f37adca6c/graph_jsp_utils-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "a166902574b6e075eebed36e315ef721",
                "sha256": "7547c8f710796989acf8dff1c8e287cf47282cd579d46944d67269ca394074dc"
            },
            "downloads": -1,
            "filename": "graph-jsp-utils-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a166902574b6e075eebed36e315ef721",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 17209,
            "upload_time": "2022-12-15T12:45:36",
            "upload_time_iso_8601": "2022-12-15T12:45:36.254567Z",
            "url": "https://files.pythonhosted.org/packages/36/05/93e61e9b327fe4be0d5a149d81666b09972df1d88033782adb8ce8cbe821/graph-jsp-utils-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-15 12:45:36",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "graph-jsp-utils"
}
        
Elapsed time: 0.04006s