{"id":13619141,"url":"https://github.com/INGInious/INGInious","last_synced_at":"2025-04-14T16:30:46.598Z","repository":{"id":19340588,"uuid":"22579572","full_name":"INGInious/INGInious","owner":"INGInious","description":"INGInious is a secure and automated exercises assessment platform using your own tests, also providing a pluggable interface with your existing LMS.","archived":false,"fork":false,"pushed_at":"2025-04-08T10:34:22.000Z","size":45128,"stargazers_count":219,"open_issues_count":145,"forks_count":140,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-09T03:25:21.878Z","etag":null,"topics":["assessment","autograding","coding-interviews","e-assessment","education","evaluation","exercise","grading","inginious","interview","learn-to-code","learning","lti","mooc","programming-exercise","technical-coding-interview","training"],"latest_commit_sha":null,"homepage":"http://www.inginious.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/INGInious.png","metadata":{"files":{"readme":"README.rst","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":"2014-08-03T17:18:46.000Z","updated_at":"2025-04-08T10:32:36.000Z","dependencies_parsed_at":"2023-09-29T00:21:49.359Z","dependency_job_id":"cf50dedd-2d52-4d88-bbbd-f17345f259e4","html_url":"https://github.com/INGInious/INGInious","commit_stats":{"total_commits":2543,"total_committers":76,"mean_commits":33.46052631578947,"dds":0.6118757373181283,"last_synced_commit":"30937e9cf5ae8607df7a9cba39396de19e9dff73"},"previous_names":["inginious/inginious","ucl-ingi/inginious"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/INGInious%2FINGInious","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/INGInious%2FINGInious/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/INGInious%2FINGInious/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/INGInious%2FINGInious/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/INGInious","download_url":"https://codeload.github.com/INGInious/INGInious/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248916526,"owners_count":21182819,"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":["assessment","autograding","coding-interviews","e-assessment","education","evaluation","exercise","grading","inginious","interview","learn-to-code","learning","lti","mooc","programming-exercise","technical-coding-interview","training"],"created_at":"2024-08-01T21:00:35.305Z","updated_at":"2025-04-14T16:30:46.591Z","avatar_url":"https://github.com/INGInious.png","language":"Python","readme":"INGInious\n=========\n\n.. image:: https://api.codacy.com/project/badge/Grade/7cd8340004ef4d409143d5c24259efc1\n   :alt: Codacy Badge\n   :target: https://app.codacy.com/gh/INGInious/INGInious?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=INGInious/INGInious\u0026utm_campaign=Badge_Grade_Dashboard\n.. image:: https://app.codacy.com/project/badge/Coverage/9102bbf54901478dbe288a386195f77e\n   :alt: Codacy coverage Badge\n   :target: https://www.codacy.com/gh/INGInious/INGInious/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=INGInious/INGInious\u0026utm_campaign=Badge_Coverage\n.. image:: https://github.com/INGInious/INGInious/actions/workflows/ci.yml/badge.svg\n    :target: https://github.com/INGInious/INGInious/actions\n.. image:: https://github.com/INGInious/INGInious/actions/workflows/env_containers.yml/badge.svg\n    :target: https://github.com/INGInious/INGInious/actions\n.. image:: https://readthedocs.org/projects/inginious/badge/?version=latest\n    :target: https://readthedocs.org/projects/inginious/?badge=latest\n.. image:: https://weblate.info.ucl.ac.be/widgets/inginious/-/frontend/svg-badge.svg\n    :target: https://weblate.info.ucl.ac.be/engage/inginious/?utm_source=widget\n\nINGInious is an intelligent grader that allows secured and automated testing of code made by students.\n\nIt is written in Python and uses Docker_ to run student's code inside a secured environment.\n\nINGInious provides a backend which manages interaction with Docker and grade code, and a frontend which allows students to submit their code in a simple and beautiful interface. The frontend also includes a simple administration interface that allows teachers to check the progression of their students and to modify exercices in a simple way.\n\nThe backend is independent of the frontend and was made to be used as a library.\n\nINGInious can be used as an external grader for EDX. The course `Paradigms of Computer Programming - Fundamentals`_ uses INGInious to correct students' code.\n\n.. _Docker: https://www.docker.com/\n.. _Paradigms of Computer Programming - Fundamentals: https://www.edx.org/course/louvainx/louvainx-louv1-1x-paradigms-computer-2751\n\nHow to install?\n---------------\n\nSimply run:\n\n.. code-block::\n\n   $ docker compose up --build\n\n\u003e Note that you can override the registry and containers version by setting the `REGISTRY` and\n\u003e `VERSION` environment variables.\n\nAnd access http://localhost:9000 in your browser.\n\n*The default login and password are* ``superadmin``.\n\nThe ``--build`` argument is optional, use it if you want to rebuild locally the core containers.\nIf you want to simply pull them from the project's registry, this argument is not required.\n\nDocker-compose will create a ``tasks`` folder if it does not exist already.\n\nYou can then add new courses to your fresh INGInious instance by installing them in the ``tasks`` folder.\n\nFor example, the INGInious tutorial course is installed with the following commands:\n\n.. code-block::\n\n   $ git clone https://github.com/INGInious/demo-tasks.git\n   $ mv demo-tasks/tutorial tasks/\n\n*If you encounter permission errors, you should run the following command:*\n\n.. code-block::\n\n   $ sudo chown -R \u003cyour_user\u003e:\u003cyour_user_group\u003e tasks\n\n*This can happen when the tasks directory is created by docker-compose.*\n\nNote that the `configuration.deploy.yaml` file provided is a sample configuration, the secret key **must** be changed by administrators in production deployments.\n\n.. _Manual installation: https://docs.inginious.org/en/latest/admin_doc/install_doc/installation.html\n\n`Manual installation`_ is also possible with pip.\n\nDocumentation\n-------------\n\nThe documentation is available on Read the Docs:\n\n- For the stable branch : http://inginious.readthedocs.org/\n- For the master (dev) branch (not always up to date) : http://inginious.readthedocs.org/en/latest/index.html\n\nOn Linux, run ``make html`` in the directory ``/doc`` to create a html version of the documentation.\n\nRoadmap\n-------\n\nINGInious is continuously improved. The various Work In Progress tasks are described in the Roadmap_ of the project.\n \n .. _Roadmap: https://github.com/UCL-INGI/INGInious/wiki/Roadmap\n \nNotes on security\n-----------------\n\nDocker containers can be used securely with SELinux enabled. Please do not run untrusted code without activating SELinux.\n\nMailing list\n------------\n\nA mailing list for both usage and development discussion can be joined by registering here_.\n\n..  _here: https://sympa-2.sipr.ucl.ac.be/sympa/info/inginious\n","funding_links":[],"categories":["Development"],"sub_categories":["VoIP"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FINGInious%2FINGInious","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FINGInious%2FINGInious","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FINGInious%2FINGInious/lists"}