{"id":13487360,"url":"https://github.com/tensorchord/envd","last_synced_at":"2025-10-03T22:49:02.874Z","repository":{"id":36974786,"uuid":"480303698","full_name":"tensorchord/envd","owner":"tensorchord","description":"🏕️ Reproducible development environment","archived":false,"fork":false,"pushed_at":"2025-09-01T06:18:15.000Z","size":3997,"stargazers_count":2141,"open_issues_count":130,"forks_count":161,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-09-27T21:17:28.352Z","etag":null,"topics":["buildkit","developer-tools","development-environment","docker","hacktoberfest","llmops","mlops","mlops-workflow","model-serving"],"latest_commit_sha":null,"homepage":"https://envd.tensorchord.ai/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tensorchord.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-11T09:04:19.000Z","updated_at":"2025-09-14T22:31:02.000Z","dependencies_parsed_at":"2024-01-11T19:17:41.546Z","dependency_job_id":"96206b06-57f6-4f15-8308-ded6b6a67256","html_url":"https://github.com/tensorchord/envd","commit_stats":{"total_commits":1113,"total_committers":73,"mean_commits":"15.246575342465754","dds":0.7807726864330637,"last_synced_commit":"1dc32916defe1e3f0d82682bb81619a1ff19ef81"},"previous_names":[],"tags_count":148,"template":false,"template_full_name":null,"purl":"pkg:github/tensorchord/envd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tensorchord%2Fenvd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tensorchord%2Fenvd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tensorchord%2Fenvd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tensorchord%2Fenvd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tensorchord","download_url":"https://codeload.github.com/tensorchord/envd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tensorchord%2Fenvd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277315145,"owners_count":25797570,"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","status":"online","status_checked_at":"2025-09-28T02:00:08.834Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["buildkit","developer-tools","development-environment","docker","hacktoberfest","llmops","mlops","mlops-workflow","model-serving"],"created_at":"2024-07-31T18:00:58.161Z","updated_at":"2025-10-03T22:49:02.843Z","avatar_url":"https://github.com/tensorchord.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/12974685/200007223-cd94fe9a-266d-4bbd-ac23-e71043d0c3dc.svg#gh-light-mode-only\" alt=\"envd cat wink\"/\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/12974685/200007265-4e47ff2c-c2a0-4e77-baaa-760ee8728388.svg#gh-dark-mode-only\" alt=\"envd cat wink\"/\u003e\n\n\u003cp\u003eDevelopment environment for AI/ML\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=center\u003e\n\u003ca href=\"https://discord.gg/KqswhpVgdU\"\u003e\u003cimg alt=\"discord invitation link\" src=\"https://img.shields.io/discord/974584200327991326?style=flat\u0026logo=discord\u0026cacheSeconds=60\"\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/TensorChord\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/tensorchord?style=flat\u0026logo=X\u0026cacheSeconds=60\" alt=\"trackgit-views\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/envd\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/envd\" alt=\"Python Version\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/tensorchord/envd#contributors-\"\u003e\u003cimg alt=\"all-contributors\" src=\"https://img.shields.io/github/all-contributors/tensorchord/envd/main\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/envd/\"\u003e\u003cimg alt=\"envd package downloads\" src=\"https://static.pepy.tech/personalized-badge/envd?period=month\u0026units=international_system\u0026left_color=grey\u0026right_color=brightgreen\u0026left_text=downloads/month\"\u003c/a\u003e\n\u003ca href=\"https://github.com/tensorchord/envd/actions/workflows/CI.yml\"\u003e\u003cimg alt=\"continuous integration\" src=\"https://github.com/tensorchord/envd/actions/workflows/CI.yml/badge.svg\"\u003e\u003c/a\u003e\n\u003ca href='https://coveralls.io/github/tensorchord/envd?branch=main'\u003e\u003cimg src='https://coveralls.io/repos/github/tensorchord/envd/badge.svg?branch=main' alt='Coverage Status' /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## What is envd?\n\nenvd (`ɪnˈvdɪ`) is a command-line tool that helps you create the container-based development environment for AI/ML.\n\nCreating development environments is not easy, especially with today's complex systems and dependencies. With everything from Python to CUDA, BASH scripts, and Dockerfiles constantly breaking, it can feel like a nightmare - until now!\n\nInstantly get your environment running exactly as you need with a simple declaration of the packages you seek in build.envd and just one command: `envd up`!\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/5100735/207217321-34c30dde-4b55-4871-b6fe-f9fc6ec19986.svg\" width=\"75%\"/\u003e\n\u003c/p\u003e\n\n## Why use `envd`?\n\nEnvironments built with `envd` provide the following features out-of-the-box:\n\n**Simple CLI and language**\n\n`envd` enables you to quickly and seamlessly integrate powerful CLI tools into your existing Python workflow to provision your programming environment without learning a new language or DSL.\n\n```python\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\n**Isolation, compatible with OCI image**\n\nWith `envd`, users can create an isolated space to train, fine-tune, or serve. By utilizing sophisticated virtualization technology as well as other features like [buildkit](https://github.com/moby/buildkit), it's an ideal solution for environment setup.\n\n`envd` environment image is compatible with [OCI image specification](https://github.com/opencontainers/image-spec). By leveraging the power of an OCI image, you can make your environment available to anyone and everyone! Make it happen with a container registry like Harbor or Docker Hub.\n\n**Local, and cloud**\n\n`envd` can now be used on a hybrid platform, ranging from local machines to clusters hosted by Kubernetes. Any of these options offers an efficient and versatile way for developers to create their projects!\n\n```sh\n$ envd context use local\n# Run envd environments locally\n$ envd up\n...\n$ envd context use cluster\n# Run envd environments in the cluster with the same experience\n$ envd up\n```\n\nCheck out the [doc](https://envd.tensorchord.ai/teams/kubernetes.html) for more details.\n\n**Build anywhere, faster**\n\n`envd` offers a wealth of advantages, such as remote build and software caching capabilities like pip index caches or apt cache, with the help of [buildkit](https://github.com/moby/buildkit) - all designed to make your life easier without ever having to step foot in the code itself!\n\nReusing previously downloaded packages from the PyPI/APT cache saves time and energy, making builds more efficient. No need to redownload what was already acquired before – a single download is enough for repeat usage! \n\nWith Dockerfile v1, users are unable to take advantage of PyPI caching for faster installation speeds - but `envd` offers this support and more!\n\n\u003cp align=center\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/5100735/189928628-543f4851-87b7-462b-b811-372cbf46ff25.svg#gh-light-mode-only\" width=\"65%\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=center\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/16186646/197944452-4a5dcd5f-68d0-4505-b419-e95c298978d7.svg#gh-dark-mode-only\" width=\"65%\"/\u003e\n\u003c/p\u003e\n\nBesides, `envd` also supports remote build, which means you can build your environment on a remote machine, such as a cloud server, and then push it to the registry. This is especially useful when you are working on a machine with limited resources, or when you expect a build machine with higher performance.\n\n**Knowledge reuse in your team**\n\nForget copy-pasting Dockerfile instructions - use envd to easily build functions and reuse them by importing any Git repositories with the `include` function! Craft powerful custom solutions quickly.\n\n```python\nenvdlib = include(\"https://github.com/tensorchord/envdlib\")\n\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    envdlib.tensorboard(host_port=8888)\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ccode\u003eenvdlib.tensorboard\u003c/code\u003e is defined in \u003ca href=\"https://github.com/tensorchord/envdlib/blob/main/src/monitoring.envd\"\u003egithub.com/tensorchord/envdlib\u003c/a\u003e\u003c/summary\u003e\n\n```python\ndef tensorboard(\n    envd_port=6006,\n    envd_dir=\"/home/envd/logs\",\n    host_port=0,\n    host_dir=\"/tmp\",\n):\n    \"\"\"Configure TensorBoard.\n\n    Make sure you have permission for `host_dir`\n\n    Args:\n        envd_port (Optional[int]): port used by envd container\n        envd_dir (Optional[str]): log storage mount path in the envd container\n        host_port (Optional[int]): port used by the host, if not specified or equals to 0,\n            envd will randomly choose a free port\n        host_dir (Optional[str]): log storage mount path in the host\n    \"\"\"\n    install.python_packages([\"tensorboard\"])\n    runtime.mount(host_path=host_dir, envd_path=envd_dir)\n    runtime.daemon(\n        commands=[\n            [\n                \"tensorboard\",\n                \"--logdir\",\n                envd_dir,\n                \"--port\",\n                str(envd_port),\n                \"--host\",\n                \"0.0.0.0\",\n            ],\n        ]\n    )\n    runtime.expose(envd_port=envd_port, host_port=host_port, service=\"tensorboard\")\n```\n\u003c/details\u003e\n\n## Getting Started 🚀\n\n### Requirements\n\n- Docker (20.10.0 or above)\n\n### Install and bootstrap `envd`\n\n`envd` can be installed with `pip`, or you can download the binary [release](https://github.com/tensorchord/envd/releases) directly. After the installation, please run `envd bootstrap` to bootstrap.\n\n```bash\npip install --upgrade envd\n```\n\nAfter the installation, please run `envd bootstrap` to bootstrap:\n\n```bash\nenvd bootstrap\n```\n\nRead the [documentation](https://envd.tensorchord.ai/guide/getting-started.html#install-and-bootstrap-envd) for more alternative installation methods.\n\n\u003e You can add `--dockerhub-mirror` or `-m` flag when running `envd bootstrap`, to configure the mirror for docker.io registry:\n\u003e\n\u003e```bash title=\"Set docker mirror\"\n\u003eenvd bootstrap --dockerhub-mirror https://docker.mirrors.sjtug.sjtu.edu.cn\n\u003e```\n\n### Create an `envd` environment\n\nPlease clone the [`envd-quick-start`](https://github.com/tensorchord/envd-quick-start):\n\n```bash\ngit clone https://github.com/tensorchord/envd-quick-start.git\n```\n\nThe build manifest `build.envd` looks like:\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # Configure the pip index if needed.\n    # config.pip_index(url = \"https://pypi.tuna.tsinghua.edu.cn/simple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n```\n\n*Note that we use Python here as an example but please check out examples for other languages such as R and Julia [here](https://github.com/tensorchord/envd/tree/main/examples).*\n\nThen please run the command below to set up a new environment:\n\n```bash\ncd envd-quick-start \u0026\u0026 envd up\n```\n\n```bash\n$ cd envd-quick-start \u0026\u0026 envd up\n[+] ⌚ parse build.envd and download/cache dependencies 6.2s ✅ (finished) \n[+] build envd environment 19.0s (47/47) FINISHED                                                 \n =\u003e CACHED [internal] setting pip cache mount permissions                                     0.0s\n =\u003e docker-image://docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3                        2.3s\n =\u003e =\u003e resolve docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3                            2.3s\n =\u003e docker-image://docker.io/library/ubuntu:22.04                                             0.0s\n......\n =\u003e [internal] pip install numpy                                                              2.5s\n =\u003e CACHED [internal] download fish shell                                                     0.0s\n =\u003e [internal] configure user permissions for /opt/conda                                      1.0s\n =\u003e [internal] create dir for ssh key                                                         0.5s\n =\u003e [internal] install ssh keys                                                               0.2s\n =\u003e [internal] copy fish shell from the builder image                                         0.2s\n =\u003e [internal] install fish shell                                                             0.5s\n......\n =\u003e [internal] create work dir: /home/envd/envd-quick-start                                   0.2s\n =\u003e exporting to image                                                                        7.7s\n =\u003e =\u003e exporting layers                                                                       7.7s\n =\u003e =\u003e writing image sha256:464a0c12759d3d1732404f217d5c6e06d0ee4890cccd66391a608daf2bd314e4  0.0s\n =\u003e =\u003e naming to docker.io/library/envd-quick-start:dev                                       0.0s\n------\n \u003e importing cache manifest from docker.io/tensorchord/python-cache:envd-v0.4.3:\n------\n⣽ [5/5] attach the environment  [2s]            \nWelcome to fish, the friendly interactive shell\nType help for instructions on how to use fish\n\nenvd-quick-start on git master [!] via Py v3.11.11 via 🅒 envd as sudo \n⬢ [envd]❯ # You are in the container-based environment!\n```\n\n### Set up Jupyter notebook\n\nPlease edit the `build.envd` to enable jupyter notebook:\n\n```python title=build.envd\ndef build():\n    base(dev=True)\n    install.conda()\n    install.python()\n    # Configure the pip index if needed.\n    # config.pip_index(url = \"https://pypi.tuna.tsinghua.edu.cn/simple\")\n    install.python_packages(name = [\n        \"numpy\",\n    ])\n    shell(\"fish\")\n    config.jupyter()\n```\n\nYou can get the endpoint of the running Jupyter notebook via `envd envs ls`.\n\n```bash\n$ envd up --detach\n$ envd envs ls\nNAME                    JUPYTER                 SSH TARGET              CONTEXT                                 IMAGE                   GPU     CUDA    CUDNN   STATUS          CONTAINER ID\nenvd-quick-start        http://localhost:42779   envd-quick-start.envd   /home/gaocegege/code/envd-quick-start   envd-quick-start:dev    false   \u003cnone\u003e  \u003cnone\u003e  Up 54 seconds   bd3f6a729e94\n```\n\n## Difference between v0 and v1 syntax\n\n\u003e [!NOTE]\n\u003e Start from `envd v1.0`, `v1` syntax is the default syntax for `build.envd` file, and `moby-worker` is the default builder.\n\n| Features | v0 | v1 |\n| --- | --- | --- |\n| is default for `envd\u003cv1.0` | ✅ | ❌ |\n| support dev | ✅ | ✅ |\n| support CUDA | ✅ | ✅ |\n| support serving | ⚠️ | ✅ |\n| support custom base image | ⚠️ | ✅ |\n| support installing multiple languages | ⚠️ | ✅ |\n| support `moby` builder | ❌ | ✅ |\n\n\u003e [!IMPORTANT]\n\u003e For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.\n\n## More on documentation 📝\n\nSee [envd documentation](https://envd.tensorchord.ai/guide/getting-started.html).\n\n## Roadmap 🗂️\n\nPlease checkout [ROADMAP](https://envd.tensorchord.ai/community/roadmap.html).\n\n## Contribute 😊\n\nWe welcome all kinds of contributions from the open-source community, individuals, and partners.\n\n- Join our [discord community](https://discord.gg/KqswhpVgdU)!\n- To build from the source, please read our [contributing documentation](https://envd.tensorchord.ai/community/contributing.html) and [development tutorial](https://envd.tensorchord.ai/developers/development.html).\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/tensorchord/envd)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://blog.duanfei.org\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16186646?v=4?s=70\" width=\"70px;\" alt=\" Friends A.\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e Friends A.\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=shaonianche\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-shaonianche\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/aaronzs\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1827365?v=4?s=70\" width=\"70px;\" alt=\"Aaron Sun\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAaron Sun\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#userTesting-aaronzs\" title=\"User Testing\"\u003e📓\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=aaronzs\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/popfido\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3928409?v=4?s=70\" width=\"70px;\" alt=\"Aka.Fido\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAka.Fido\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#platform-popfido\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=popfido\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=popfido\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://alexhxi.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68758451?v=4?s=70\" width=\"70px;\" alt=\"Alex Xi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlex Xi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=AlexXi19\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/LuBingtan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/30698342?v=4?s=70\" width=\"70px;\" alt=\"Bingtan Lu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBingtan Lu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=LuBingtan\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sunby\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/9817127?v=4?s=70\" width=\"70px;\" alt=\"Bingyi Sun\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBingyi Sun\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=sunby\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://gaocegege.com/Blog\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5100735?v=4?s=70\" width=\"70px;\" alt=\"Ce Gao\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCe Gao\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=gaocegege\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=gaocegege\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-gaocegege\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#projectManagement-gaocegege\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://frostming.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16336606?v=4?s=70\" width=\"70px;\" alt=\"Frost Ming\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrost Ming\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=frostming\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=frostming\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://GuangyangLi.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/2060045?v=4?s=70\" width=\"70px;\" alt=\"Guangyang Li\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGuangyang Li\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=gyli\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Gui-Yue\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/78520005?v=4?s=70\" width=\"70px;\" alt=\"Gui-Yue\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGui-Yue\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Gui-Yue\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/haiker2011\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8073429?v=4?s=70\" width=\"70px;\" alt=\"Haiker Sun\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHaiker Sun\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=haiker2011\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bandism.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22633385?v=4?s=70\" width=\"70px;\" alt=\"Ikko Ashimine\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIkko Ashimine\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=eltociear\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/nasnoisaac\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11145462?v=4?s=70\" width=\"70px;\" alt=\"Isaac \"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIsaac \u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=nasnoisaac\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://belyenochi.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26409132?v=4?s=70\" width=\"70px;\" alt=\"JasonZhu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJasonZhu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Belyenochi\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/knight42\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4237254?v=4?s=70\" width=\"70px;\" alt=\"Jian Zeng\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJian Zeng\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-knight42\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-knight42\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#research-knight42\" title=\"Research\"\u003e🔬\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/VoVAllen\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8686776?v=4?s=70\" width=\"70px;\" alt=\"Jinjing Zhou\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJinjing Zhou\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/issues?q=author%3AVoVAllen\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=VoVAllen\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-VoVAllen\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=VoVAllen\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://jun.dev/blog/issues\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8097526?v=4?s=70\" width=\"70px;\" alt=\"Jun\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJun\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#platform-junnplus\" title=\"Packaging/porting to new platform\"\u003e📦\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=junnplus\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Kaiyang-Chen\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/48289729?v=4?s=70\" width=\"70px;\" alt=\"Kaiyang Chen\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKaiyang Chen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Kaiyang-Chen\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://kemingy.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/12974685?v=4?s=70\" width=\"70px;\" alt=\"Keming\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKeming\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=kemingy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=kemingy\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-kemingy\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-kemingy\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/pingsutw\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37936015?v=4?s=70\" width=\"70px;\" alt=\"Kevin Su\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKevin Su\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=pingsutw\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/3AceShowHand\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7138436?v=4?s=70\" width=\"70px;\" alt=\"Ling Jin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLing Jin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/issues?q=author%3A3AceShowHand\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#infra-3AceShowHand\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://manjusaka.itscoder.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7054676?v=4?s=70\" width=\"70px;\" alt=\"Manjusaka\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eManjusaka\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Zheaoli\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lilylee1874\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/52693877?v=4?s=70\" width=\"70px;\" alt=\"Nino\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNino\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-lilylee1874\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=lilylee1874\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://phillipw.info\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34707116?v=4?s=70\" width=\"70px;\" alt=\"Pengyu Wang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePengyu Wang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=cswpy\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Sepush\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39197136?v=4?s=70\" width=\"70px;\" alt=\"Sepush\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSepush\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=sepush\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://blog.electronicwaste.cn\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/77665902?v=4?s=70\" width=\"70px;\" alt=\"Shao Wang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eShao Wang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Electronic-Waste\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://blog.thrimbda.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/15231162?v=4?s=70\" width=\"70px;\" alt=\"Siyuan Wang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSiyuan Wang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Thrimbda\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#infra-Thrimbda\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-Thrimbda\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://suyan.moe\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/24221472?v=4?s=70\" width=\"70px;\" alt=\"Suyan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSuyan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=suyanhanx\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://myfra.vercel.app\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/60420319?v=4?s=70\" width=\"70px;\" alt=\"To My\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTo My\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=MyFRA\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.iam.rw\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29533246?v=4?s=70\" width=\"70px;\" alt=\"Tumushimire Yves\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTumushimire Yves\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=yvestumushimire\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://page.codespaper.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3764335?v=4?s=70\" width=\"70px;\" alt=\"Wei Zhang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWei Zhang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=zwpaper\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://weixiao-huang.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8834733?v=4?s=70\" width=\"70px;\" alt=\"Weixiao Huang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWeixiao Huang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=weixiao-huang\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.hawkingrei.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3427324?v=4?s=70\" width=\"70px;\" alt=\"Weizhen Wang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWeizhen Wang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=hawkingrei\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://blog.xuruowei.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18398013?v=4?s=70\" width=\"70px;\" alt=\"XRW\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eXRW\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Xuruowei\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jiayouxujin\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29749249?v=4?s=70\" width=\"70px;\" alt=\"Xu Jin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eXu Jin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=jiayouxujin\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://xuanwo.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5351546?v=4?s=70\" width=\"70px;\" alt=\"Xuanwo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eXuanwo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-Xuanwo\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#design-Xuanwo\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-Xuanwo\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/pulls?q=is%3Apr+reviewed-by%3AXuanwo\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/enjoyliu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13460894?v=4?s=70\" width=\"70px;\" alt=\"Yijiang Liu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYijiang Liu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=enjoyliu\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://elon.fun/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8433465?v=4?s=70\" width=\"70px;\" alt=\"Yilong Li\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYilong Li\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=dragonly\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/issues?q=author%3Adragonly\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=dragonly\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://terrytangyuan.github.io/about/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4269898?v=4?s=70\" width=\"70px;\" alt=\"Yuan Tang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYuan Tang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=terrytangyuan\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-terrytangyuan\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=terrytangyuan\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-terrytangyuan\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://rudeigerc.dev/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18243819?v=4?s=70\" width=\"70px;\" alt=\"Yuchen Cheng\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYuchen Cheng\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/issues?q=author%3Arudeigerc\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#infra-rudeigerc\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-rudeigerc\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#tool-rudeigerc\" title=\"Tools\"\u003e🔧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://lunarwhite.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/57584831?v=4?s=70\" width=\"70px;\" alt=\"Yuedong Wu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYuedong Wu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=lunarwhite\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/yczheng0\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/21327543?v=4?s=70\" width=\"70px;\" alt=\"Yunchuan Zheng\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYunchuan Zheng\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=yczheng0\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://lizheming.top\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/9639449?v=4?s=70\" width=\"70px;\" alt=\"Zheming Li\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZheming Li\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=lizhemingi\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Xiaoaier-Z-L\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/96805673?v=4?s=70\" width=\"70px;\" alt=\"Zhenguo.Li\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZhenguo.Li\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=Xiaoaier-Z-L\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=Xiaoaier-Z-L\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://blog.triplez.cn/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16285716?v=4?s=70\" width=\"70px;\" alt=\"Zhenzhen Zhao\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZhenzhen Zhao\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-Triple-Z\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#userTesting-Triple-Z\" title=\"User Testing\"\u003e📓\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=Triple-Z\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://t.me/littlepoint\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7611700?v=4?s=70\" width=\"70px;\" alt=\"Zhizhen He\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZhizhen He\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=hezhizhen\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=hezhizhen\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/cutecutecat\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19801166?v=4?s=70\" width=\"70px;\" alt=\"cutecutecat\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ecutecutecat\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=cutecutecat\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/dqhl76\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/69136320?v=4?s=70\" width=\"70px;\" alt=\"dqhl76\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edqhl76\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=dqhl76\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=dqhl76\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://lxb1226.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/33415192?v=4?s=70\" width=\"70px;\" alt=\"heyjude\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eheyjude\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=lxb1226\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jimoosciuc\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/33337387?v=4?s=70\" width=\"70px;\" alt=\"jimoosciuc\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejimoosciuc\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#userTesting-jimoosciuc\" title=\"User Testing\"\u003e📓\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://kenwoodjw.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10386710?v=4?s=70\" width=\"70px;\" alt=\"kenwoodjw\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ekenwoodjw\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=kenwoodjw\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.hwdef.org\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13084946?v=4?s=70\" width=\"70px;\" alt=\"li mengyang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eli mengyang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=hwdef\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/aseaday\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3927355?v=4?s=70\" width=\"70px;\" alt=\"nullday\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003enullday\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-aseaday\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=aseaday\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/rrain7\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49144127?v=4?s=70\" width=\"70px;\" alt=\"rrain7\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003errain7\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=rrain7\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://tisonkun.org/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18818196?v=4?s=70\" width=\"70px;\" alt=\"tison\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etison\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=tisonkun\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://fatelei.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/961094?v=4?s=70\" width=\"70px;\" alt=\"wangxiaolei\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ewangxiaolei\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=fatelei\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sea-wyq\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22475606?v=4?s=70\" width=\"70px;\" alt=\"wyq\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ewyq\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/issues?q=author%3Asea-wyq\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#design-sea-wyq\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=sea-wyq\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://oubotong.github.io/johan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26356127?v=4?s=70\" width=\"70px;\" alt=\"x0oo0x\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ex0oo0x\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=oubotong\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/xiangtianyu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10825900?v=4?s=70\" width=\"70px;\" alt=\"xiangtianyu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003exiangtianyu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=xiangtianyu\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/xieydd\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20329697?v=4?s=70\" width=\"70px;\" alt=\"xieydd\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003exieydd\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=xieydd\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/xing0821\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/54933318?v=4?s=70\" width=\"70px;\" alt=\"xing0821\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003exing0821\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-xing0821\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#userTesting-xing0821\" title=\"User Testing\"\u003e📓\u003c/a\u003e \u003ca href=\"https://github.com/tensorchord/envd/commits?author=xing0821\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://xxchan.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37948597?v=4?s=70\" width=\"70px;\" alt=\"xxchan\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003exxchan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=xxchan\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://blogs.zhangwei.asia\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26432832?v=4?s=70\" width=\"70px;\" alt=\"zhang-wei\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ezhang-wei\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=arugal\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/zhyon404\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/32242529?v=4?s=70\" width=\"70px;\" alt=\"zhyon404\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ezhyon404\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=zhyon404\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.homeboyc.cn/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22193008?v=4?s=70\" width=\"70px;\" alt=\"杨成锴\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e杨成锴\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/tensorchord/envd/commits?author=asjdf\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## License 📋\n\n[Apache 2.0](./LICENSE)\n\n\u003ca href=\"https://trackgit.com\"\u003e\u003cimg src=\"https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/l3ldvdaswvnjpty9u7l3\" alt=\"trackgit-views\" /\u003e\u003c/a\u003e\n","funding_links":[],"categories":["Go","The Data Science Toolbox","Experimentation","IDEs and Workspaces","Model Training and Orchestration","其他_机器学习与深度学习","Training","mlops","Machine Learning Platform","Users","Agent Integration \u0026 Deployment Tools"],"sub_categories":["Miscellaneous Tools","NLP","Synthetic Data","IDEs and Workspaces","AI Developer Toolkit"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftensorchord%2Fenvd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftensorchord%2Fenvd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftensorchord%2Fenvd/lists"}