{"id":28381112,"url":"https://github.com/humancompatibleai/seals","last_synced_at":"2025-06-25T01:32:02.365Z","repository":{"id":40002369,"uuid":"233754865","full_name":"HumanCompatibleAI/seals","owner":"HumanCompatibleAI","description":"Benchmark environments for reward modelling and imitation learning algorithms.","archived":false,"fork":false,"pushed_at":"2023-09-19T14:58:57.000Z","size":193,"stargazers_count":46,"open_issues_count":7,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-19T15:47:57.012Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HumanCompatibleAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-14T04:15:57.000Z","updated_at":"2025-02-15T13:26:43.000Z","dependencies_parsed_at":"2024-06-19T16:02:19.481Z","dependency_job_id":"74917f18-c75b-46d5-a3bd-efa3fd519cfb","html_url":"https://github.com/HumanCompatibleAI/seals","commit_stats":null,"previous_names":["humancompatibleai/benchmark-environments"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/HumanCompatibleAI/seals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanCompatibleAI%2Fseals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanCompatibleAI%2Fseals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanCompatibleAI%2Fseals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanCompatibleAI%2Fseals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HumanCompatibleAI","download_url":"https://codeload.github.com/HumanCompatibleAI/seals/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanCompatibleAI%2Fseals/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261785263,"owners_count":23209276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-30T03:38:08.029Z","updated_at":"2025-06-25T01:32:02.355Z","avatar_url":"https://github.com/HumanCompatibleAI.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CircleCI](https://circleci.com/gh/HumanCompatibleAI/seals.svg?style=svg)](https://circleci.com/gh/HumanCompatibleAI/seals)\n[![Documentation Status](https://readthedocs.org/projects/seals/badge/?version=latest)](https://seals.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/HumanCompatibleAI/seals/branch/master/graph/badge.svg)](https://codecov.io/gh/HumanCompatibleAI/seals)\n[![PyPI version](https://badge.fury.io/py/seals.svg)](https://badge.fury.io/py/seals)\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"docs/_static/img/logo.svg\" width=\"50%\"/\u003e\u003c/p\u003e\n\n**Status**: early beta.\n\n*seals*, the Suite of Environments for Algorithms that Learn Specifications, is a toolkit for\nevaluating specification learning algorithms, such as reward or imitation learning. The\nenvironments are compatible with [Gym](https://github.com/openai/gym), but are designed\nto test algorithms that learn from user data, without requiring a procedurally specified\nreward function.\n\nThere are two types of environments in *seals*:\n\n  - **Diagnostic Tasks** which test individual facets of algorithm performance in isolation.\n  - **Renovated Environments**, adaptations of widely-used benchmarks such as MuJoCo continuous\n      control tasks and Atari games to be suitable for specification learning benchmarks. In particular, \n      we remove any side-channel sources of reward information from MuJoCo tasks, and give Atari games constant-length episodes (although most Atari environments have observations that include the score).\n\n*seals* is under active development and we intend to add more categories of tasks soon.\n \nYou may also be interested in our sister project [imitation](https://github.com/humancompatibleai/imitation/),\nproviding implementations of a variety of imitation and reward learning algorithms.\n\nCheck out our [documentation](https://seals.readthedocs.io/en/latest/) for more information about *seals*.\n\n# Quickstart\n\nTo install the latest release from PyPI, run:\n \n```bash\npip install seals\n```\n\nAll *seals* environments are available in the Gym registry. Simply import it and then use as you\nwould with your usual RL or specification learning algroithm:\n\n```python\nimport gymnasium as gym\nimport seals\n\nenv = gym.make('seals/CartPole-v0')\n```\n\nWe make releases periodically, but if you wish to use the latest version of the code, you can\ninstall directly from Git master:\n\n```bash\npip install git+https://github.com/HumanCompatibleAI/seals.git\n```\n\n# Contributing\n\nFor development, clone the source code and create a virtual environment for this project:\n\n```bash\ngit clone git@github.com:HumanCompatibleAI/seals.git\ncd seals\n./ci/build_venv.sh\npip install -e .[dev]  # install extra tools useful for development\n```\n\n## Code style\n\nWe follow a PEP8 code style with line length 88, and typically follow the [Google Code Style Guide](http://google.github.io/styleguide/pyguide.html),\nbut defer to PEP8 where they conflict. We use the `black` autoformatter to avoid arguing over formatting.\nDocstrings follow the Google docstring convention defined [here](http://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings),\nwith an extensive example in the [Sphinx docs](https://www.sphinx-doc.org/en/master/usage/extensions/example_google.html).\n\nAll PRs must pass linting via the `ci/code_checks.sh` script. It is convenient to install this as a commit hook:\n\n```bash\nln -s ../../ci/code_checks.sh .git/hooks/pre-commit\n```\n\n## Tests\n\nWe use [pytest](https://docs.pytest.org/en/latest/) for unit tests\nand [codecov](http://codecov.io/) for code coverage.\nWe also use [pytype](https://github.com/google/pytype) and [mypy](http://mypy-lang.org/)\nfor type checking.\n\n## Workflow\n\nTrivial changes (e.g. typo fixes) may be made directly by maintainers. Any non-trivial changes\nmust be proposed in a PR and approved by at least one maintainer. PRs must pass the continuous \nintegration tests (CircleCI linting, type checking, unit tests and CodeCov) to be merged.\n\nIt is often helpful to open an issue before proposing a PR, to allow for discussion of the design\nbefore coding commences.\n\n# Citing seals\n\nTo cite this project in publications:\n\n```bibtex\n @misc{seals,\n   author = {Adam Gleave and Pedro Freire and Steven Wang and Sam Toyer},\n   title = {{seals}: Suite of Environments for Algorithms that Learn Specifications},\n   year = {2020},\n   publisher = {GitHub},\n   journal = {GitHub repository},\n   howpublished = {\\url{https://github.com/HumanCompatibleAI/seals}},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumancompatibleai%2Fseals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhumancompatibleai%2Fseals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumancompatibleai%2Fseals/lists"}