summaryrefslogtreecommitdiff
path: root/python-gym-craftingworld.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-gym-craftingworld.spec')
-rw-r--r--python-gym-craftingworld.spec214
1 files changed, 214 insertions, 0 deletions
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
+
+[![Downloads](https://img.shields.io/pypi/dm/gym-craftingworld)](https://pypi.org/project/gym-craftingworld/)
+[![Lines](https://img.shields.io/tokei/lines/github/lauradarcy/gym-craftingworld)](https://github.com/lauradarcy/gym-craftingworld)
+[![Documentation Status](https://readthedocs.org/projects/gym-craftingworld/badge/?version=latest)](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
+
+[![Downloads](https://img.shields.io/pypi/dm/gym-craftingworld)](https://pypi.org/project/gym-craftingworld/)
+[![Lines](https://img.shields.io/tokei/lines/github/lauradarcy/gym-craftingworld)](https://github.com/lauradarcy/gym-craftingworld)
+[![Documentation Status](https://readthedocs.org/projects/gym-craftingworld/badge/?version=latest)](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
+
+[![Downloads](https://img.shields.io/pypi/dm/gym-craftingworld)](https://pypi.org/project/gym-craftingworld/)
+[![Lines](https://img.shields.io/tokei/lines/github/lauradarcy/gym-craftingworld)](https://github.com/lauradarcy/gym-craftingworld)
+[![Documentation Status](https://readthedocs.org/projects/gym-craftingworld/badge/?version=latest)](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