diff --git a/CHANGELOG.md b/CHANGELOG.md index defa14db4c392e68f4fafae597a837d5a39f37e5..dd91a5ed97b9a89dfdff9006781562a668fd275f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,21 @@ ## [Unreleased] +### Added + +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security + + +## [1.3.0] (2025-03-24) + ### Added - Introduce conveyer - Base Agent. Add agents via python entry points. diff --git a/README.md b/README.md index cf40d3415b52b1c926f630d91928bf594b067371..5eea04c04a937e727b46d0e1658b4e2b72b751b6 100644 --- a/README.md +++ b/README.md @@ -47,14 +47,15 @@ The correct environment needs to be active: conda install -c conda-forge pygraphviz # or find another way to install graphviz on your machine pip install cooperative_cuisine@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine@main ``` +You can now use the environment and/or simulator in your python code. Just by importing +it `import cooperative_cuisine` ### Agent Installation If you want to play with some agents, install them via ```bash pip install cocu_agents@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cocu-agents@main ``` -You can now use the environment and/or simulator in your python code. Just by importing -it `import cooperative_cuisine` + ## Run The default behavior is to run a study "run" through several levels. @@ -134,7 +135,7 @@ conda install -c conda-forge libstdcxx-ng ``` ## License -Cooperative Cuisine © 2024 by [Social Cognitive Systems Group](https://scs.techfak.uni-bielefeld.de/) is licensed under [`CC BY-NC-SA 4.0`](https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1) [](https://creativecommons.org/licenses/by-nc-sa/4.0/) +Cooperative Cuisine © 2025 by [Social Cognitive Systems Group](https://scs.techfak.uni-bielefeld.de/) is licensed under [`CC BY-NC-SA 4.0`](https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1) [](https://creativecommons.org/licenses/by-nc-sa/4.0/) ## Contact Feel free to contact us: [fschroeder(at)techfak.de](mailto:fschroeder@techfak.de) and [fheinrich(at)techfak.de](mailto:fheinrich@techfak.de) \ No newline at end of file diff --git a/cooperative_cuisine/__init__.py b/cooperative_cuisine/__init__.py index 9d26be101bee2a3208ffce2dd4e9aa5947c0bb79..e184175641beed791265dc7bc8d17bd6cc250671 100644 --- a/cooperative_cuisine/__init__.py +++ b/cooperative_cuisine/__init__.py @@ -20,25 +20,41 @@ developing artificial agents that play with humans like a "real", cooperative, h # Installation -You need a Python **3.10** or newer conda environment. +### Local Editable Installation +Easy with conda or mamba: ```bash -conda install -c conda-forge pygraphviz -pip install cooperative_cuisine@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine@main +git clone https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine.git +mamba env create -f cooperative-cuisine/conda.recipe/environment.yaml +conda activate cocu ``` -Or clone it and install it as an editable library which allows you to use all the scripts directly. + +Otherwise, you need to make sure graphviz is installed. Also, you can install it via pip directly: ```bash conda install -c conda-forge pygraphviz git clone https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine.git cd cooperative-cuisine pip install -e . ``` -Easy with conda/mamba: +With these installs, you can just checkout to other branches with git (and if dependencies do not change without `pip install -e .`), e.g., `git checkout dev`, and add new configs, images, etc. and change the code. + + +### Library Installation +The correct environment needs to be active: + +```bash +conda install -c conda-forge pygraphviz # or find another way to install graphviz on your machine +pip install cooperative_cuisine@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine@main +``` +You can now use the environment and/or simulator in your python code. Just by importing +it `import cooperative_cuisine` + +### Agent Installation +If you want to play with some agents, install them via ```bash -git clone https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine.git -mamba env create -f cooperative-cuisine/conda.recipe/environment.yaml -conda activate cocu +pip install cocu_agents@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cocu-agents@main ``` + # Usage / Examples Our Cooperative Cuisine is designed for real time interaction but also for reinforcement learning (gymnasium environment) with time independent step function calls. It focuses on configurability, extensibility and appealing visualization @@ -343,6 +359,11 @@ the counters, ingredients, meals and players. Cooperative Cuisine comes with ima You can extend it easily. Just have a look at the default [`visualisation.yml`](https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine/-/blob/main/cooperative_cuisine/pygame_2d_vis/visualization.yaml?ref_type=heads). Further, here, you can configure the size of the visualization like screen width, button sizes, fps, colors, etc. +You can change the localisation (language) of the visualization by changing the `language` key in the visualization +config, we provide "en" and "de" translations. You can add own languages by adding i18 translation files to the +`pygame_2d_vis/locals` folder and `continue_{lang}.png`, `controls_{lang}.png`, `try_{lang}.png` images in the `pygame_2d_vis/gui_images` folder (we provide a `tutorial.drawio` template file. +You can edit it online at [draw.io](https://app.diagrams.net/)). + ## Study Config You can setup a study with a study config. @@ -401,7 +422,7 @@ the game server in post requests. - the config **validation** and graph generation. # License -Cooperative Cuisine © 2024 by [Social Cognitive Systems Group](https://scs.techfak.uni-bielefeld.de/) is licensed under [`CC BY-NC-SA 4.0`](https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1) [](https://creativecommons.org/licenses/by-nc-sa/4.0/) +Cooperative Cuisine © 2025 by [Social Cognitive Systems Group](https://scs.techfak.uni-bielefeld.de/) is licensed under [`CC BY-NC-SA 4.0`](https://creativecommons.org/licenses/by-nc-sa/4.0/?ref=chooser-v1) [](https://creativecommons.org/licenses/by-nc-sa/4.0/) """ import os from pathlib import Path diff --git a/setup.py b/setup.py index 4fea89163d578bfec8d6723276318264d1284e66..467773b9255027fe68d3d2af9f02b8511e90763c 100644 --- a/setup.py +++ b/setup.py @@ -51,11 +51,20 @@ setup( author_email="florian.schroeder@uni-bielefeld.de", python_requires=">=3.10", classifiers=[ - "Development Status :: 2 - Pre-Alpha", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", "Intended Audience :: Developers", "Natural Language :: English", + "Natural Language :: German", + "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Games/Entertainment", + # "Topic :: Scientific/Engineering :: Human Machine Interfaces", + # Topic :: Scientific/Engineering :: Artificial Intelligence, ], description="The real-time overcooked simulation for a cognitive cooperative system", entry_points={ @@ -71,7 +80,7 @@ setup( packages=find_packages(include=["cooperative_cuisine", "cooperative_cuisine.*"]), test_suite="tests", url="https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine", - version="1.2.0", + version="1.3.0", zip_safe=False, extras_require={ "rl": [