envd 1.1.0__tar.gz → 1.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of envd might be problematic. Click here for more details.

Files changed (260) hide show
  1. envd-1.2.0/.GIT_TAG_INFO +1 -0
  2. {envd-1.1.0 → envd-1.2.0}/CHANGELOG.md +9 -0
  3. {envd-1.1.0 → envd-1.2.0}/PKG-INFO +1 -1
  4. {envd-1.1.0 → envd-1.2.0}/envd.egg-info/PKG-INFO +1 -1
  5. {envd-1.1.0 → envd-1.2.0}/go.mod +1 -1
  6. {envd-1.1.0 → envd-1.2.0}/go.sum +2 -2
  7. {envd-1.1.0 → envd-1.2.0}/pkg/app/new.go +38 -28
  8. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/compile.go +1 -1
  9. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/conda.go +1 -1
  10. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/get_conda.sh +3 -3
  11. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/shell.go +7 -3
  12. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/system.go +0 -2
  13. {envd-1.1.0 → envd-1.2.0}/pkg/types/envd.go +2 -2
  14. envd-1.1.0/.GIT_TAG_INFO +0 -1
  15. {envd-1.1.0 → envd-1.2.0}/.all-contributorsrc +0 -0
  16. {envd-1.1.0 → envd-1.2.0}/.editorconfig +0 -0
  17. {envd-1.1.0 → envd-1.2.0}/.gitignore +0 -0
  18. {envd-1.1.0 → envd-1.2.0}/.golangci.yml +0 -0
  19. {envd-1.1.0 → envd-1.2.0}/.goreleaser.yaml +0 -0
  20. {envd-1.1.0 → envd-1.2.0}/.lycheeignore +0 -0
  21. {envd-1.1.0 → envd-1.2.0}/.pre-commit-config.yaml +0 -0
  22. {envd-1.1.0 → envd-1.2.0}/.vscode/launch.json +0 -0
  23. {envd-1.1.0 → envd-1.2.0}/CODEOWNERS +0 -0
  24. {envd-1.1.0 → envd-1.2.0}/CODE_OF_CONDUCT.md +0 -0
  25. {envd-1.1.0 → envd-1.2.0}/LICENSE +0 -0
  26. {envd-1.1.0 → envd-1.2.0}/MANIFEST.in +0 -0
  27. {envd-1.1.0 → envd-1.2.0}/Makefile +0 -0
  28. {envd-1.1.0 → envd-1.2.0}/OWNERS +0 -0
  29. {envd-1.1.0 → envd-1.2.0}/README.md +0 -0
  30. {envd-1.1.0 → envd-1.2.0}/base-images/envd/build.sh +0 -0
  31. {envd-1.1.0 → envd-1.2.0}/base-images/envd/envd-daemonless.Dockerfile +0 -0
  32. {envd-1.1.0 → envd-1.2.0}/base-images/envd/envd.Dockerfile +0 -0
  33. {envd-1.1.0 → envd-1.2.0}/base-images/envd-sshd/envd-sshd.Dockerfile +0 -0
  34. {envd-1.1.0 → envd-1.2.0}/base-images/envd-starship/envd-starship.Dockerfile +0 -0
  35. {envd-1.1.0 → envd-1.2.0}/base-images/remote-cache/build-and-push-remote-cache.sh +0 -0
  36. {envd-1.1.0 → envd-1.2.0}/base-images/remote-cache/build.envd +0 -0
  37. {envd-1.1.0 → envd-1.2.0}/cmd/envd/main.go +0 -0
  38. {envd-1.1.0 → envd-1.2.0}/cmd/envd-sshd/main.go +0 -0
  39. {envd-1.1.0 → envd-1.2.0}/envd/api/v0/__init__.py +0 -0
  40. {envd-1.1.0 → envd-1.2.0}/envd/api/v0/config.py +0 -0
  41. {envd-1.1.0 → envd-1.2.0}/envd/api/v0/install.py +0 -0
  42. {envd-1.1.0 → envd-1.2.0}/envd/api/v0/io.py +0 -0
  43. {envd-1.1.0 → envd-1.2.0}/envd/api/v0/runtime.py +0 -0
  44. {envd-1.1.0 → envd-1.2.0}/envd/api/v1/__init__.py +0 -0
  45. {envd-1.1.0 → envd-1.2.0}/envd/api/v1/config.py +0 -0
  46. {envd-1.1.0 → envd-1.2.0}/envd/api/v1/install.py +0 -0
  47. {envd-1.1.0 → envd-1.2.0}/envd/api/v1/io.py +0 -0
  48. {envd-1.1.0 → envd-1.2.0}/envd/api/v1/runtime.py +0 -0
  49. {envd-1.1.0 → envd-1.2.0}/envd/api.go +0 -0
  50. {envd-1.1.0 → envd-1.2.0}/envd.egg-info/SOURCES.txt +0 -0
  51. {envd-1.1.0 → envd-1.2.0}/envd.egg-info/dependency_links.txt +0 -0
  52. {envd-1.1.0 → envd-1.2.0}/envd.egg-info/not-zip-safe +0 -0
  53. {envd-1.1.0 → envd-1.2.0}/envd.egg-info/top_level.txt +0 -0
  54. {envd-1.1.0 → envd-1.2.0}/lychee.toml +0 -0
  55. {envd-1.1.0 → envd-1.2.0}/pkg/app/app.go +0 -0
  56. {envd-1.1.0 → envd-1.2.0}/pkg/app/bootstrap.go +0 -0
  57. {envd-1.1.0 → envd-1.2.0}/pkg/app/build/build.go +0 -0
  58. {envd-1.1.0 → envd-1.2.0}/pkg/app/build.go +0 -0
  59. {envd-1.1.0 → envd-1.2.0}/pkg/app/completion.go +0 -0
  60. {envd-1.1.0 → envd-1.2.0}/pkg/app/const.go +0 -0
  61. {envd-1.1.0 → envd-1.2.0}/pkg/app/context.go +0 -0
  62. {envd-1.1.0 → envd-1.2.0}/pkg/app/context_create.go +0 -0
  63. {envd-1.1.0 → envd-1.2.0}/pkg/app/context_ls.go +0 -0
  64. {envd-1.1.0 → envd-1.2.0}/pkg/app/context_rm.go +0 -0
  65. {envd-1.1.0 → envd-1.2.0}/pkg/app/context_use.go +0 -0
  66. {envd-1.1.0 → envd-1.2.0}/pkg/app/debug.go +0 -0
  67. {envd-1.1.0 → envd-1.2.0}/pkg/app/debug_llb.go +0 -0
  68. {envd-1.1.0 → envd-1.2.0}/pkg/app/destroy.go +0 -0
  69. {envd-1.1.0 → envd-1.2.0}/pkg/app/env.go +0 -0
  70. {envd-1.1.0 → envd-1.2.0}/pkg/app/env_describe.go +0 -0
  71. {envd-1.1.0 → envd-1.2.0}/pkg/app/env_ls.go +0 -0
  72. {envd-1.1.0 → envd-1.2.0}/pkg/app/exec.go +0 -0
  73. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/data.go +0 -0
  74. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/context.go +0 -0
  75. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/env.go +0 -0
  76. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/image.go +0 -0
  77. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/print.go +0 -0
  78. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/json/version.go +0 -0
  79. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/context.go +0 -0
  80. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/env.go +0 -0
  81. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/image.go +0 -0
  82. {envd-1.1.0 → envd-1.2.0}/pkg/app/formatter/table/version.go +0 -0
  83. {envd-1.1.0 → envd-1.2.0}/pkg/app/image.go +0 -0
  84. {envd-1.1.0 → envd-1.2.0}/pkg/app/image_describe.go +0 -0
  85. {envd-1.1.0 → envd-1.2.0}/pkg/app/image_prune.go +0 -0
  86. {envd-1.1.0 → envd-1.2.0}/pkg/app/image_prune_test.go +0 -0
  87. {envd-1.1.0 → envd-1.2.0}/pkg/app/image_remove.go +0 -0
  88. {envd-1.1.0 → envd-1.2.0}/pkg/app/init.go +0 -0
  89. {envd-1.1.0 → envd-1.2.0}/pkg/app/interactive.go +0 -0
  90. {envd-1.1.0 → envd-1.2.0}/pkg/app/login.go +0 -0
  91. {envd-1.1.0 → envd-1.2.0}/pkg/app/pause.go +0 -0
  92. {envd-1.1.0 → envd-1.2.0}/pkg/app/prune.go +0 -0
  93. {envd-1.1.0 → envd-1.2.0}/pkg/app/reference.go +0 -0
  94. {envd-1.1.0 → envd-1.2.0}/pkg/app/resume.go +0 -0
  95. {envd-1.1.0 → envd-1.2.0}/pkg/app/run.go +0 -0
  96. {envd-1.1.0 → envd-1.2.0}/pkg/app/telemetry/reporter.go +0 -0
  97. {envd-1.1.0 → envd-1.2.0}/pkg/app/template/conda.envd +0 -0
  98. {envd-1.1.0 → envd-1.2.0}/pkg/app/template/torch.envd +0 -0
  99. {envd-1.1.0 → envd-1.2.0}/pkg/app/template/uv.envd +0 -0
  100. {envd-1.1.0 → envd-1.2.0}/pkg/app/top.go +0 -0
  101. {envd-1.1.0 → envd-1.2.0}/pkg/app/up.go +0 -0
  102. {envd-1.1.0 → envd-1.2.0}/pkg/app/version.go +0 -0
  103. {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/bash.go +0 -0
  104. {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/fish.go +0 -0
  105. {envd-1.1.0 → envd-1.2.0}/pkg/autocomplete/zsh.go +0 -0
  106. {envd-1.1.0 → envd-1.2.0}/pkg/builder/build.go +0 -0
  107. {envd-1.1.0 → envd-1.2.0}/pkg/builder/build_func.go +0 -0
  108. {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder.go +0 -0
  109. {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder_suite_test.go +0 -0
  110. {envd-1.1.0 → envd-1.2.0}/pkg/builder/builder_test.go +0 -0
  111. {envd-1.1.0 → envd-1.2.0}/pkg/builder/dep_check.go +0 -0
  112. {envd-1.1.0 → envd-1.2.0}/pkg/builder/err.go +0 -0
  113. {envd-1.1.0 → envd-1.2.0}/pkg/builder/types.go +0 -0
  114. {envd-1.1.0 → envd-1.2.0}/pkg/builder/util.go +0 -0
  115. {envd-1.1.0 → envd-1.2.0}/pkg/builder/util_test.go +0 -0
  116. {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/buildkitd.go +0 -0
  117. {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/mock/mock.go +0 -0
  118. {envd-1.1.0 → envd-1.2.0}/pkg/buildkitd/print.go +0 -0
  119. {envd-1.1.0 → envd-1.2.0}/pkg/config/config.go +0 -0
  120. {envd-1.1.0 → envd-1.2.0}/pkg/data/datasource.go +0 -0
  121. {envd-1.1.0 → envd-1.2.0}/pkg/data/envd.go +0 -0
  122. {envd-1.1.0 → envd-1.2.0}/pkg/driver/client.go +0 -0
  123. {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker.go +0 -0
  124. {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker_suite_test.go +0 -0
  125. {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/docker_test.go +0 -0
  126. {envd-1.1.0 → envd-1.2.0}/pkg/driver/docker/label.go +0 -0
  127. {envd-1.1.0 → envd-1.2.0}/pkg/driver/nerdctl/buildkit.go +0 -0
  128. {envd-1.1.0 → envd-1.2.0}/pkg/driver/nerdctl/nerdctl.go +0 -0
  129. {envd-1.1.0 → envd-1.2.0}/pkg/driver/stats_type.go +0 -0
  130. {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/types.go +0 -0
  131. {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/util.go +0 -0
  132. {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode.go +0 -0
  133. {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode_suite_test.go +0 -0
  134. {envd-1.1.0 → envd-1.2.0}/pkg/editor/vscode/vscode_test.go +0 -0
  135. {envd-1.1.0 → envd-1.2.0}/pkg/envd/docker.go +0 -0
  136. {envd-1.1.0 → envd-1.2.0}/pkg/envd/docker_test.go +0 -0
  137. {envd-1.1.0 → envd-1.2.0}/pkg/envd/engine.go +0 -0
  138. {envd-1.1.0 → envd-1.2.0}/pkg/envd/envdserver.go +0 -0
  139. {envd-1.1.0 → envd-1.2.0}/pkg/envd/factory.go +0 -0
  140. {envd-1.1.0 → envd-1.2.0}/pkg/envd/types.go +0 -0
  141. {envd-1.1.0 → envd-1.2.0}/pkg/flag/consts.go +0 -0
  142. {envd-1.1.0 → envd-1.2.0}/pkg/home/auth.go +0 -0
  143. {envd-1.1.0 → envd-1.2.0}/pkg/home/auth_test.go +0 -0
  144. {envd-1.1.0 → envd-1.2.0}/pkg/home/cache.go +0 -0
  145. {envd-1.1.0 → envd-1.2.0}/pkg/home/config.go +0 -0
  146. {envd-1.1.0 → envd-1.2.0}/pkg/home/context.go +0 -0
  147. {envd-1.1.0 → envd-1.2.0}/pkg/home/context_test.go +0 -0
  148. {envd-1.1.0 → envd-1.2.0}/pkg/home/data.go +0 -0
  149. {envd-1.1.0 → envd-1.2.0}/pkg/home/home_suite_test.go +0 -0
  150. {envd-1.1.0 → envd-1.2.0}/pkg/home/manager.go +0 -0
  151. {envd-1.1.0 → envd-1.2.0}/pkg/home/manager_test.go +0 -0
  152. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/interpreter.go +0 -0
  153. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/mock/mock.go +0 -0
  154. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/builtin/builtin.go +0 -0
  155. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/config/config.go +0 -0
  156. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/config/const.go +0 -0
  157. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/const.go +0 -0
  158. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/rule.go +0 -0
  159. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/data/util.go +0 -0
  160. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/install/const.go +0 -0
  161. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/install/install.go +0 -0
  162. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/interpreter.go +0 -0
  163. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/interpreter_test.go +0 -0
  164. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/io/const.go +0 -0
  165. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/io/io.go +0 -0
  166. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/runtime/const.go +0 -0
  167. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/runtime/runtime.go +0 -0
  168. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/starlark_suite_test.go +0 -0
  169. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/testdata/test.envd +0 -0
  170. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/universe/const.go +0 -0
  171. {envd-1.1.0 → envd-1.2.0}/pkg/lang/frontend/starlark/v1/universe/universe.go +0 -0
  172. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/graph.go +0 -0
  173. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/types.go +0 -0
  174. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/util.go +0 -0
  175. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/cache.go +0 -0
  176. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/checker.go +0 -0
  177. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/consts.go +0 -0
  178. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/editor.go +0 -0
  179. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/editor_test.go +0 -0
  180. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/fs.go +0 -0
  181. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/git.go +0 -0
  182. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/install_conda.sh +0 -0
  183. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/interface.go +0 -0
  184. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/julia.go +0 -0
  185. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/julia.sh +0 -0
  186. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/python.go +0 -0
  187. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/r.go +0 -0
  188. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/supervisor.go +0 -0
  189. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/types.go +0 -0
  190. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/user.go +0 -0
  191. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/util.go +0 -0
  192. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/util_test.go +0 -0
  193. {envd-1.1.0 → envd-1.2.0}/pkg/lang/ir/v1/uv.go +0 -0
  194. {envd-1.1.0 → envd-1.2.0}/pkg/lang/version/version.go +0 -0
  195. {envd-1.1.0 → envd-1.2.0}/pkg/metrics/collector.go +0 -0
  196. {envd-1.1.0 → envd-1.2.0}/pkg/metrics/docker_collector.go +0 -0
  197. {envd-1.1.0 → envd-1.2.0}/pkg/metrics/helper.go +0 -0
  198. {envd-1.1.0 → envd-1.2.0}/pkg/metrics/model.go +0 -0
  199. {envd-1.1.0 → envd-1.2.0}/pkg/metrics/widget.go +0 -0
  200. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/display.go +0 -0
  201. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/mock/mock.go +0 -0
  202. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/term.go +0 -0
  203. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/term_windows.go +0 -0
  204. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/trace.go +0 -0
  205. {envd-1.1.0 → envd-1.2.0}/pkg/progress/compileui/types.go +0 -0
  206. {envd-1.1.0 → envd-1.2.0}/pkg/progress/mode/mode.go +0 -0
  207. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/display.go +0 -0
  208. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/display_test.go +0 -0
  209. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/printer.go +0 -0
  210. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/term.go +0 -0
  211. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progressui/term_windows.go +0 -0
  212. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progresswriter/printer.go +0 -0
  213. {envd-1.1.0 → envd-1.2.0}/pkg/progress/progresswriter/writer.go +0 -0
  214. {envd-1.1.0 → envd-1.2.0}/pkg/remote/sshd/os.go +0 -0
  215. {envd-1.1.0 → envd-1.2.0}/pkg/remote/sshd/sshd.go +0 -0
  216. {envd-1.1.0 → envd-1.2.0}/pkg/shell/install.sh +0 -0
  217. {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh.go +0 -0
  218. {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh_suite_test.go +0 -0
  219. {envd-1.1.0 → envd-1.2.0}/pkg/shell/zsh_test.go +0 -0
  220. {envd-1.1.0 → envd-1.2.0}/pkg/shell/zshrc +0 -0
  221. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/entry.go +0 -0
  222. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/key.go +0 -0
  223. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config.go +0 -0
  224. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config_suite_test.go +0 -0
  225. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/config/ssh_config_test.go +0 -0
  226. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/copy.go +0 -0
  227. {envd-1.1.0 → envd-1.2.0}/pkg/ssh/ssh.go +0 -0
  228. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/client.go +0 -0
  229. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/config.go +0 -0
  230. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/device.go +0 -0
  231. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/event.go +0 -0
  232. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/file.go +0 -0
  233. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/folder.go +0 -0
  234. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/install.go +0 -0
  235. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/syncthing.go +0 -0
  236. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/syncthing_test.go +0 -0
  237. {envd-1.1.0 → envd-1.2.0}/pkg/syncthing/util.go +0 -0
  238. {envd-1.1.0 → envd-1.2.0}/pkg/types/container.go +0 -0
  239. {envd-1.1.0 → envd-1.2.0}/pkg/types/label.go +0 -0
  240. {envd-1.1.0 → envd-1.2.0}/pkg/types/types_suite_test.go +0 -0
  241. {envd-1.1.0 → envd-1.2.0}/pkg/util/buildkitutil/buildkit.go +0 -0
  242. {envd-1.1.0 → envd-1.2.0}/pkg/util/buildkitutil/buildkit_test.go +0 -0
  243. {envd-1.1.0 → envd-1.2.0}/pkg/util/envutil/env.go +0 -0
  244. {envd-1.1.0 → envd-1.2.0}/pkg/util/envutil/env_test.go +0 -0
  245. {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/file.go +0 -0
  246. {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/file_test.go +0 -0
  247. {envd-1.1.0 → envd-1.2.0}/pkg/util/fileutil/namegenerator.go +0 -0
  248. {envd-1.1.0 → envd-1.2.0}/pkg/util/netutil/netutil.go +0 -0
  249. {envd-1.1.0 → envd-1.2.0}/pkg/util/netutil/netutil_test.go +0 -0
  250. {envd-1.1.0 → envd-1.2.0}/pkg/util/osutil/wsl.go +0 -0
  251. {envd-1.1.0 → envd-1.2.0}/pkg/util/runtimeutil/runtimeutil.go +0 -0
  252. {envd-1.1.0 → envd-1.2.0}/pkg/util/starlarkutil/stringslice.go +0 -0
  253. {envd-1.1.0 → envd-1.2.0}/pkg/util/starlarkutil/stringslice_test.go +0 -0
  254. {envd-1.1.0 → envd-1.2.0}/pkg/util/ziputil/unzip.go +0 -0
  255. {envd-1.1.0 → envd-1.2.0}/pkg/version/version.go +0 -0
  256. {envd-1.1.0 → envd-1.2.0}/pyproject.toml +0 -0
  257. {envd-1.1.0 → envd-1.2.0}/scripts/envd-daemonless.sh +0 -0
  258. {envd-1.1.0 → envd-1.2.0}/setup.cfg +0 -0
  259. {envd-1.1.0 → envd-1.2.0}/setup.py +0 -0
  260. {envd-1.1.0 → envd-1.2.0}/typos.toml +0 -0
@@ -0,0 +1 @@
1
+ v1.2.0
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.1.0 (2025-03-10)
4
+
5
+ * [207c30e](https://github.com/tensorchord/envd/commit/207c30ee9556bb6915996166507fbc81ec26309a) feat: add pre-defined envd template (#1991)
6
+ * [1089f98](https://github.com/tensorchord/envd/commit/1089f98474ca85f453c90366acecf9f6a505aad0) feat: support uv (#1990)
7
+
8
+ ### Contributors
9
+
10
+ * Keming
11
+
3
12
  ## v1.0.1 (2025-02-17)
4
13
 
5
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: envd
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: A development environment management tool for data scientists.
5
5
  Home-page: https://github.com/tensorchord/envd
6
6
  Author: TensorChord
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: envd
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: A development environment management tool for data scientists.
5
5
  Home-page: https://github.com/tensorchord/envd
6
6
  Author: TensorChord
@@ -83,7 +83,7 @@ require (
83
83
  github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
84
84
  github.com/cockroachdb/redact v1.1.6 // indirect
85
85
  github.com/containerd/containerd/api v1.8.0 // indirect
86
- github.com/containerd/containerd/v2 v2.0.3 // indirect
86
+ github.com/containerd/containerd/v2 v2.0.4 // indirect
87
87
  github.com/containerd/continuity v0.4.5 // indirect
88
88
  github.com/containerd/errdefs v1.0.0 // indirect
89
89
  github.com/containerd/errdefs/pkg v0.3.0 // indirect
@@ -748,8 +748,8 @@ github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMX
748
748
  github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
749
749
  github.com/containerd/containerd/api v1.8.0 h1:hVTNJKR8fMc/2Tiw60ZRijntNMd1U+JVMyTRdsD2bS0=
750
750
  github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc=
751
- github.com/containerd/containerd/v2 v2.0.3 h1:zBKgwgZsuu+LPCMzCLgA4sC4MiZzZ59ZT31XkmiISQM=
752
- github.com/containerd/containerd/v2 v2.0.3/go.mod h1:5j9QUUaV/cy9ZeAx4S+8n9ffpf+iYnEj4jiExgcbuLY=
751
+ github.com/containerd/containerd/v2 v2.0.4 h1:+r7yJMwhTfMm3CDyiBjMBQO8a9CTBxL2Bg/JtqtIwB8=
752
+ github.com/containerd/containerd/v2 v2.0.4/go.mod h1:5j9QUUaV/cy9ZeAx4S+8n9ffpf+iYnEj4jiExgcbuLY=
753
753
  github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
754
754
  github.com/containerd/continuity v0.0.0-20200928162600-f2cc35102c2a/go.mod h1:W0qIOTD7mp2He++YVq+kgfXezRYqzP1uDuMVH1bITDY=
755
755
  github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4=
@@ -15,7 +15,7 @@
15
15
  package app
16
16
 
17
17
  import (
18
- _ "embed"
18
+ "embed"
19
19
  "fmt"
20
20
  "os"
21
21
  "path/filepath"
@@ -29,31 +29,41 @@ import (
29
29
  )
30
30
 
31
31
  var (
32
- //go:embed template/uv.envd
33
- templateUV string
34
- //go:embed template/conda.envd
35
- templateConda string
36
- //go:embed template/torch.envd
37
- templateTorch string
38
-
39
- templates = map[string]string{
40
- "uv": templateUV,
41
- "conda": templateConda,
42
- "torch": templateTorch,
43
- }
32
+ //go:embed template/*.envd
33
+ envdTemplateDir embed.FS
34
+ defaultEnvdTemplates []EnvdTemplate
44
35
  )
45
36
 
46
- func joinKeysToString(table map[string]string) string {
47
- keys := make([]string, 0, len(table))
48
- for k := range table {
49
- keys = append(keys, k)
37
+ type EnvdTemplate struct {
38
+ name string
39
+ content []byte
40
+ }
41
+
42
+ func init() {
43
+ entries, err := envdTemplateDir.ReadDir("template")
44
+ if err != nil {
45
+ panic(errors.Wrap(err, "failed to read template directory"))
46
+ }
47
+ for _, entry := range entries {
48
+ if entry.IsDir() {
49
+ continue
50
+ }
51
+ name := strings.TrimSuffix(entry.Name(), ".envd")
52
+ content, err := envdTemplateDir.ReadFile(filepath.Join("template", entry.Name()))
53
+ if err != nil {
54
+ panic(errors.Wrapf(err, "failed to read template file: %s", entry.Name()))
55
+ }
56
+ defaultEnvdTemplates = append(defaultEnvdTemplates, EnvdTemplate{name: name, content: content})
50
57
  }
51
- return strings.Join(keys, ", ")
52
58
  }
53
59
 
54
60
  func isDefaultTemplate(name string) bool {
55
- _, ok := templates[name]
56
- return ok
61
+ for _, template := range defaultEnvdTemplates {
62
+ if template.name == name {
63
+ return true
64
+ }
65
+ }
66
+ return false
57
67
  }
58
68
 
59
69
  var CommandNew = &cli.Command{
@@ -67,7 +77,7 @@ var CommandNew = &cli.Command{
67
77
  Flags: []cli.Flag{
68
78
  &cli.StringFlag{
69
79
  Name: "template",
70
- Usage: fmt.Sprintf("Template name to use (`envd bootstrap` will add [%s])", joinKeysToString(templates)),
80
+ Usage: "Template name to use (`envd bootstrap` will add some default templates to '$HOME/.config/envd/templates')",
71
81
  Aliases: []string{"t"},
72
82
  Required: true,
73
83
  },
@@ -136,24 +146,24 @@ func newCommand(clicontext *cli.Context) error {
136
146
  }
137
147
 
138
148
  func addTemplates(clicontext *cli.Context) error {
139
- for name, content := range templates {
140
- file, err := fileutil.TemplateFile(name + ".envd")
149
+ for _, template := range defaultEnvdTemplates {
150
+ file, err := fileutil.TemplateFile(template.name + ".envd")
141
151
  if err != nil {
142
- return errors.Wrapf(err, "failed to get template file path: %s", name)
152
+ return errors.Wrapf(err, "failed to get template file path: %s", template.name)
143
153
  }
144
154
  exist, err := fileutil.FileExists(file)
145
155
  if err != nil {
146
156
  return errors.Wrapf(err, "failed to check file exists: %s", file)
147
157
  }
148
158
  if exist {
149
- logrus.Debugf("Template file `%s` already exists in `%s`", name, file)
159
+ logrus.Debugf("Template file `%s` already exists in `%s`", template.name, file)
150
160
  continue
151
161
  }
152
- err = os.WriteFile(file, []byte(content), 0644)
162
+ err = os.WriteFile(file, template.content, 0644)
153
163
  if err != nil {
154
- return errors.Wrapf(err, "failed to write template file: %s", name)
164
+ return errors.Wrapf(err, "failed to write template file: %s", template.name)
155
165
  }
156
- logrus.Debugf("Template file `%s` is added to `%s`", name, file)
166
+ logrus.Debugf("Template file `%s` is added to `%s`", template.name, file)
157
167
  }
158
168
 
159
169
  return nil
@@ -162,7 +162,7 @@ func (g *generalGraph) Compile(ctx context.Context, envPath string, pub string,
162
162
 
163
163
  func (g generalGraph) GetEnviron() []string {
164
164
  return append(g.EnvString(),
165
- "LC_ALL=en_US.UTF-8",
165
+ "LC_ALL=C.UTF-8",
166
166
  "LANG=C.UTF-8",
167
167
  )
168
168
  }
@@ -29,7 +29,7 @@ import (
29
29
 
30
30
  const (
31
31
  builderImage = "curlimages/curl:8.11.1"
32
- condaVersionDefault = "py311_24.11.1-0"
32
+ condaVersionDefault = "py311_25.1.1-2"
33
33
  microMambaImage = "mambaorg/micromamba:2.0.6"
34
34
  condaRootPrefix = "/opt/conda"
35
35
  condaBinDir = "/opt/conda/bin"
@@ -2,13 +2,13 @@ set -euo pipefail && \
2
2
  UNAME_M="$(uname -m)" && \
3
3
  if [ "${UNAME_M}" = "x86_64" ]; then \
4
4
  MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh"; \
5
- SHA256SUM="807774bae6cd87132094458217ebf713df436f64779faf9bb4c3d4b6615c1e3a"; \
5
+ SHA256SUM="d8c1645776c0758214e4191c605abe5878002051316bd423f2b14b22d6cb4251"; \
6
6
  elif [ "${UNAME_M}" = "s390x" ]; then \
7
7
  MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-s390x.sh"; \
8
- SHA256SUM="bb499b18dbcbb2d89b22f91fe26fe661f5ed1f1944fdc743560d69cd52a2468f"; \
8
+ SHA256SUM="0b4d5a3f16dcb2d230ba5dfdfdb848c854006aab6dd1bd3dbf29fcddf04b07a4"; \
9
9
  elif [ "${UNAME_M}" = "aarch64" ]; then \
10
10
  MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh"; \
11
- SHA256SUM="a8846ade7a5ddd9b6a6546590054d70d1c2cbe4fbe8c79fb70227e8fd93ef9f8"; \
11
+ SHA256SUM="8a1d4407fce7ec552ac6ed655ce93d83549e02b819cacefbb7f640f9051e638b"; \
12
12
  fi && \
13
13
  wget "${MINICONDA_URL}" -O /tmp/miniconda.sh && \
14
14
  echo "${SHA256SUM} /tmp/miniconda.sh" > /tmp/shasum && \
@@ -15,6 +15,8 @@
15
15
  package v1
16
16
 
17
17
  import (
18
+ "fmt"
19
+
18
20
  "github.com/cockroachdb/errors"
19
21
  "github.com/moby/buildkit/client/llb"
20
22
 
@@ -54,7 +56,8 @@ renamed = "r"
54
56
  deleted = "x"
55
57
  `
56
58
 
57
- fishVersion = "4.0b1"
59
+ fishVersion = "4.0.1"
60
+ fishAssetURL = "https://github.com/fish-shell/fish-shell/releases/download/%[1]s/fish-static-$(uname -m)-%[1]s.tar.xz"
58
61
  )
59
62
 
60
63
  func (g *generalGraph) compileShell(root llb.State) (_ llb.State, err error) {
@@ -142,14 +145,15 @@ func (g generalGraph) compileZSH(root llb.State) (llb.State, error) {
142
145
 
143
146
  func (g generalGraph) compileFish(root llb.State) llb.State {
144
147
  base := llb.Image(builderImage)
148
+ url := fmt.Sprintf(fishAssetURL, fishVersion)
145
149
  builder := base.Run(
146
- llb.Shlexf(`sh -c "wget -qO- https://github.com/fish-shell/fish-shell/releases/download/%s/fish-static-linux-$(uname -m).tar.xz | tar -xJf - -C /tmp || exit 1"`, fishVersion),
150
+ llb.Shlexf(`sh -c "wget -qO- %s | tar -xJf - -C /tmp || exit 1"`, url),
147
151
  llb.WithCustomName("[internal] download fish shell"),
148
152
  ).Root()
149
153
  root = root.File(
150
154
  llb.Copy(builder, "/tmp/fish", "/usr/bin/fish"),
151
155
  llb.WithCustomName("[internal] copy fish shell from the builder image")).
152
- Run(llb.Shlex("fish --install"),
156
+ Run(llb.Shlex(`sh -c "echo yes | fish --install"`),
153
157
  llb.WithCustomName("[internal] install fish shell")).Root()
154
158
 
155
159
  return root
@@ -226,8 +226,6 @@ func (g *generalGraph) compileDevPackages(root llb.State) llb.State {
226
226
  sb.WriteString("apt-get install -y --no-install-recommends --no-install-suggests --fix-missing ")
227
227
  sb.WriteString(strings.Join(types.BaseAptPackage, " "))
228
228
  sb.WriteString("&& rm -rf /var/lib/apt/lists/* ")
229
- // shell prompt
230
- sb.WriteString("&& locale-gen en_US.UTF-8")
231
229
 
232
230
  run := root.Run(llb.Shlexf(`bash -c "%s"`, sb.String()),
233
231
  llb.WithCustomName("[internal] install built-in packages"))
@@ -55,8 +55,8 @@ var BaseEnvironment = []struct {
55
55
  }{
56
56
  {"DEBIAN_FRONTEND", "noninteractive"},
57
57
  {"PATH", DefaultSystemPath},
58
- {"LANG", "en_US.UTF-8"},
59
- {"LC_ALL", "en_US.UTF-8"},
58
+ {"LANG", "C.UTF-8"},
59
+ {"LC_ALL", "C.UTF-8"},
60
60
  }
61
61
  var BaseAptPackage = []string{
62
62
  "bash-static",
envd-1.1.0/.GIT_TAG_INFO DELETED
@@ -1 +0,0 @@
1
- v1.1.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes