{"id":26949821,"url":"https://github.com/just-max/less-power","last_synced_at":"2025-04-02T22:17:52.431Z","repository":{"id":179029945,"uuid":"662735963","full_name":"just-max/less-power","owner":"just-max","description":"Framework for sandboxed testing of OCaml code.","archived":false,"fork":false,"pushed_at":"2025-03-12T18:02:58.000Z","size":1953,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T18:27:39.557Z","etag":null,"topics":["ocaml","sandbox","testing"],"latest_commit_sha":null,"homepage":"https://just-max.github.io/less-power/main","language":"OCaml","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/just-max.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":"2023-07-05T19:17:51.000Z","updated_at":"2025-03-12T18:01:02.000Z","dependencies_parsed_at":"2024-04-17T00:41:50.287Z","dependency_job_id":"3057115e-d2c7-4d17-b96f-849f99c14968","html_url":"https://github.com/just-max/less-power","commit_stats":null,"previous_names":["just-max/less-power"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-max%2Fless-power","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-max%2Fless-power/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-max%2Fless-power/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-max%2Fless-power/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/just-max","download_url":"https://codeload.github.com/just-max/less-power/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246899633,"owners_count":20851899,"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":["ocaml","sandbox","testing"],"created_at":"2025-04-02T22:17:51.944Z","updated_at":"2025-04-02T22:17:52.416Z","avatar_url":"https://github.com/just-max.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Less Power: Framework for sandboxed testing of OCaml code\n\nThe Less Power framework consists of a number of libraries and executables for testing untrusted OCaml code. Designed for running programming exercises fully automatically and at scale.\n\nThe LP framework was presented at the OCaml Users and Developers Workshop 2023. A high-level overview in the form of an extended abstract is [available in git](https://github.com/just-max/less-power/blob/icfp23-ocaml-upload/icfp23-ocaml-final17.pdf). Note that some features described there have yet to be contributed to this repository.\n\n## Install\n\nThe framework is currently fixed to OCaml 5.3.0. Hence, from an OCaml 5.3.0. switch, LP can be installed using opam:\n\n```sh\nopam pin add less-power https://github.com/just-max/less-power.git#main\n```\n\nAlternatively, the provided Docker image may be used:\n\n```sh\ndocker pull ghcr.io/just-max/less-power:main\n```\n\nA specific tag may instead be substituted for `main`.\n\n# Development\n\nTo make changes to the framework, first clone this repository. Then add a local pin:\n\n```sh\nopam pin add less-power ~/path/to/less-power\n```\n\nWhile developing, use `dune` to build:\n\n```sh\ndune build       # regular build\ndune build @doc  # build docs\ndune build test  # run tests\n```\n\nTo use your local changes while developing a programming exercise:\n\n```sh\ndune build @install                    # prepare for install\nopam upgrade --working-dir less-power  # make changes available\n```\n\n## Deployment\n\nFor running real programming courses, programming exercises built for the Less Power framework are best run with [Artemis](https://github.com/ls1intum/Artemis). Artemis is an interactive learning platform that handles student participation and provides CI-based automated testing.\n\nHowever, the framework uses only standard OCaml tooling, and may be adapted for use with other platforms that offer some from of continuous integration.\n\n## Examples\n\nExamples to accompany this repository can be found at [just-max/less-power-examples](https://github.com/just-max/less-power-examples).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjust-max%2Fless-power","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjust-max%2Fless-power","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjust-max%2Fless-power/lists"}