diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-gym-craftingworld.spec | 214 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 216 insertions, 0 deletions
@@ -0,0 +1 @@ +/gym_craftingworld-0.1.9.8.tar.gz diff --git a/python-gym-craftingworld.spec b/python-gym-craftingworld.spec new file mode 100644 index 0000000..c9d1c84 --- /dev/null +++ b/python-gym-craftingworld.spec @@ -0,0 +1,214 @@ +%global _empty_manifest_terminate_build 0 +Name: python-gym-craftingworld +Version: 0.1.9.8 +Release: 1 +Summary: A gym package for the 2d crafting multitask world +License: MIT License +URL: https://github.com/lauradarcy/gym-craftingworld +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/37/19/253d2805355632783cdc984cae1258991a96332229403a26a1e49d2bc9b2/gym_craftingworld-0.1.9.8.tar.gz +BuildArch: noarch + +Requires: python3-gym +Requires: python3-numpy +Requires: python3-matplotlib +Requires: python3-pillow + +%description +# Gym Craftingworld + +[](https://pypi.org/project/gym-craftingworld/) +[](https://github.com/lauradarcy/gym-craftingworld) +[](https://gym-craftingworld.readthedocs.io/en/latest/?badge=latest) + +This is a (work-in-progress) gym package for a 2D crafting environment. +This environment is based off one first described in [Plan Arithmetic: Compositional Plan Vectors for Multi-Task Control](https://arxiv.org/abs/1910.14033), published in NeurIPS 2019, and the mechanics are adapted from the corresponding code at [code](https://github.com/cdevin/craftingworld). + +You can read the documentation [here](https://gym-craftingworld.readthedocs.io/). + +## Environment description + +This environment consists of a two-dimensional top-down, grid-based world consisting of 4x4 pixel cells. +The environment contains seven object types of object: `Tree`, `Rock`, `Logs`, `Wheat`, `Bread`, `Hammer`, and `Axe`. + +Different objects are represented by differently coloured 4x4 blocks, while the agent is represented by a 2x2 white pixel block centered within the 4x4 cell. + +The agent's actions are descrete and consist of six possible choices: `Up`, `Down`, `Left`, `Right`, `PickUp`, and `Drop`. + +Logs, hammers, and axes can be picked up by agent. +Trees and rocks block the agent's movement. + +When an agent picks up an object, its block changes to a square block with 2x1 white pixels on top and 2x1 pixels below in the color of the object. + +The environment consists of nine skills: + +* `ChopTree` -- The agent is required to be holding an `Axe` and on a cell with a `Tree` to `ChopTree` and turn it into `Logs`. +* `BuildHouse` -- The agent is required to be holding a `Hammer` and on a cell with some `Logs` to `BuildHouse`. +* `MakeBread` -- The agent is required to be holding an `Axe` and on a cell with some `Wheat` to `MakeBread` and create `Bread`. +* `EatBread` -- The agent is required to be on a cell with `Bread` to `EatBread`. +* `BreakRock` -- The agent is required to be holding a `Hammer` and on a cell with a `Rock` to `BreakRock`. +* `GoToHouse` -- The agent is required to be on a cell with a `House` to `GoToHouse`. +* `MoveAxe` -- The agent is required to `PickUp` an `Axe` and `drop` it in another cell. +* `MoveHammer` -- The agent is required to `PickUp` a `Hammer` and `drop` it in another cell. +* `MoveLogs` -- The agent is required to `PickUp` some `Logs` and `drop` it in another cell. + +A task is defined by a list of skills. For example, [`ChopTree`, `BuildHouse`]. + +The quantities and positions of each object are randomly selected at each reset, which occurs between episodes. + +## Rendering + +To store each episode as a gif, call `env.allow_gif_storage()`, which will store each episode in the `/renders/` subdirectory. + + + + +%package -n python3-gym-craftingworld +Summary: A gym package for the 2d crafting multitask world +Provides: python-gym-craftingworld +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-gym-craftingworld +# Gym Craftingworld + +[](https://pypi.org/project/gym-craftingworld/) +[](https://github.com/lauradarcy/gym-craftingworld) +[](https://gym-craftingworld.readthedocs.io/en/latest/?badge=latest) + +This is a (work-in-progress) gym package for a 2D crafting environment. +This environment is based off one first described in [Plan Arithmetic: Compositional Plan Vectors for Multi-Task Control](https://arxiv.org/abs/1910.14033), published in NeurIPS 2019, and the mechanics are adapted from the corresponding code at [code](https://github.com/cdevin/craftingworld). + +You can read the documentation [here](https://gym-craftingworld.readthedocs.io/). + +## Environment description + +This environment consists of a two-dimensional top-down, grid-based world consisting of 4x4 pixel cells. +The environment contains seven object types of object: `Tree`, `Rock`, `Logs`, `Wheat`, `Bread`, `Hammer`, and `Axe`. + +Different objects are represented by differently coloured 4x4 blocks, while the agent is represented by a 2x2 white pixel block centered within the 4x4 cell. + +The agent's actions are descrete and consist of six possible choices: `Up`, `Down`, `Left`, `Right`, `PickUp`, and `Drop`. + +Logs, hammers, and axes can be picked up by agent. +Trees and rocks block the agent's movement. + +When an agent picks up an object, its block changes to a square block with 2x1 white pixels on top and 2x1 pixels below in the color of the object. + +The environment consists of nine skills: + +* `ChopTree` -- The agent is required to be holding an `Axe` and on a cell with a `Tree` to `ChopTree` and turn it into `Logs`. +* `BuildHouse` -- The agent is required to be holding a `Hammer` and on a cell with some `Logs` to `BuildHouse`. +* `MakeBread` -- The agent is required to be holding an `Axe` and on a cell with some `Wheat` to `MakeBread` and create `Bread`. +* `EatBread` -- The agent is required to be on a cell with `Bread` to `EatBread`. +* `BreakRock` -- The agent is required to be holding a `Hammer` and on a cell with a `Rock` to `BreakRock`. +* `GoToHouse` -- The agent is required to be on a cell with a `House` to `GoToHouse`. +* `MoveAxe` -- The agent is required to `PickUp` an `Axe` and `drop` it in another cell. +* `MoveHammer` -- The agent is required to `PickUp` a `Hammer` and `drop` it in another cell. +* `MoveLogs` -- The agent is required to `PickUp` some `Logs` and `drop` it in another cell. + +A task is defined by a list of skills. For example, [`ChopTree`, `BuildHouse`]. + +The quantities and positions of each object are randomly selected at each reset, which occurs between episodes. + +## Rendering + +To store each episode as a gif, call `env.allow_gif_storage()`, which will store each episode in the `/renders/` subdirectory. + + + + +%package help +Summary: Development documents and examples for gym-craftingworld +Provides: python3-gym-craftingworld-doc +%description help +# Gym Craftingworld + +[](https://pypi.org/project/gym-craftingworld/) +[](https://github.com/lauradarcy/gym-craftingworld) +[](https://gym-craftingworld.readthedocs.io/en/latest/?badge=latest) + +This is a (work-in-progress) gym package for a 2D crafting environment. +This environment is based off one first described in [Plan Arithmetic: Compositional Plan Vectors for Multi-Task Control](https://arxiv.org/abs/1910.14033), published in NeurIPS 2019, and the mechanics are adapted from the corresponding code at [code](https://github.com/cdevin/craftingworld). + +You can read the documentation [here](https://gym-craftingworld.readthedocs.io/). + +## Environment description + +This environment consists of a two-dimensional top-down, grid-based world consisting of 4x4 pixel cells. +The environment contains seven object types of object: `Tree`, `Rock`, `Logs`, `Wheat`, `Bread`, `Hammer`, and `Axe`. + +Different objects are represented by differently coloured 4x4 blocks, while the agent is represented by a 2x2 white pixel block centered within the 4x4 cell. + +The agent's actions are descrete and consist of six possible choices: `Up`, `Down`, `Left`, `Right`, `PickUp`, and `Drop`. + +Logs, hammers, and axes can be picked up by agent. +Trees and rocks block the agent's movement. + +When an agent picks up an object, its block changes to a square block with 2x1 white pixels on top and 2x1 pixels below in the color of the object. + +The environment consists of nine skills: + +* `ChopTree` -- The agent is required to be holding an `Axe` and on a cell with a `Tree` to `ChopTree` and turn it into `Logs`. +* `BuildHouse` -- The agent is required to be holding a `Hammer` and on a cell with some `Logs` to `BuildHouse`. +* `MakeBread` -- The agent is required to be holding an `Axe` and on a cell with some `Wheat` to `MakeBread` and create `Bread`. +* `EatBread` -- The agent is required to be on a cell with `Bread` to `EatBread`. +* `BreakRock` -- The agent is required to be holding a `Hammer` and on a cell with a `Rock` to `BreakRock`. +* `GoToHouse` -- The agent is required to be on a cell with a `House` to `GoToHouse`. +* `MoveAxe` -- The agent is required to `PickUp` an `Axe` and `drop` it in another cell. +* `MoveHammer` -- The agent is required to `PickUp` a `Hammer` and `drop` it in another cell. +* `MoveLogs` -- The agent is required to `PickUp` some `Logs` and `drop` it in another cell. + +A task is defined by a list of skills. For example, [`ChopTree`, `BuildHouse`]. + +The quantities and positions of each object are randomly selected at each reset, which occurs between episodes. + +## Rendering + +To store each episode as a gif, call `env.allow_gif_storage()`, which will store each episode in the `/renders/` subdirectory. + + + + +%prep +%autosetup -n gym-craftingworld-0.1.9.8 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-gym-craftingworld -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.9.8-1 +- Package Spec generated @@ -0,0 +1 @@ +3625a80711e16b300e6d9524b7feee42 gym_craftingworld-0.1.9.8.tar.gz |
