envd 0.3.47__tar.gz → 0.4.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 (302) hide show
  1. envd-0.4.0/.GIT_TAG_INFO +1 -0
  2. {envd-0.3.47 → envd-0.4.0}/CHANGELOG.md +21 -0
  3. {envd-0.3.47 → envd-0.4.0}/PKG-INFO +11 -12
  4. {envd-0.3.47 → envd-0.4.0}/README.md +8 -8
  5. {envd-0.3.47 → envd-0.4.0}/base-images/build.sh +1 -1
  6. {envd-0.3.47 → envd-0.4.0}/base-images/julia1.8rc1-ubuntu20.04.Dockerfile +1 -1
  7. {envd-0.3.47 → envd-0.4.0}/base-images/remote-cache/build.envd +4 -4
  8. {envd-0.3.47 → envd-0.4.0}/envd/api/v0/__init__.py +3 -3
  9. {envd-0.3.47 → envd-0.4.0}/envd/api/v0/config.py +1 -1
  10. {envd-0.3.47 → envd-0.4.0}/envd/api/v1/__init__.py +2 -2
  11. {envd-0.3.47 → envd-0.4.0}/envd/api/v1/config.py +1 -1
  12. {envd-0.3.47 → envd-0.4.0}/envd/api/v1/install.py +2 -2
  13. {envd-0.3.47 → envd-0.4.0}/envd.egg-info/PKG-INFO +11 -12
  14. {envd-0.3.47 → envd-0.4.0}/go.mod +4 -4
  15. {envd-0.3.47 → envd-0.4.0}/go.sum +8 -8
  16. {envd-0.3.47 → envd-0.4.0}/pkg/app/interactive.go +1 -1
  17. {envd-0.3.47 → envd-0.4.0}/pkg/app/template/julia.envd +2 -2
  18. {envd-0.3.47 → envd-0.4.0}/pkg/app/template/r.envd +2 -2
  19. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/interpreter_test.go +1 -1
  20. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/testdata/test.envd +1 -1
  21. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/conda.go +1 -1
  22. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/consts.go +1 -1
  23. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/install-conda.sh +3 -6
  24. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/python.go +1 -1
  25. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/system.go +1 -1
  26. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/conda.go +17 -4
  27. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/consts.go +1 -1
  28. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/get_conda.sh +3 -6
  29. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/interface.go +1 -1
  30. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/python.go +1 -1
  31. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/shell.go +29 -1
  32. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/types.go +1 -0
  33. {envd-0.3.47 → envd-0.4.0}/pkg/types/envd.go +1 -1
  34. {envd-0.3.47 → envd-0.4.0}/setup.py +2 -3
  35. envd-0.3.47/.GIT_TAG_INFO +0 -1
  36. {envd-0.3.47 → envd-0.4.0}/.all-contributorsrc +0 -0
  37. {envd-0.3.47 → envd-0.4.0}/.editorconfig +0 -0
  38. {envd-0.3.47 → envd-0.4.0}/.gitignore +0 -0
  39. {envd-0.3.47 → envd-0.4.0}/.golangci.yml +0 -0
  40. {envd-0.3.47 → envd-0.4.0}/.goreleaser.yaml +0 -0
  41. {envd-0.3.47 → envd-0.4.0}/.lycheeignore +0 -0
  42. {envd-0.3.47 → envd-0.4.0}/.pre-commit-config.yaml +0 -0
  43. {envd-0.3.47 → envd-0.4.0}/.vscode/launch.json +0 -0
  44. {envd-0.3.47 → envd-0.4.0}/CODEOWNERS +0 -0
  45. {envd-0.3.47 → envd-0.4.0}/CODE_OF_CONDUCT.md +0 -0
  46. {envd-0.3.47 → envd-0.4.0}/LICENSE +0 -0
  47. {envd-0.3.47 → envd-0.4.0}/MANIFEST.in +0 -0
  48. {envd-0.3.47 → envd-0.4.0}/Makefile +0 -0
  49. {envd-0.3.47 → envd-0.4.0}/OWNERS +0 -0
  50. {envd-0.3.47 → envd-0.4.0}/base-images/.dockerignore +0 -0
  51. {envd-0.3.47 → envd-0.4.0}/base-images/envd/build.sh +0 -0
  52. {envd-0.3.47 → envd-0.4.0}/base-images/envd/envd-daemonless.Dockerfile +0 -0
  53. {envd-0.3.47 → envd-0.4.0}/base-images/envd/envd.Dockerfile +0 -0
  54. {envd-0.3.47 → envd-0.4.0}/base-images/envd-sshd/envd-sshd.Dockerfile +0 -0
  55. {envd-0.3.47 → envd-0.4.0}/base-images/envd-starship/envd-starship.Dockerfile +0 -0
  56. {envd-0.3.47 → envd-0.4.0}/base-images/r4.2.Dockerfile +0 -0
  57. {envd-0.3.47 → envd-0.4.0}/base-images/remote-cache/build-and-push-remote-cache.sh +0 -0
  58. {envd-0.3.47 → envd-0.4.0}/cmd/envd/main.go +0 -0
  59. {envd-0.3.47 → envd-0.4.0}/cmd/envd-sshd/main.go +0 -0
  60. {envd-0.3.47 → envd-0.4.0}/envd/api/v0/install.py +0 -0
  61. {envd-0.3.47 → envd-0.4.0}/envd/api/v0/io.py +0 -0
  62. {envd-0.3.47 → envd-0.4.0}/envd/api/v0/runtime.py +0 -0
  63. {envd-0.3.47 → envd-0.4.0}/envd/api/v1/io.py +0 -0
  64. {envd-0.3.47 → envd-0.4.0}/envd/api/v1/runtime.py +0 -0
  65. {envd-0.3.47 → envd-0.4.0}/envd/api.go +0 -0
  66. {envd-0.3.47 → envd-0.4.0}/envd.egg-info/SOURCES.txt +0 -0
  67. {envd-0.3.47 → envd-0.4.0}/envd.egg-info/dependency_links.txt +0 -0
  68. {envd-0.3.47 → envd-0.4.0}/envd.egg-info/not-zip-safe +0 -0
  69. {envd-0.3.47 → envd-0.4.0}/envd.egg-info/top_level.txt +0 -0
  70. {envd-0.3.47 → envd-0.4.0}/lychee.toml +0 -0
  71. {envd-0.3.47 → envd-0.4.0}/pkg/app/app.go +0 -0
  72. {envd-0.3.47 → envd-0.4.0}/pkg/app/bootstrap.go +0 -0
  73. {envd-0.3.47 → envd-0.4.0}/pkg/app/build/build.go +0 -0
  74. {envd-0.3.47 → envd-0.4.0}/pkg/app/build.go +0 -0
  75. {envd-0.3.47 → envd-0.4.0}/pkg/app/completion.go +0 -0
  76. {envd-0.3.47 → envd-0.4.0}/pkg/app/const.go +0 -0
  77. {envd-0.3.47 → envd-0.4.0}/pkg/app/context.go +0 -0
  78. {envd-0.3.47 → envd-0.4.0}/pkg/app/context_create.go +0 -0
  79. {envd-0.3.47 → envd-0.4.0}/pkg/app/context_ls.go +0 -0
  80. {envd-0.3.47 → envd-0.4.0}/pkg/app/context_rm.go +0 -0
  81. {envd-0.3.47 → envd-0.4.0}/pkg/app/context_use.go +0 -0
  82. {envd-0.3.47 → envd-0.4.0}/pkg/app/debug.go +0 -0
  83. {envd-0.3.47 → envd-0.4.0}/pkg/app/debug_llb.go +0 -0
  84. {envd-0.3.47 → envd-0.4.0}/pkg/app/destroy.go +0 -0
  85. {envd-0.3.47 → envd-0.4.0}/pkg/app/env.go +0 -0
  86. {envd-0.3.47 → envd-0.4.0}/pkg/app/env_describe.go +0 -0
  87. {envd-0.3.47 → envd-0.4.0}/pkg/app/env_ls.go +0 -0
  88. {envd-0.3.47 → envd-0.4.0}/pkg/app/exec.go +0 -0
  89. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/data.go +0 -0
  90. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/context.go +0 -0
  91. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/env.go +0 -0
  92. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/image.go +0 -0
  93. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/print.go +0 -0
  94. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/version.go +0 -0
  95. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/context.go +0 -0
  96. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/env.go +0 -0
  97. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/image.go +0 -0
  98. {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/version.go +0 -0
  99. {envd-0.3.47 → envd-0.4.0}/pkg/app/image.go +0 -0
  100. {envd-0.3.47 → envd-0.4.0}/pkg/app/image_describe.go +0 -0
  101. {envd-0.3.47 → envd-0.4.0}/pkg/app/image_prune.go +0 -0
  102. {envd-0.3.47 → envd-0.4.0}/pkg/app/image_prune_test.go +0 -0
  103. {envd-0.3.47 → envd-0.4.0}/pkg/app/image_remove.go +0 -0
  104. {envd-0.3.47 → envd-0.4.0}/pkg/app/init.go +0 -0
  105. {envd-0.3.47 → envd-0.4.0}/pkg/app/login.go +0 -0
  106. {envd-0.3.47 → envd-0.4.0}/pkg/app/pause.go +0 -0
  107. {envd-0.3.47 → envd-0.4.0}/pkg/app/prune.go +0 -0
  108. {envd-0.3.47 → envd-0.4.0}/pkg/app/reference.go +0 -0
  109. {envd-0.3.47 → envd-0.4.0}/pkg/app/resume.go +0 -0
  110. {envd-0.3.47 → envd-0.4.0}/pkg/app/run.go +0 -0
  111. {envd-0.3.47 → envd-0.4.0}/pkg/app/telemetry/reporter.go +0 -0
  112. {envd-0.3.47 → envd-0.4.0}/pkg/app/top.go +0 -0
  113. {envd-0.3.47 → envd-0.4.0}/pkg/app/up.go +0 -0
  114. {envd-0.3.47 → envd-0.4.0}/pkg/app/version.go +0 -0
  115. {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/bash.go +0 -0
  116. {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/fish.go +0 -0
  117. {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/zsh.go +0 -0
  118. {envd-0.3.47 → envd-0.4.0}/pkg/builder/build.go +0 -0
  119. {envd-0.3.47 → envd-0.4.0}/pkg/builder/build_func.go +0 -0
  120. {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder.go +0 -0
  121. {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder_suite_test.go +0 -0
  122. {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder_test.go +0 -0
  123. {envd-0.3.47 → envd-0.4.0}/pkg/builder/dep_check.go +0 -0
  124. {envd-0.3.47 → envd-0.4.0}/pkg/builder/err.go +0 -0
  125. {envd-0.3.47 → envd-0.4.0}/pkg/builder/types.go +0 -0
  126. {envd-0.3.47 → envd-0.4.0}/pkg/builder/util.go +0 -0
  127. {envd-0.3.47 → envd-0.4.0}/pkg/builder/util_test.go +0 -0
  128. {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/buildkitd.go +0 -0
  129. {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/mock/mock.go +0 -0
  130. {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/print.go +0 -0
  131. {envd-0.3.47 → envd-0.4.0}/pkg/config/config.go +0 -0
  132. {envd-0.3.47 → envd-0.4.0}/pkg/data/datasource.go +0 -0
  133. {envd-0.3.47 → envd-0.4.0}/pkg/data/envd.go +0 -0
  134. {envd-0.3.47 → envd-0.4.0}/pkg/driver/client.go +0 -0
  135. {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker.go +0 -0
  136. {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker_suite_test.go +0 -0
  137. {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker_test.go +0 -0
  138. {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/label.go +0 -0
  139. {envd-0.3.47 → envd-0.4.0}/pkg/driver/nerdctl/buildkit.go +0 -0
  140. {envd-0.3.47 → envd-0.4.0}/pkg/driver/nerdctl/nerdctl.go +0 -0
  141. {envd-0.3.47 → envd-0.4.0}/pkg/driver/stats_type.go +0 -0
  142. {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/types.go +0 -0
  143. {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/util.go +0 -0
  144. {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode.go +0 -0
  145. {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode_suite_test.go +0 -0
  146. {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode_test.go +0 -0
  147. {envd-0.3.47 → envd-0.4.0}/pkg/envd/docker.go +0 -0
  148. {envd-0.3.47 → envd-0.4.0}/pkg/envd/docker_test.go +0 -0
  149. {envd-0.3.47 → envd-0.4.0}/pkg/envd/engine.go +0 -0
  150. {envd-0.3.47 → envd-0.4.0}/pkg/envd/envdserver.go +0 -0
  151. {envd-0.3.47 → envd-0.4.0}/pkg/envd/factory.go +0 -0
  152. {envd-0.3.47 → envd-0.4.0}/pkg/envd/types.go +0 -0
  153. {envd-0.3.47 → envd-0.4.0}/pkg/flag/consts.go +0 -0
  154. {envd-0.3.47 → envd-0.4.0}/pkg/home/auth.go +0 -0
  155. {envd-0.3.47 → envd-0.4.0}/pkg/home/auth_test.go +0 -0
  156. {envd-0.3.47 → envd-0.4.0}/pkg/home/cache.go +0 -0
  157. {envd-0.3.47 → envd-0.4.0}/pkg/home/config.go +0 -0
  158. {envd-0.3.47 → envd-0.4.0}/pkg/home/context.go +0 -0
  159. {envd-0.3.47 → envd-0.4.0}/pkg/home/context_test.go +0 -0
  160. {envd-0.3.47 → envd-0.4.0}/pkg/home/data.go +0 -0
  161. {envd-0.3.47 → envd-0.4.0}/pkg/home/home_suite_test.go +0 -0
  162. {envd-0.3.47 → envd-0.4.0}/pkg/home/manager.go +0 -0
  163. {envd-0.3.47 → envd-0.4.0}/pkg/home/manager_test.go +0 -0
  164. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/interpreter.go +0 -0
  165. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/mock/mock.go +0 -0
  166. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/builtin/builtin.go +0 -0
  167. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/config/config.go +0 -0
  168. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/config/const.go +0 -0
  169. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/const.go +0 -0
  170. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/rule.go +0 -0
  171. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/util.go +0 -0
  172. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/install/const.go +0 -0
  173. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/install/install.go +0 -0
  174. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/interpreter.go +0 -0
  175. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/io/const.go +0 -0
  176. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/io/io.go +0 -0
  177. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/runtime/const.go +0 -0
  178. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/runtime/runtime.go +0 -0
  179. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/starlark_suite_test.go +0 -0
  180. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/universe/const.go +0 -0
  181. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/universe/universe.go +0 -0
  182. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/builtin/builtin.go +0 -0
  183. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/config/config.go +0 -0
  184. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/config/const.go +0 -0
  185. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/const.go +0 -0
  186. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/rule.go +0 -0
  187. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/util.go +0 -0
  188. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/install/const.go +0 -0
  189. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/install/install.go +0 -0
  190. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/interpreter.go +0 -0
  191. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/interpreter_test.go +0 -0
  192. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/io/const.go +0 -0
  193. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/io/io.go +0 -0
  194. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/runtime/const.go +0 -0
  195. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/runtime/runtime.go +0 -0
  196. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/starlark_suite_test.go +0 -0
  197. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/testdata/test.envd +0 -0
  198. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/universe/const.go +0 -0
  199. {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/universe/universe.go +0 -0
  200. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/graph.go +0 -0
  201. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/types.go +0 -0
  202. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/util.go +0 -0
  203. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/cache.go +0 -0
  204. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/checker.go +0 -0
  205. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/compile.go +0 -0
  206. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/custom.go +0 -0
  207. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/editor.go +0 -0
  208. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/editor_test.go +0 -0
  209. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/fs.go +0 -0
  210. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/git.go +0 -0
  211. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/install-mamba.sh +0 -0
  212. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/interface.go +0 -0
  213. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/julia.go +0 -0
  214. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/r.go +0 -0
  215. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/shell.go +0 -0
  216. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/supervisor.go +0 -0
  217. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/types.go +0 -0
  218. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/user.go +0 -0
  219. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/util.go +0 -0
  220. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/util_test.go +0 -0
  221. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/cache.go +0 -0
  222. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/checker.go +0 -0
  223. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/compile.go +0 -0
  224. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/editor.go +0 -0
  225. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/editor_test.go +0 -0
  226. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/fs.go +0 -0
  227. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/git.go +0 -0
  228. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/install_conda.sh +0 -0
  229. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/julia.go +0 -0
  230. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/julia.sh +0 -0
  231. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/r.go +0 -0
  232. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/supervisor.go +0 -0
  233. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/system.go +0 -0
  234. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/user.go +0 -0
  235. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/util.go +0 -0
  236. {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/util_test.go +0 -0
  237. {envd-0.3.47 → envd-0.4.0}/pkg/lang/version/version.go +0 -0
  238. {envd-0.3.47 → envd-0.4.0}/pkg/metrics/collector.go +0 -0
  239. {envd-0.3.47 → envd-0.4.0}/pkg/metrics/docker_collector.go +0 -0
  240. {envd-0.3.47 → envd-0.4.0}/pkg/metrics/helper.go +0 -0
  241. {envd-0.3.47 → envd-0.4.0}/pkg/metrics/model.go +0 -0
  242. {envd-0.3.47 → envd-0.4.0}/pkg/metrics/widget.go +0 -0
  243. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/display.go +0 -0
  244. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/mock/mock.go +0 -0
  245. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/term.go +0 -0
  246. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/term_windows.go +0 -0
  247. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/trace.go +0 -0
  248. {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/types.go +0 -0
  249. {envd-0.3.47 → envd-0.4.0}/pkg/progress/mode/mode.go +0 -0
  250. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/display.go +0 -0
  251. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/display_test.go +0 -0
  252. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/printer.go +0 -0
  253. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/term.go +0 -0
  254. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/term_windows.go +0 -0
  255. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progresswriter/printer.go +0 -0
  256. {envd-0.3.47 → envd-0.4.0}/pkg/progress/progresswriter/writer.go +0 -0
  257. {envd-0.3.47 → envd-0.4.0}/pkg/remote/sshd/os.go +0 -0
  258. {envd-0.3.47 → envd-0.4.0}/pkg/remote/sshd/sshd.go +0 -0
  259. {envd-0.3.47 → envd-0.4.0}/pkg/shell/install.sh +0 -0
  260. {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh.go +0 -0
  261. {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh_suite_test.go +0 -0
  262. {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh_test.go +0 -0
  263. {envd-0.3.47 → envd-0.4.0}/pkg/shell/zshrc +0 -0
  264. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/entry.go +0 -0
  265. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/key.go +0 -0
  266. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config.go +0 -0
  267. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config_suite_test.go +0 -0
  268. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config_test.go +0 -0
  269. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/copy.go +0 -0
  270. {envd-0.3.47 → envd-0.4.0}/pkg/ssh/ssh.go +0 -0
  271. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/client.go +0 -0
  272. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/config.go +0 -0
  273. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/device.go +0 -0
  274. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/event.go +0 -0
  275. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/file.go +0 -0
  276. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/folder.go +0 -0
  277. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/install.go +0 -0
  278. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/syncthing.go +0 -0
  279. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/syncthing_test.go +0 -0
  280. {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/util.go +0 -0
  281. {envd-0.3.47 → envd-0.4.0}/pkg/types/container.go +0 -0
  282. {envd-0.3.47 → envd-0.4.0}/pkg/types/label.go +0 -0
  283. {envd-0.3.47 → envd-0.4.0}/pkg/types/types_suite_test.go +0 -0
  284. {envd-0.3.47 → envd-0.4.0}/pkg/util/buildkitutil/buildkit.go +0 -0
  285. {envd-0.3.47 → envd-0.4.0}/pkg/util/buildkitutil/buildkit_test.go +0 -0
  286. {envd-0.3.47 → envd-0.4.0}/pkg/util/envutil/env.go +0 -0
  287. {envd-0.3.47 → envd-0.4.0}/pkg/util/envutil/env_test.go +0 -0
  288. {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/file.go +0 -0
  289. {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/file_test.go +0 -0
  290. {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/namegenerator.go +0 -0
  291. {envd-0.3.47 → envd-0.4.0}/pkg/util/netutil/netutil.go +0 -0
  292. {envd-0.3.47 → envd-0.4.0}/pkg/util/netutil/netutil_test.go +0 -0
  293. {envd-0.3.47 → envd-0.4.0}/pkg/util/osutil/wsl.go +0 -0
  294. {envd-0.3.47 → envd-0.4.0}/pkg/util/runtimeutil/runtimeutil.go +0 -0
  295. {envd-0.3.47 → envd-0.4.0}/pkg/util/starlarkutil/stringslice.go +0 -0
  296. {envd-0.3.47 → envd-0.4.0}/pkg/util/starlarkutil/stringslice_test.go +0 -0
  297. {envd-0.3.47 → envd-0.4.0}/pkg/util/ziputil/unzip.go +0 -0
  298. {envd-0.3.47 → envd-0.4.0}/pkg/version/version.go +0 -0
  299. {envd-0.3.47 → envd-0.4.0}/pyproject.toml +0 -0
  300. {envd-0.3.47 → envd-0.4.0}/scripts/envd-daemonless.sh +0 -0
  301. {envd-0.3.47 → envd-0.4.0}/setup.cfg +0 -0
  302. {envd-0.3.47 → envd-0.4.0}/typos.toml +0 -0
@@ -0,0 +1 @@
1
+ v0.4.0
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.3.47 (2025-01-09)
4
+
5
+ * [95bb1c3](https://github.com/tensorchord/envd/commit/95bb1c37f177c6e6e4ba49d4429e6e8a1ebc6ea5) feat(cache): update cuda & cudnn version (#1943)
6
+
7
+ ### Contributors
8
+
9
+ * Keming
10
+
11
+ ## v0.3.46 (2025-01-08)
12
+
13
+ * [da83a62](https://github.com/tensorchord/envd/commit/da83a6268ddc154090d08ef0606f418461823e97) fix(cve): containers/image, fix toto conflicts (#1938)
14
+ * [d7ef20d](https://github.com/tensorchord/envd/commit/d7ef20df3444915a2b2793a9d6137caf01f3d3a2) fix(cve): docker & buildkit (#1936)
15
+ * [c504c66](https://github.com/tensorchord/envd/commit/c504c66e389c6a3bfc57686b5a47d550f3853125) feat(ci): adopt ruff & lychee (#1935)
16
+ * [812de36](https://github.com/tensorchord/envd/commit/812de3622975c7244d7b9b6d1e939b355f35009d) fix(cve): go-get & x/crypto (#1934)
17
+ * [d61ca2e](https://github.com/tensorchord/envd/commit/d61ca2e543fd5ec6d8ce238304fb329ee8ed3440) feat: envd up with --gpu-set (#1861)
18
+
19
+ ### Contributors
20
+
21
+ * Keming
22
+ * zhang-wei
23
+
3
24
  ## v0.3.45 (2024-01-24)
4
25
 
5
26
  * [639c188](https://github.com/tensorchord/envd/commit/639c188536181c1d621bd45d04b2243fef72c467) fix: go-git security issue GHSA-mw99-9chc-xw7r (#1844)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: envd
3
- Version: 0.3.47
3
+ Version: 0.4.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
@@ -11,12 +11,11 @@ Classifier: Topic :: Software Development :: Build Tools
11
11
  Classifier: Intended Audience :: Science/Research
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
- Classifier: Programming Language :: Python :: 3.6
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
14
  Classifier: Programming Language :: Python :: 3.9
18
15
  Classifier: Programming Language :: Python :: 3.10
19
16
  Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
20
19
  Requires-Python: >=3.6
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
@@ -29,8 +28,8 @@ License-File: LICENSE
29
28
  </div>
30
29
 
31
30
  <p align=center>
32
- <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://dcbadge.vercel.app/api/server/KqswhpVgdU?style=flat"></a>
33
- <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=social" alt="trackgit-views" /></a>
31
+ <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://img.shields.io/discord/974584200327991326?style=flat&logo=discord&cacheSeconds=60"></a>
32
+ <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=flat&logo=X&cacheSeconds=60" alt="trackgit-views" /></a>
34
33
  <a href="https://pypi.org/project/envd"><img src="https://img.shields.io/pypi/pyversions/envd" alt="Python Version" /></a>
35
34
  <a href="https://github.com/tensorchord/envd#contributors-"><img alt="all-contributors" src="https://img.shields.io/github/all-contributors/tensorchord/envd/main"></a>
36
35
  <a href="https://pypi.org/project/envd/"><img alt="envd package downloads" src="https://static.pepy.tech/personalized-badge/envd?period=month&units=international_system&left_color=grey&right_color=brightgreen&left_text=downloads/month"</a>
@@ -115,7 +114,7 @@ Forget copy-pasting Dockerfile instructions - use envd to easily build functions
115
114
  envdlib = include("https://github.com/tensorchord/envdlib")
116
115
 
117
116
  def build():
118
- base(os="ubuntu20.04", language="python")
117
+ base(os="ubuntu22.04", language="python")
119
118
  envdlib.tensorboard(host_port=8888)
120
119
  ```
121
120
 
@@ -199,7 +198,7 @@ The build manifest `build.envd` looks like:
199
198
 
200
199
  ```python title=build.envd
201
200
  def build():
202
- base(os="ubuntu20.04", language="python3")
201
+ base(os="ubuntu22.04", language="python3")
203
202
  # Configure the pip index if needed.
204
203
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
205
204
  install.python_packages(name = [
@@ -250,7 +249,7 @@ Please edit the `build.envd` to enable jupyter notebook:
250
249
 
251
250
  ```python title=build.envd
252
251
  def build():
253
- base(os="ubuntu20.04", language="python3")
252
+ base(os="ubuntu22.04", language="python3")
254
253
  # Configure the pip index if needed.
255
254
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
256
255
  install.python_packages(name = [
@@ -271,7 +270,7 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
271
270
 
272
271
  ## Difference between v0 and v1
273
272
 
274
- > **Note**
273
+ > [!NOTE]
275
274
  > To use the `v1` config file, add `# syntax=v1` to the first line of your `build.envd` file.
276
275
 
277
276
  | Features | v0 | v1 |
@@ -284,11 +283,11 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
284
283
  | support installing multiple languages | ⚠️ | ✅ |
285
284
  | support `moby` builder | ❌ | ✅ <sup>[(a)](#v1-moby)</sup> |
286
285
 
287
- > **Note**
286
+ > [!NOTE]
288
287
  > <a name="v1-moby">(a)</a> To use the `moby` builder, you will need to create a new context with `envd context create --name moby-test --builder moby-worker --use`.
289
288
  > For more information about the `moby` builder, check the [issue-1693](https://github.com/tensorchord/envd/issues/1693).
290
289
 
291
- > **Important**
290
+ > [!IMPORTANT]
292
291
  > For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.
293
292
 
294
293
  ## More on documentation 📝
@@ -6,8 +6,8 @@
6
6
  </div>
7
7
 
8
8
  <p align=center>
9
- <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://dcbadge.vercel.app/api/server/KqswhpVgdU?style=flat"></a>
10
- <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=social" alt="trackgit-views" /></a>
9
+ <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://img.shields.io/discord/974584200327991326?style=flat&logo=discord&cacheSeconds=60"></a>
10
+ <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=flat&logo=X&cacheSeconds=60" alt="trackgit-views" /></a>
11
11
  <a href="https://pypi.org/project/envd"><img src="https://img.shields.io/pypi/pyversions/envd" alt="Python Version" /></a>
12
12
  <a href="https://github.com/tensorchord/envd#contributors-"><img alt="all-contributors" src="https://img.shields.io/github/all-contributors/tensorchord/envd/main"></a>
13
13
  <a href="https://pypi.org/project/envd/"><img alt="envd package downloads" src="https://static.pepy.tech/personalized-badge/envd?period=month&units=international_system&left_color=grey&right_color=brightgreen&left_text=downloads/month"</a>
@@ -92,7 +92,7 @@ Forget copy-pasting Dockerfile instructions - use envd to easily build functions
92
92
  envdlib = include("https://github.com/tensorchord/envdlib")
93
93
 
94
94
  def build():
95
- base(os="ubuntu20.04", language="python")
95
+ base(os="ubuntu22.04", language="python")
96
96
  envdlib.tensorboard(host_port=8888)
97
97
  ```
98
98
 
@@ -176,7 +176,7 @@ The build manifest `build.envd` looks like:
176
176
 
177
177
  ```python title=build.envd
178
178
  def build():
179
- base(os="ubuntu20.04", language="python3")
179
+ base(os="ubuntu22.04", language="python3")
180
180
  # Configure the pip index if needed.
181
181
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
182
182
  install.python_packages(name = [
@@ -227,7 +227,7 @@ Please edit the `build.envd` to enable jupyter notebook:
227
227
 
228
228
  ```python title=build.envd
229
229
  def build():
230
- base(os="ubuntu20.04", language="python3")
230
+ base(os="ubuntu22.04", language="python3")
231
231
  # Configure the pip index if needed.
232
232
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
233
233
  install.python_packages(name = [
@@ -248,7 +248,7 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
248
248
 
249
249
  ## Difference between v0 and v1
250
250
 
251
- > **Note**
251
+ > [!NOTE]
252
252
  > To use the `v1` config file, add `# syntax=v1` to the first line of your `build.envd` file.
253
253
 
254
254
  | Features | v0 | v1 |
@@ -261,11 +261,11 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
261
261
  | support installing multiple languages | ⚠️ | ✅ |
262
262
  | support `moby` builder | ❌ | ✅ <sup>[(a)](#v1-moby)</sup> |
263
263
 
264
- > **Note**
264
+ > [!NOTE]
265
265
  > <a name="v1-moby">(a)</a> To use the `moby` builder, you will need to create a new context with `envd context create --name moby-test --builder moby-worker --use`.
266
266
  > For more information about the `moby` builder, check the [issue-1693](https://github.com/tensorchord/envd/issues/1693).
267
267
 
268
- > **Important**
268
+ > [!IMPORTANT]
269
269
  > For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.
270
270
 
271
271
  ## More on documentation 📝
@@ -20,7 +20,7 @@ ROOT_DIR=`dirname $0`
20
20
 
21
21
  GIT_TAG_VERSION=$(git describe --tags --abbrev=0)
22
22
  DOCKER_HUB_ORG="${DOCKER_HUB_ORG:-tensorchord}"
23
- ENVD_OS="${ENVD_OS:-ubuntu20.04}"
23
+ ENVD_OS="${ENVD_OS:-ubuntu22.04}"
24
24
  JULIA_VERSION="${JULIA_VERSION:-1.8rc1}"
25
25
  RLANG_VERSION="${RLANG_VERSION:-4.2}"
26
26
 
@@ -1,6 +1,6 @@
1
1
  ARG ENVD_VERSION
2
2
  ARG ENVD_SSHD_IMAGE
3
- FROM ubuntu:20.04 as base
3
+ FROM ubuntu:22.04 as base
4
4
 
5
5
  FROM base as base-amd64
6
6
 
@@ -1,22 +1,22 @@
1
1
  def build():
2
- base(os="ubuntu20.04", language="python3")
2
+ base(os="ubuntu22.04", language="python3")
3
3
 
4
4
 
5
5
  def build_gpu_11_2():
6
6
  """tensorflow"""
7
- base(os="ubuntu20.04", language="python3")
7
+ base(os="ubuntu22.04", language="python3")
8
8
  install.cuda(version="11.2.2", cudnn="8")
9
9
 
10
10
 
11
11
  def build_gpu_11_3():
12
12
  """pytorch"""
13
- base(os="ubuntu20.04", language="python3")
13
+ base(os="ubuntu22.04", language="python3")
14
14
  install.cuda(version="11.3.1", cudnn="8")
15
15
 
16
16
 
17
17
  def build_gpu_11_6():
18
18
  """pytorch"""
19
- base(os="ubuntu20.04", language="python3")
19
+ base(os="ubuntu22.04", language="python3")
20
20
  install.cuda(version="11.6.2", cudnn="8")
21
21
 
22
22
 
@@ -28,9 +28,9 @@ def base(os: str, language: str, image: Optional[str]):
28
28
  """Set base image
29
29
 
30
30
  Args:
31
- os (str): The operating system (i.e. `ubuntu20.04`)
31
+ os (str): The operating system (i.e. `ubuntu22.04`)
32
32
  language (str): The programming language dependency (i.e. `python3.8`)
33
- image (Optional[str]): Custom image (i.e. `python:3.9-slim`)
33
+ image (Optional[str]): Custom image (i.e. `python:3.11-slim`)
34
34
  """
35
35
 
36
36
 
@@ -90,7 +90,7 @@ def include(git: str):
90
90
  envd = include("https://github.com/tensorchord/envdlib")
91
91
 
92
92
  def build():
93
- base(os="ubuntu20.04", language="python")
93
+ base(os="ubuntu22.04", language="python")
94
94
  envd.tensorboard(8000)
95
95
  ```
96
96
  """
@@ -148,7 +148,7 @@ def julia_pkg_server(url: str):
148
148
 
149
149
  def rstudio_server():
150
150
  """
151
- Enable the RStudio Server (only work for `base(os="ubuntu20.04", language="r")`)
151
+ Enable the RStudio Server (only work for `base(os="ubuntu22.04", language="r")`)
152
152
  """
153
153
 
154
154
 
@@ -33,7 +33,7 @@ from typing import List, Optional
33
33
  """
34
34
 
35
35
 
36
- def base(image: str = "ubuntu:20.04", dev: bool = False):
36
+ def base(image: str = "ubuntu:22.04", dev: bool = False):
37
37
  """Set up the base env.
38
38
 
39
39
  Args:
@@ -99,7 +99,7 @@ def include(git: str):
99
99
  envd = include("https://github.com/tensorchord/envdlib")
100
100
 
101
101
  def build():
102
- base(os="ubuntu20.04", language="python")
102
+ base(os="ubuntu22.04", language="python")
103
103
  envd.tensorboard(host_port=8000)
104
104
  ```
105
105
  """
@@ -154,7 +154,7 @@ def julia_pkg_server(url: str):
154
154
 
155
155
  def rstudio_server():
156
156
  """
157
- Enable the RStudio Server (only work for `base(os="ubuntu20.04", language="r")`)
157
+ Enable the RStudio Server (only work for `base(os="ubuntu22.04", language="r")`)
158
158
  """
159
159
 
160
160
 
@@ -30,7 +30,7 @@ v1 is experimental and may change in the future. Make sure to freeze the envd ve
30
30
  from typing import Optional, Sequence
31
31
 
32
32
 
33
- def python(version: str = "3.9"):
33
+ def python(version: str = "3.11"):
34
34
  """Install python.
35
35
 
36
36
  If `install.conda` is not used, this will create a solo Python environment. Otherwise, it
@@ -120,7 +120,7 @@ def cuda(version: str, cudnn: Optional[str] = "8"):
120
120
 
121
121
  This will replace the default base image to an `nvidia/cuda` image. You can
122
122
  also use a CUDA base image directly like
123
- `base(image="nvidia/cuda:12.2.0-devel-ubuntu20.04", dev=True)`.
123
+ `base(image="nvidia/cuda:12.2.0-devel-ubuntu22.04", dev=True)`.
124
124
 
125
125
  Args:
126
126
  version (str): CUDA version, such as '11.6.2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: envd
3
- Version: 0.3.47
3
+ Version: 0.4.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
@@ -11,12 +11,11 @@ Classifier: Topic :: Software Development :: Build Tools
11
11
  Classifier: Intended Audience :: Science/Research
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
- Classifier: Programming Language :: Python :: 3.6
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
14
  Classifier: Programming Language :: Python :: 3.9
18
15
  Classifier: Programming Language :: Python :: 3.10
19
16
  Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
20
19
  Requires-Python: >=3.6
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
@@ -29,8 +28,8 @@ License-File: LICENSE
29
28
  </div>
30
29
 
31
30
  <p align=center>
32
- <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://dcbadge.vercel.app/api/server/KqswhpVgdU?style=flat"></a>
33
- <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=social" alt="trackgit-views" /></a>
31
+ <a href="https://discord.gg/KqswhpVgdU"><img alt="discord invitation link" src="https://img.shields.io/discord/974584200327991326?style=flat&logo=discord&cacheSeconds=60"></a>
32
+ <a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=flat&logo=X&cacheSeconds=60" alt="trackgit-views" /></a>
34
33
  <a href="https://pypi.org/project/envd"><img src="https://img.shields.io/pypi/pyversions/envd" alt="Python Version" /></a>
35
34
  <a href="https://github.com/tensorchord/envd#contributors-"><img alt="all-contributors" src="https://img.shields.io/github/all-contributors/tensorchord/envd/main"></a>
36
35
  <a href="https://pypi.org/project/envd/"><img alt="envd package downloads" src="https://static.pepy.tech/personalized-badge/envd?period=month&units=international_system&left_color=grey&right_color=brightgreen&left_text=downloads/month"</a>
@@ -115,7 +114,7 @@ Forget copy-pasting Dockerfile instructions - use envd to easily build functions
115
114
  envdlib = include("https://github.com/tensorchord/envdlib")
116
115
 
117
116
  def build():
118
- base(os="ubuntu20.04", language="python")
117
+ base(os="ubuntu22.04", language="python")
119
118
  envdlib.tensorboard(host_port=8888)
120
119
  ```
121
120
 
@@ -199,7 +198,7 @@ The build manifest `build.envd` looks like:
199
198
 
200
199
  ```python title=build.envd
201
200
  def build():
202
- base(os="ubuntu20.04", language="python3")
201
+ base(os="ubuntu22.04", language="python3")
203
202
  # Configure the pip index if needed.
204
203
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
205
204
  install.python_packages(name = [
@@ -250,7 +249,7 @@ Please edit the `build.envd` to enable jupyter notebook:
250
249
 
251
250
  ```python title=build.envd
252
251
  def build():
253
- base(os="ubuntu20.04", language="python3")
252
+ base(os="ubuntu22.04", language="python3")
254
253
  # Configure the pip index if needed.
255
254
  # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
256
255
  install.python_packages(name = [
@@ -271,7 +270,7 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
271
270
 
272
271
  ## Difference between v0 and v1
273
272
 
274
- > **Note**
273
+ > [!NOTE]
275
274
  > To use the `v1` config file, add `# syntax=v1` to the first line of your `build.envd` file.
276
275
 
277
276
  | Features | v0 | v1 |
@@ -284,11 +283,11 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
284
283
  | support installing multiple languages | ⚠️ | ✅ |
285
284
  | support `moby` builder | ❌ | ✅ <sup>[(a)](#v1-moby)</sup> |
286
285
 
287
- > **Note**
286
+ > [!NOTE]
288
287
  > <a name="v1-moby">(a)</a> To use the `moby` builder, you will need to create a new context with `envd context create --name moby-test --builder moby-worker --use`.
289
288
  > For more information about the `moby` builder, check the [issue-1693](https://github.com/tensorchord/envd/issues/1693).
290
289
 
291
- > **Important**
290
+ > [!IMPORTANT]
292
291
  > For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.
293
292
 
294
293
  ## More on documentation 📝
@@ -29,8 +29,8 @@ require (
29
29
  github.com/moby/term v0.5.0
30
30
  github.com/morikuni/aec v1.0.0
31
31
  github.com/olekukonko/tablewriter v0.0.5
32
- github.com/onsi/ginkgo/v2 v2.19.0
33
- github.com/onsi/gomega v1.34.1
32
+ github.com/onsi/ginkgo/v2 v2.22.2
33
+ github.com/onsi/gomega v1.36.2
34
34
  github.com/opencontainers/go-digest v1.0.0
35
35
  github.com/opencontainers/image-spec v1.1.0
36
36
  github.com/pkg/errors v0.9.1
@@ -103,7 +103,7 @@ require (
103
103
  github.com/golang/protobuf v1.5.4 // indirect
104
104
  github.com/golang/snappy v0.0.4 // indirect
105
105
  github.com/google/go-cmp v0.6.0 // indirect
106
- github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 // indirect
106
+ github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
107
107
  github.com/google/s2a-go v0.1.7 // indirect
108
108
  github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
109
109
  github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
@@ -204,7 +204,7 @@ require (
204
204
  google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect
205
205
  google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect
206
206
  google.golang.org/grpc v1.67.0 // indirect
207
- google.golang.org/protobuf v1.35.1 // indirect
207
+ google.golang.org/protobuf v1.36.1 // indirect
208
208
  gopkg.in/ini.v1 v1.67.0 // indirect
209
209
  gopkg.in/warnings.v0 v0.1.2 // indirect
210
210
  gopkg.in/yaml.v3 v3.0.1 // indirect
@@ -511,8 +511,8 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe
511
511
  github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
512
512
  github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
513
513
  github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
514
- github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg=
515
- github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
514
+ github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
515
+ github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
516
516
  github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
517
517
  github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
518
518
  github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
@@ -702,14 +702,14 @@ github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vv
702
702
  github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
703
703
  github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
704
704
  github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
705
- github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
706
- github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
705
+ github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
706
+ github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
707
707
  github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
708
708
  github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
709
709
  github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
710
710
  github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
711
- github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
712
- github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
711
+ github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
712
+ github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
713
713
  github.com/op/go-logging v0.0.0-20160211212156-b2cb9fa56473 h1:J1QZwDXgZ4dJD2s19iqR9+U00OWM2kDzbf1O/fmvCWg=
714
714
  github.com/op/go-logging v0.0.0-20160211212156-b2cb9fa56473/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
715
715
  github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@@ -1477,8 +1477,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
1477
1477
  google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
1478
1478
  google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
1479
1479
  google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
1480
- google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
1481
- google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
1480
+ google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
1481
+ google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
1482
1482
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
1483
1483
  gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
1484
1484
  gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -225,7 +225,7 @@ func startQuestion(input input) {
225
225
  func generateFile(clicontext *cli.Context) error {
226
226
  var buf bytes.Buffer
227
227
  buf.WriteString("def build():\n")
228
- buf.WriteString(fmt.Sprintf("%sbase(os=\"ubuntu20.04\", language=\"%s\")\n", indentation, selectionMap[LabelLanguage][0]))
228
+ buf.WriteString(fmt.Sprintf("%sbase(os=\"ubuntu22.04\", language=\"%s\")\n", indentation, selectionMap[LabelLanguage][0]))
229
229
  buf.WriteString(generatePackagesStr("python", selectionMap[LabelPythonPackage]))
230
230
  buf.WriteString(generatePackagesStr("r", selectionMap[LabelRPackage]))
231
231
  if len(selectionMap[LabelPythonRequirement]) > 0 {
@@ -1,6 +1,6 @@
1
1
  def build():
2
- # Use ubuntu20.04 as base image and install julia
3
- base(os="ubuntu20.04", language="julia")
2
+ # Use ubuntu22.04 as base image and install julia
3
+ base(os="ubuntu22.04", language="julia")
4
4
  # Uncomment line below to enable Pypi mirror
5
5
  # config.julia_pkg_server(url="https://mirrors.tuna.tsinghua.edu.cn/julia")
6
6
 
@@ -1,6 +1,6 @@
1
1
  def build():
2
- # Use ubuntu20.04 as base image and install r
3
- base(os="ubuntu20.04", language="r")
2
+ # Use ubuntu22.04 as base image and install r
3
+ base(os="ubuntu22.04", language="r")
4
4
 
5
5
  # Add the packages you are using here
6
6
  install.r_packages(
@@ -24,6 +24,6 @@ var _ = Describe("Starlark", func() {
24
24
  filename := "testdata/test.envd"
25
25
  hash, err := GetEnvdProgramHash(filename)
26
26
  Expect(err).NotTo(HaveOccurred())
27
- Expect(hash).To(Equal("cff1c81818116d42"))
27
+ Expect(hash).To(Equal("92dcb859b270c28c"))
28
28
  })
29
29
  })
@@ -1,5 +1,5 @@
1
1
  def build():
2
- base(os="ubuntu20.04", language="python3")
2
+ base(os="ubuntu22.04", language="python3")
3
3
  install.python_packages(
4
4
  name=[
5
5
  "numpy",
@@ -29,7 +29,7 @@ import (
29
29
  )
30
30
 
31
31
  const (
32
- condaVersionDefault = "py39_4.11.0"
32
+ condaVersionDefault = "py311_24.11.1-0"
33
33
  // check the issue https://github.com/mamba-org/mamba/issues/1975
34
34
  mambaVersionDefault = "0.25.1"
35
35
  condaRootPrefix = "/opt/conda"
@@ -17,7 +17,7 @@ package v0
17
17
  import "github.com/tensorchord/envd/pkg/util/fileutil"
18
18
 
19
19
  const (
20
- osDefault = "ubuntu20.04"
20
+ osDefault = "ubuntu22.04"
21
21
  languageDefault = "python"
22
22
  languageVersionDefault = "3"
23
23
  CUDNNVersionDefault = "8"
@@ -2,16 +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="4ee9c3aa53329cd7a63b49877c0babb49b19b7e5af29807b793a76bdb1d362b4"; \
5
+ SHA256SUM="807774bae6cd87132094458217ebf713df436f64779faf9bb4c3d4b6615c1e3a"; \
6
6
  elif [ "${UNAME_M}" = "s390x" ]; then \
7
7
  MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-s390x.sh"; \
8
- SHA256SUM="e5e5e89cdcef9332fe632cd25d318cf71f681eef029a24495c713b18e66a8018"; \
8
+ SHA256SUM="bb499b18dbcbb2d89b22f91fe26fe661f5ed1f1944fdc743560d69cd52a2468f"; \
9
9
  elif [ "${UNAME_M}" = "aarch64" ]; then \
10
10
  MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh"; \
11
- SHA256SUM="00c7127a8a8d3f4b9c2ab3391c661239d5b9a88eafe895fd0f3f2a8d9c0f4556"; \
12
- elif [ "${UNAME_M}" = "ppc64le" ]; then \
13
- MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-ppc64le.sh"; \
14
- SHA256SUM="8ee1f8d17ef7c8cb08a85f7d858b1cb55866c06fcf7545b98c3b82e4d0277e66"; \
11
+ SHA256SUM="a8846ade7a5ddd9b6a6546590054d70d1c2cbe4fbe8c79fb70227e8fd93ef9f8"; \
15
12
  fi && \
16
13
  wget "${MINICONDA_URL}" -O /tmp/miniconda.sh && \
17
14
  echo "${SHA256SUM} /tmp/miniconda.sh" > /tmp/shasum && \
@@ -28,7 +28,7 @@ import (
28
28
  )
29
29
 
30
30
  const (
31
- pythonVersionDefault = "3.9"
31
+ pythonVersionDefault = "3.11"
32
32
  )
33
33
 
34
34
  func (g generalGraph) getAppropriatePythonVersion() (string, error) {
@@ -218,7 +218,7 @@ func (g *generalGraph) compileBase() (llb.State, error) {
218
218
  base = g.preparePythonBase(llb.Image(types.PythonBaseImage))
219
219
  case "julia":
220
220
  base = llb.Image(fmt.Sprintf(
221
- "docker.io/%s/julia:1.8rc1-ubuntu20.04-envd-%s", org, v))
221
+ "docker.io/%s/julia:1.8rc1-ubuntu22.04-envd-%s", org, v))
222
222
  }
223
223
  } else {
224
224
  base = g.compileCUDAPackages("nvidia/cuda")
@@ -28,8 +28,8 @@ import (
28
28
  )
29
29
 
30
30
  const (
31
- builderImage = "curlimages/curl:7.86.0"
32
- condaVersionDefault = "py39_4.11.0"
31
+ builderImage = "curlimages/curl:8.11.1"
32
+ condaVersionDefault = "py311_24.11.1-0"
33
33
  microMambaImage = "mambaorg/micromamba:1.0.0"
34
34
  condaRootPrefix = "/opt/conda"
35
35
  condaBinDir = "/opt/conda/bin"
@@ -39,10 +39,19 @@ const (
39
39
  channels:
40
40
  - defaults
41
41
  `
42
- mambaActivate = `
42
+ mambaActivateBash = `
43
43
  #!/bin/sh
44
44
  eval "$(/opt/conda/bin/micromamba shell hook --shell=bash)" || return $?
45
45
  micromamba activate "$@"
46
+ `
47
+ mambaActivateFish = `
48
+ #!/usr/bin/fish
49
+ /opt/conda/bin/micromamba shell hook --shell=fish | source
50
+ micromamba activate $argv
51
+ `
52
+ condaActivateFish = `
53
+ #!/usr/bin/fish
54
+ conda activate $argv
46
55
  `
47
56
  )
48
57
 
@@ -174,6 +183,8 @@ func (g generalGraph) installMiniConda(root llb.State) llb.State {
174
183
  llb.WithCustomName("[internal] create conda directory")).
175
184
  Run(llb.Shlexf("bash -c '%s'", installCondaBash),
176
185
  llb.WithCustomName("[internal] install conda")).Root().
186
+ File(llb.Mkfile(fmt.Sprintf("%s/activate.fish", condaBinDir), 0755, []byte(condaActivateFish)),
187
+ llb.WithCustomName("[internal] create the conda activate.fish file")).
177
188
  File(llb.Rm(condaSourcePath), llb.WithCustomName("[internal] rm conda source file"))
178
189
  return conda
179
190
  }
@@ -194,8 +205,10 @@ func (g *generalGraph) installMicroMamba(root llb.State) llb.State {
194
205
  llb.WithCustomName("[internal] copy micromamba binary")).
195
206
  File(llb.Mkfile(fmt.Sprintf("%s/.mambarc", condaRootPrefix), 0644, []byte(mambaRc)),
196
207
  llb.WithCustomName("[internal] create the mamba rc file")).
197
- File(llb.Mkfile(fmt.Sprintf("%s/activate", condaBinDir), 0755, []byte(mambaActivate)),
208
+ File(llb.Mkfile(fmt.Sprintf("%s/activate", condaBinDir), 0755, []byte(mambaActivateBash)),
198
209
  llb.WithCustomName("[internal] create the mamba activate file")).
210
+ File(llb.Mkfile(fmt.Sprintf("%s/activate.fish", condaBinDir), 0755, []byte(mambaActivateFish)),
211
+ llb.WithCustomName("[internal] create the mamba activate.fish file")).
199
212
  Run(llb.Shlexf("update-alternatives --install /usr/bin/conda conda %s/micromamba 1", condaBinDir),
200
213
  llb.WithCustomName("[internal] update alternative micromamba to conda")).
201
214
  Run(llb.Shlexf("bash -c \"%s/micromamba shell init --shell bash\"", condaBinDir),
@@ -17,7 +17,7 @@ package v1
17
17
  import "github.com/tensorchord/envd/pkg/util/fileutil"
18
18
 
19
19
  const (
20
- defaultImage = "ubuntu:20.04"
20
+ defaultImage = "ubuntu:22.04"
21
21
  CUDNNVersionDefault = "8"
22
22
 
23
23
  aptSourceFilePath = "/etc/apt/sources.list"