{"id":13715246,"url":"https://github.com/IllumiDesk/illumidesk","last_synced_at":"2025-05-07T04:30:40.140Z","repository":{"id":34033214,"uuid":"253625665","full_name":"IllumiDesk/illumidesk","owner":"IllumiDesk","description":"IllumiDesk enhances your LMS with Jupyter Notebooks + Auto-Grading. ","archived":true,"fork":false,"pushed_at":"2022-05-05T16:11:57.000Z","size":3837,"stargazers_count":44,"open_issues_count":9,"forks_count":13,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-04T11:18:08.010Z","etag":null,"topics":["ansible","canvas-lms","docker","docker-compose","jupyter","jupyterhub","lti-tool","nbgrader","python"],"latest_commit_sha":null,"homepage":"https://docs.illumidesk.com","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/IllumiDesk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2020-04-06T22:01:35.000Z","updated_at":"2025-04-01T09:45:50.000Z","dependencies_parsed_at":"2022-08-07T23:31:33.500Z","dependency_job_id":null,"html_url":"https://github.com/IllumiDesk/illumidesk","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IllumiDesk%2Fillumidesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IllumiDesk%2Fillumidesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IllumiDesk%2Fillumidesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IllumiDesk%2Fillumidesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IllumiDesk","download_url":"https://codeload.github.com/IllumiDesk/illumidesk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252813616,"owners_count":21808360,"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":["ansible","canvas-lms","docker","docker-compose","jupyter","jupyterhub","lti-tool","nbgrader","python"],"created_at":"2024-08-03T00:00:56.475Z","updated_at":"2025-05-07T04:30:39.259Z","avatar_url":"https://github.com/IllumiDesk.png","language":"Python","funding_links":[],"categories":["Collaboration/Education"],"sub_categories":[],"readme":"[![Github actions badge](https://github.com/illumidesk/illumidesk/actions/workflows/docker.yaml/badge.svg)](https://github.com/illumidesk/illumidesk/actions/workflows/docker.yaml \"Docker images build status\")\n[![codecov](https://codecov.io/gh/IllumiDesk/illumidesk/branch/main/graph/badge.svg)](https://codecov.io/gh/IllumiDesk/illumidesk)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![Code style black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# IllumiDesk\n\nThis monorepo is used to maintain IllumiDesk's authenticators, spawners, and microservices. This setup assumes that all services are running with Kubernetes.\nPlease refer to our [help guides](https://support.illumidesk.com) for more information.\n\n## Overview\n\n[Jupyter Notebooks](https://jupyter.org) are a great **education tool** for a variety of subjects since it offers instructors and learners a unified document standard to combine markdown, code, and rich visualizations. With the proper setup, Jupyter Notebooks allow organizations to enhance their learning experiences.\n\nWhen combined with the [nbgrader](https://github.com/jupyter/nbgrader) package instructors are able to automate much of tasks associated with grading and providing feedback for their users.\n\n## Why?\n\nRunning a multi-user setup using [JupyterHub](https://github.com/jupyterhub/jupyterhub) and `nbgrader` with `containers` requires some additional setup. Some of the questions this distribution attempts to answer are:\n\n- How do we manage authentication when the user isn't a system user within the JupyterHub or Jupyter Notebook container?\n- How do we manage permissions for student and instructor folders?\n- How do we securely syncronize information with the Learning Management System (LMS) using the [LTI 1.1 and LTI 1.3](https://www.imsglobal.org/activity/learning-tools-interoperability) standards?\n- How do we improve the developer experience to provide more consistency with versions used in production, such as with Kubernetes?\n- How should deployment tools reflect these container-based requirements and also (to the extent possible) offer users an option that is cloud-vendor agnostic?\n\nOur goal is to remove these obstacles so that you can get on with the teaching!\n## Prerequisites\n\nKubernetes v1.17+.\n## Quick Start\n\nThis setup only supports Kubernetes-based installations at this time. Refer to the [helm-chart](https://github.com/illumidesk/helm-chart) repo for installation instructions.\n\n## Development Installation\n\nRefer to the [contributing](./CONTRIBUTING.md) guide located in the root of this repo.\n\n### Building the JupyterHubs\n\n1. Build the JupyterHub for local testing with `docker-compose` or `docker`:\n\n```bash\nmake build-hubs\n```\n\n1. Build the JupyterHub for local testing with `Kubernetes`:\n\n```bash\nmake build-hubs-k8\n```\n### General Guidelines\n\nThis project enforces the [Contributor Covenant](./CODE_OF_CONDUCT.md). Be kind and build a nice open source community with us.\n++\n### License\n\nPlease refer to the included [license](./LICENSE) in this repository's root directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIllumiDesk%2Fillumidesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIllumiDesk%2Fillumidesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIllumiDesk%2Fillumidesk/lists"}