{"id":13801045,"url":"https://github.com/ymyzk/mypy-playground","last_synced_at":"2025-07-11T12:41:54.877Z","repository":{"id":20662969,"uuid":"90552201","full_name":"ymyzk/mypy-playground","owner":"ymyzk","description":"The mypy playground. Try mypy with your web browser.","archived":false,"fork":false,"pushed_at":"2025-03-24T21:36:37.000Z","size":4141,"stargazers_count":74,"open_issues_count":45,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T22:28:03.594Z","etag":null,"topics":["asyncio","bootstrap5","docker","gist","hacktoberfest","mypy","playground","python","react","tornado"],"latest_commit_sha":null,"homepage":"https://mypy-play.net","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/ymyzk.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},"funding":{"github":["ymyzk"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-05-07T18:12:01.000Z","updated_at":"2025-03-24T21:31:30.000Z","dependencies_parsed_at":"2023-10-21T13:25:56.115Z","dependency_job_id":"e0e55e8b-7298-4210-9bf7-86de814ca91a","html_url":"https://github.com/ymyzk/mypy-playground","commit_stats":{"total_commits":765,"total_committers":8,"mean_commits":95.625,"dds":"0.49150326797385624","last_synced_commit":"61b898ab8d4e00520bb0ac8799a909df27592977"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyzk%2Fmypy-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyzk%2Fmypy-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyzk%2Fmypy-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ymyzk%2Fmypy-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ymyzk","download_url":"https://codeload.github.com/ymyzk/mypy-playground/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247623014,"owners_count":20968581,"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":["asyncio","bootstrap5","docker","gist","hacktoberfest","mypy","playground","python","react","tornado"],"created_at":"2024-08-04T00:01:18.992Z","updated_at":"2025-04-07T09:22:28.590Z","avatar_url":"https://github.com/ymyzk.png","language":"Python","funding_links":["https://github.com/sponsors/ymyzk"],"categories":["Integrations"],"sub_categories":["Mypy plugins"],"readme":"# mypy-playground\n\n![CI](https://github.com/ymyzk/mypy-playground/workflows/CI/badge.svg)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/ymyzk/mypy-playground/blob/master/LICENSE)\n\n**The mypy playground** provides Web UI to run mypy in the sandbox: https://mypy-play.net\n\n[![https://gyazo.com/30cbc6dbd533834208e7ed099ce2f589](https://i.gyazo.com/30cbc6dbd533834208e7ed099ce2f589.gif)](https://gyazo.com/30cbc6dbd533834208e7ed099ce2f589)\n\n## Features\n- Web UI and sandbox for running mypy easily and safely\n- Simple and nice editor with syntax highlighting and error reporting\n- Share snippets with your friends using GitHub Gist\n\n## Development\n1. Run `docker compose up -d` to start an app and Docker for running mypy\n2. Run `docker compose exec docker docker build --pull -t ymyzk/mypy-playground-sandbox:latest /sandbox/latest` to build a Docker image\n3. Open http://localhost:8000\n\n## Components\n- [app](app): Application server\n- [app/frontend](app/frontend): Frontend\n- [sandbox](sandbox): Sandbox environments for running mypy\n\n## Configuration\nPlease run `python -m mypy_playground --help` to see all configurations.\nConfigurations are considered in the following order:\n\n1. Command line arguments\n2. Environment variables\n3. Configuration file (`config.toml`)\n4. Default configurations\n\n| Name | Type | Required | Description |\n|:-----|:-----|:---------|:------------|\n| `DEBUG` | bool | No | Enable debug mode (default: False) |\n| `PORT` | int | No | Port number (default: 8080) |\n| `SANDBOX` | str | No | Sandbox implementation to use (default: `mypy_playground.sandbox.docker.DockerSandbox`) |\n| `SANDBOX_CONCURRENCY` | int | No | The number of running sandboxes at the same time (default: 3) |\n| `GA_TRACKING_ID` | str | No | A tracking id for Google Analytics. If not specified, Google Analytics is disabled. |\n| `GITHUB_TOKEN` | str | No | A token used to create gists |\n| `ENABLE_PROMETHEUS` | bool | No | Enable Prometheus metrics endpoint (default: False) |\n| `MYPY_VERSIONS` | list | No | List of mypy versions used by a sandbox (default: `mypy latest:latest`) |\n| `DOCKER_IMAGES` | list | No | Docker images used by sandbox (default: `latest:ymyzk/mypy-playground-sandbox:latest`) |\n| `CLOUD_FUNCTIONS_BASE_URL` | str | No | URL of Cloud Functions without function name |\n| `CLOUD_FUNCTIONS_NAMES` | str | No | Map from mypy version ID to name of Cloud Functions |\n| `CLOUD_FUNCTIONS_IDENTITY_TOKEN` | str | No | Identity token for development purpose |\n\n## Endpoints\n- `/`: Entrypoint\n- `/api/`: APIs provided by Tornado\n- `/private/metrics`: Prometheus metrics (when enabled)\n- `/static/`: Static files\n\n## Sponsoring\nmypy Playground is looking for sponsors to host mypy-play.net using [GitHub sponsors](https://github.com/sponsors/ymyzk)\n\nDevelopment of mypy Playground is supported by JetBrains software. See https://jb.gg/OpenSourceSupport for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymyzk%2Fmypy-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fymyzk%2Fmypy-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fymyzk%2Fmypy-playground/lists"}