envd 0.4.3__tar.gz → 1.0.0a3__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.
- envd-1.0.0a3/.GIT_TAG_INFO +1 -0
- {envd-0.4.3 → envd-1.0.0a3}/.goreleaser.yaml +2 -1
- {envd-0.4.3 → envd-1.0.0a3}/CHANGELOG.md +36 -0
- {envd-0.4.3 → envd-1.0.0a3}/Makefile +3 -31
- {envd-0.4.3 → envd-1.0.0a3}/PKG-INFO +47 -37
- {envd-0.4.3 → envd-1.0.0a3}/README.md +46 -36
- {envd-0.4.3 → envd-1.0.0a3}/base-images/remote-cache/build-and-push-remote-cache.sh +1 -0
- envd-1.0.0a3/base-images/remote-cache/build.envd +29 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v0/__init__.py +6 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v0/config.py +15 -9
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v0/install.py +6 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v0/io.py +6 -0
- {envd-0.4.3/envd/api/v1 → envd-1.0.0a3/envd/api/v0}/runtime.py +2 -2
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v1/__init__.py +1 -7
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v1/config.py +9 -15
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v1/install.py +0 -6
- {envd-0.4.3 → envd-1.0.0a3}/envd/api/v1/io.py +0 -6
- {envd-0.4.3 → envd-1.0.0a3}/envd.egg-info/PKG-INFO +47 -37
- {envd-0.4.3 → envd-1.0.0a3}/envd.egg-info/SOURCES.txt +0 -45
- {envd-0.4.3 → envd-1.0.0a3}/go.mod +33 -32
- {envd-0.4.3 → envd-1.0.0a3}/go.sum +776 -86
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/app.go +1 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/build.go +1 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/debug.go +0 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/interactive.go +18 -12
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/up.go +1 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/build.go +0 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/builder_test.go +2 -2
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/docker.go +1 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/manager.go +1 -1
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/graph.go +3 -3
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/util.go +2 -2
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/compile.go +20 -2
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/conda.go +4 -3
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/julia.go +0 -9
- envd-1.0.0a3/pkg/lang/ir/v1/julia.sh +22 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/python.go +7 -8
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/r.go +11 -14
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/system.go +2 -94
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/version/version.go +17 -16
- {envd-0.4.3 → envd-1.0.0a3}/pkg/types/envd.go +2 -0
- envd-0.4.3/.GIT_TAG_INFO +0 -1
- envd-0.4.3/base-images/.dockerignore +0 -2
- envd-0.4.3/base-images/build.sh +0 -47
- envd-0.4.3/base-images/julia1.8rc1-ubuntu22.04.Dockerfile +0 -98
- envd-0.4.3/base-images/r4.2.Dockerfile +0 -46
- envd-0.4.3/base-images/remote-cache/build.envd +0 -32
- envd-0.4.3/pkg/lang/frontend/starlark/v0/config/config.go +0 -248
- envd-0.4.3/pkg/lang/frontend/starlark/v0/config/const.go +0 -29
- envd-0.4.3/pkg/lang/frontend/starlark/v0/install/const.go +0 -25
- envd-0.4.3/pkg/lang/frontend/starlark/v0/install/install.go +0 -204
- envd-0.4.3/pkg/lang/frontend/starlark/v0/interpreter.go +0 -209
- envd-0.4.3/pkg/lang/frontend/starlark/v0/interpreter_test.go +0 -29
- envd-0.4.3/pkg/lang/frontend/starlark/v0/io/io.go +0 -70
- envd-0.4.3/pkg/lang/frontend/starlark/v0/runtime/runtime.go +0 -238
- envd-0.4.3/pkg/lang/frontend/starlark/v0/starlark_suite_test.go +0 -27
- envd-0.4.3/pkg/lang/frontend/starlark/v0/testdata/test.envd +0 -8
- envd-0.4.3/pkg/lang/frontend/starlark/v0/universe/universe.go +0 -141
- envd-0.4.3/pkg/lang/frontend/starlark/v1/builtin/builtin.go +0 -20
- envd-0.4.3/pkg/lang/frontend/starlark/v1/data/const.go +0 -21
- envd-0.4.3/pkg/lang/frontend/starlark/v1/data/rule.go +0 -54
- envd-0.4.3/pkg/lang/frontend/starlark/v1/data/util.go +0 -53
- envd-0.4.3/pkg/lang/frontend/starlark/v1/io/const.go +0 -20
- envd-0.4.3/pkg/lang/frontend/starlark/v1/runtime/const.go +0 -24
- envd-0.4.3/pkg/lang/frontend/starlark/v1/universe/const.go +0 -25
- envd-0.4.3/pkg/lang/ir/v0/cache.go +0 -32
- envd-0.4.3/pkg/lang/ir/v0/checker.go +0 -79
- envd-0.4.3/pkg/lang/ir/v0/compile.go +0 -375
- envd-0.4.3/pkg/lang/ir/v0/conda.go +0 -161
- envd-0.4.3/pkg/lang/ir/v0/consts.go +0 -42
- envd-0.4.3/pkg/lang/ir/v0/custom.go +0 -80
- envd-0.4.3/pkg/lang/ir/v0/editor.go +0 -120
- envd-0.4.3/pkg/lang/ir/v0/editor_test.go +0 -97
- envd-0.4.3/pkg/lang/ir/v0/fs.go +0 -25
- envd-0.4.3/pkg/lang/ir/v0/git.go +0 -45
- envd-0.4.3/pkg/lang/ir/v0/install-conda.sh +0 -24
- envd-0.4.3/pkg/lang/ir/v0/install-mamba.sh +0 -15
- envd-0.4.3/pkg/lang/ir/v0/interface.go +0 -312
- envd-0.4.3/pkg/lang/ir/v0/julia.go +0 -104
- envd-0.4.3/pkg/lang/ir/v0/python.go +0 -220
- envd-0.4.3/pkg/lang/ir/v0/r.go +0 -96
- envd-0.4.3/pkg/lang/ir/v0/shell.go +0 -124
- envd-0.4.3/pkg/lang/ir/v0/supervisor.go +0 -120
- envd-0.4.3/pkg/lang/ir/v0/system.go +0 -307
- envd-0.4.3/pkg/lang/ir/v0/types.go +0 -95
- envd-0.4.3/pkg/lang/ir/v0/user.go +0 -80
- envd-0.4.3/pkg/lang/ir/v0/util.go +0 -146
- envd-0.4.3/pkg/lang/ir/v0/util_test.go +0 -78
- envd-0.4.3/pkg/lang/ir/v1/julia.sh +0 -17
- {envd-0.4.3 → envd-1.0.0a3}/.all-contributorsrc +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.editorconfig +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.gitignore +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.golangci.yml +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.lycheeignore +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.pre-commit-config.yaml +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/.vscode/launch.json +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/CODEOWNERS +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/CODE_OF_CONDUCT.md +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/LICENSE +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/MANIFEST.in +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/OWNERS +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/base-images/envd/build.sh +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/base-images/envd/envd-daemonless.Dockerfile +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/base-images/envd/envd.Dockerfile +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/base-images/envd-sshd/envd-sshd.Dockerfile +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/base-images/envd-starship/envd-starship.Dockerfile +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/cmd/envd/main.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/cmd/envd-sshd/main.go +0 -0
- {envd-0.4.3/envd/api/v0 → envd-1.0.0a3/envd/api/v1}/runtime.py +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd/api.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd.egg-info/dependency_links.txt +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd.egg-info/not-zip-safe +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/envd.egg-info/top_level.txt +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/lychee.toml +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/bootstrap.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/build/build.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/completion.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/const.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/context.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/context_create.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/context_ls.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/context_rm.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/context_use.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/debug_llb.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/destroy.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/env.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/env_describe.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/env_ls.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/exec.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/data.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/json/context.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/json/env.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/json/image.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/json/print.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/json/version.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/table/context.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/table/env.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/table/image.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/formatter/table/version.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/image.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/image_describe.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/image_prune.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/image_prune_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/image_remove.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/init.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/login.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/pause.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/prune.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/reference.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/resume.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/run.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/telemetry/reporter.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/template/julia.envd +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/template/r.envd +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/top.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/app/version.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/autocomplete/bash.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/autocomplete/fish.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/autocomplete/zsh.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/build_func.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/builder.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/builder_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/dep_check.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/err.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/util.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/builder/util_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/buildkitd/buildkitd.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/buildkitd/mock/mock.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/buildkitd/print.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/config/config.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/data/datasource.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/data/envd.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/client.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/docker/docker.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/docker/docker_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/docker/docker_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/docker/label.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/nerdctl/buildkit.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/nerdctl/nerdctl.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/driver/stats_type.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/editor/vscode/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/editor/vscode/util.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/editor/vscode/vscode.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/editor/vscode/vscode_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/editor/vscode/vscode_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/docker_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/engine.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/envdserver.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/factory.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/envd/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/flag/consts.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/auth.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/auth_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/cache.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/config.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/context.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/context_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/data.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/home_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/home/manager_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/interpreter.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/mock/mock.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/builtin/builtin.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/config/config.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/config/const.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/data/const.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/data/rule.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/data/util.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/install/const.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/install/install.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/interpreter.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/interpreter_test.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/io/const.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/io/io.go +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/runtime/const.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/runtime/runtime.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/starlark_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/testdata/test.envd +0 -0
- {envd-0.4.3/pkg/lang/frontend/starlark/v0 → envd-1.0.0a3/pkg/lang/frontend/starlark/v1}/universe/const.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/frontend/starlark/v1/universe/universe.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/cache.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/checker.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/consts.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/editor.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/editor_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/fs.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/get_conda.sh +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/git.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/install_conda.sh +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/interface.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/shell.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/supervisor.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/user.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/util.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/lang/ir/v1/util_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/metrics/collector.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/metrics/docker_collector.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/metrics/helper.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/metrics/model.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/metrics/widget.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/display.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/mock/mock.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/term.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/term_windows.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/trace.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/compileui/types.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/mode/mode.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progressui/display.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progressui/display_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progressui/printer.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progressui/term.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progressui/term_windows.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progresswriter/printer.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/progress/progresswriter/writer.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/remote/sshd/os.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/remote/sshd/sshd.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/shell/install.sh +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/shell/zsh.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/shell/zsh_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/shell/zsh_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/shell/zshrc +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/config/entry.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/config/key.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/config/ssh_config.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/config/ssh_config_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/config/ssh_config_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/copy.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/ssh/ssh.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/client.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/config.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/device.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/event.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/file.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/folder.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/install.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/syncthing.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/syncthing_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/syncthing/util.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/types/container.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/types/label.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/types/types_suite_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/buildkitutil/buildkit.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/buildkitutil/buildkit_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/envutil/env.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/envutil/env_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/fileutil/file.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/fileutil/file_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/fileutil/namegenerator.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/netutil/netutil.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/netutil/netutil_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/osutil/wsl.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/runtimeutil/runtimeutil.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/starlarkutil/stringslice.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/starlarkutil/stringslice_test.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/util/ziputil/unzip.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pkg/version/version.go +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/pyproject.toml +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/scripts/envd-daemonless.sh +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/setup.cfg +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/setup.py +0 -0
- {envd-0.4.3 → envd-1.0.0a3}/typos.toml +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
v1.0.0-alpha.3
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# This is an example .goreleaser.yml file with some sensible defaults.
|
|
2
2
|
# Make sure to check the documentation at https://goreleaser.com
|
|
3
|
+
version: 2
|
|
3
4
|
before:
|
|
4
5
|
hooks:
|
|
5
6
|
- go mod tidy
|
|
@@ -60,7 +61,7 @@ archives:
|
|
|
60
61
|
checksum:
|
|
61
62
|
name_template: 'checksums.txt'
|
|
62
63
|
snapshot:
|
|
63
|
-
|
|
64
|
+
version_template: "{{ incpatch .Version }}-next"
|
|
64
65
|
changelog:
|
|
65
66
|
use: github
|
|
66
67
|
sort: asc
|
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.4.3 (2025-01-20)
|
|
4
|
+
|
|
5
|
+
* [72e3b49](https://github.com/tensorchord/envd/commit/72e3b495ab776b5ba524217099ed7a2c88cbd909) fix(ci): release on ubuntu with wheels from previous steps (#1960)
|
|
6
|
+
|
|
7
|
+
### Contributors
|
|
8
|
+
|
|
9
|
+
* Keming
|
|
10
|
+
|
|
11
|
+
## v0.4.2 (2025-01-20)
|
|
12
|
+
|
|
13
|
+
* [7f31185](https://github.com/tensorchord/envd/commit/7f311854f1103c9bf104bdcc3d2a7fa2a2168b25) feat: update pypi meta, fix macos upload (#1958)
|
|
14
|
+
|
|
15
|
+
### Contributors
|
|
16
|
+
|
|
17
|
+
* Keming
|
|
18
|
+
|
|
19
|
+
## v0.4.1 (2025-01-20)
|
|
20
|
+
|
|
21
|
+
* [f6d9fd2](https://github.com/tensorchord/envd/commit/f6d9fd280221de5ad4d0045e7e50755568ed3ff0) feat: use PyPI OIDC for release (#1957)
|
|
22
|
+
|
|
23
|
+
### Contributors
|
|
24
|
+
|
|
25
|
+
* Keming
|
|
26
|
+
|
|
27
|
+
## v0.4.0 (2025-01-20)
|
|
28
|
+
|
|
29
|
+
* [600e0df](https://github.com/tensorchord/envd/commit/600e0df522b773076fcc2f89600362e23ad4d223) fix: use ubuntu 22.04 for all the dind related tests (#1955)
|
|
30
|
+
* [e737022](https://github.com/tensorchord/envd/commit/e737022c3fe3af01f8bf391feca6e48b08e71753) feat: support fish shell (#1952)
|
|
31
|
+
* [1a54052](https://github.com/tensorchord/envd/commit/1a54052e339cb60e2f4efe04ffddd0ffc798af0f) feat: upgrade to ubuntu 22.04 (#1939)
|
|
32
|
+
* [5ad6168](https://github.com/tensorchord/envd/commit/5ad61681f6d7e699de69020d498f01e6d818eabe) feat: upgrade to python 3.11 (#1940)
|
|
33
|
+
* [1155c9a](https://github.com/tensorchord/envd/commit/1155c9ae53aca62e61584b49cef45b027b4b9557) docs(readme): fix github markdown callout (#1945)
|
|
34
|
+
|
|
35
|
+
### Contributors
|
|
36
|
+
|
|
37
|
+
* Keming
|
|
38
|
+
|
|
3
39
|
## v0.3.47 (2025-01-09)
|
|
4
40
|
|
|
5
41
|
* [95bb1c3](https://github.com/tensorchord/envd/commit/95bb1c37f177c6e6e4ba49d4429e6e8a1ebc6ea5) feat(cache): update cuda & cudnn version (#1943)
|
|
@@ -188,7 +188,6 @@ e2e-test:
|
|
|
188
188
|
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
189
189
|
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-coverage.out ./e2e
|
|
190
190
|
|
|
191
|
-
|
|
192
191
|
e2e-cli-test:
|
|
193
192
|
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
194
193
|
-X $(ROOT)/pkg/version.buildDate=$(BUILD_DATE) \
|
|
@@ -196,7 +195,7 @@ e2e-cli-test:
|
|
|
196
195
|
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
197
196
|
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
198
197
|
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
199
|
-
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-cli-coverage.out ./e2e/
|
|
198
|
+
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-cli-coverage.out ./e2e/cli
|
|
200
199
|
|
|
201
200
|
e2e-lang-test:
|
|
202
201
|
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
@@ -205,7 +204,7 @@ e2e-lang-test:
|
|
|
205
204
|
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
206
205
|
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
207
206
|
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
208
|
-
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-lang-coverage.out ./e2e/
|
|
207
|
+
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-lang-coverage.out ./e2e/language
|
|
209
208
|
|
|
210
209
|
e2e-doc-test:
|
|
211
210
|
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
@@ -214,34 +213,7 @@ e2e-doc-test:
|
|
|
214
213
|
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
215
214
|
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
216
215
|
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
217
|
-
-race -v -timeout 60m -coverpkg=./pkg/... -coverprofile=e2e-doc-coverage.out ./e2e/
|
|
218
|
-
|
|
219
|
-
e2e-cli-test-v1:
|
|
220
|
-
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
221
|
-
-X $(ROOT)/pkg/version.buildDate=$(BUILD_DATE) \
|
|
222
|
-
-X $(ROOT)/pkg/version.gitCommit=$(GIT_COMMIT) \
|
|
223
|
-
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
224
|
-
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
225
|
-
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
226
|
-
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-cli-v1-coverage.out ./e2e/v1/cli
|
|
227
|
-
|
|
228
|
-
e2e-lang-test-v1:
|
|
229
|
-
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
230
|
-
-X $(ROOT)/pkg/version.buildDate=$(BUILD_DATE) \
|
|
231
|
-
-X $(ROOT)/pkg/version.gitCommit=$(GIT_COMMIT) \
|
|
232
|
-
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
233
|
-
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
234
|
-
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
235
|
-
-race -v -timeout 20m -coverpkg=./pkg/... -coverprofile=e2e-lang-v1-coverage.out ./e2e/v1/language
|
|
236
|
-
|
|
237
|
-
e2e-doc-test-v1:
|
|
238
|
-
@go test -ldflags "-s -w -X $(ROOT)/pkg/version.version=$(VERSION) \
|
|
239
|
-
-X $(ROOT)/pkg/version.buildDate=$(BUILD_DATE) \
|
|
240
|
-
-X $(ROOT)/pkg/version.gitCommit=$(GIT_COMMIT) \
|
|
241
|
-
-X $(ROOT)/pkg/version.gitTreeState=$(GIT_TREE_STATE) \
|
|
242
|
-
-X $(ROOT)/pkg/version.gitTag="$(shell git describe --tags --abbrev=0)" \
|
|
243
|
-
-X $(ROOT)/pkg/version.developmentFlag=true" \
|
|
244
|
-
-race -v -timeout 60m -coverpkg=./pkg/... -coverprofile=e2e-doc-v1-coverage.out ./e2e/v1/docs
|
|
216
|
+
-race -v -timeout 60m -coverpkg=./pkg/... -coverprofile=e2e-doc-coverage.out ./e2e/docs
|
|
245
217
|
|
|
246
218
|
clean: ## Clean the outputs and artifacts
|
|
247
219
|
@-rm -vrf ${OUTPUT_DIR}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: envd
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 1.0.0a3
|
|
4
4
|
Summary: A development environment management tool for data scientists.
|
|
5
5
|
Home-page: https://github.com/tensorchord/envd
|
|
6
6
|
Author: TensorChord
|
|
@@ -56,10 +56,13 @@ Environments built with `envd` provide the following features out-of-the-box:
|
|
|
56
56
|
|
|
57
57
|
```python
|
|
58
58
|
def build():
|
|
59
|
+
base(dev=True)
|
|
60
|
+
install.conda()
|
|
61
|
+
install.python()
|
|
59
62
|
install.python_packages(name = [
|
|
60
63
|
"numpy",
|
|
61
64
|
])
|
|
62
|
-
shell("
|
|
65
|
+
shell("fish")
|
|
63
66
|
config.jupyter()
|
|
64
67
|
```
|
|
65
68
|
|
|
@@ -111,7 +114,9 @@ Forget copy-pasting Dockerfile instructions - use envd to easily build functions
|
|
|
111
114
|
envdlib = include("https://github.com/tensorchord/envdlib")
|
|
112
115
|
|
|
113
116
|
def build():
|
|
114
|
-
base(
|
|
117
|
+
base(dev=True)
|
|
118
|
+
install.conda()
|
|
119
|
+
install.python()
|
|
115
120
|
envdlib.tensorboard(host_port=8888)
|
|
116
121
|
```
|
|
117
122
|
|
|
@@ -195,13 +200,15 @@ The build manifest `build.envd` looks like:
|
|
|
195
200
|
|
|
196
201
|
```python title=build.envd
|
|
197
202
|
def build():
|
|
198
|
-
base(
|
|
203
|
+
base(dev=True)
|
|
204
|
+
install.conda()
|
|
205
|
+
install.python()
|
|
199
206
|
# Configure the pip index if needed.
|
|
200
207
|
# config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
|
|
201
208
|
install.python_packages(name = [
|
|
202
209
|
"numpy",
|
|
203
210
|
])
|
|
204
|
-
shell("
|
|
211
|
+
shell("fish")
|
|
205
212
|
```
|
|
206
213
|
|
|
207
214
|
*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).*
|
|
@@ -214,29 +221,34 @@ cd envd-quick-start && envd up
|
|
|
214
221
|
|
|
215
222
|
```bash
|
|
216
223
|
$ cd envd-quick-start && envd up
|
|
217
|
-
[+] ⌚ parse build.envd and download/cache dependencies
|
|
218
|
-
|
|
219
|
-
[
|
|
220
|
-
=>
|
|
221
|
-
=>
|
|
222
|
-
=>
|
|
223
|
-
|
|
224
|
-
=> pip install numpy
|
|
225
|
-
=>
|
|
226
|
-
=>
|
|
227
|
-
=>
|
|
228
|
-
=>
|
|
229
|
-
=>
|
|
230
|
-
=> install
|
|
231
|
-
|
|
232
|
-
=>
|
|
233
|
-
=>
|
|
234
|
-
=> exporting
|
|
235
|
-
=> =>
|
|
236
|
-
=> =>
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
224
|
+
[+] ⌚ parse build.envd and download/cache dependencies 6.2s ✅ (finished)
|
|
225
|
+
[+] build envd environment 19.0s (47/47) FINISHED
|
|
226
|
+
=> CACHED [internal] setting pip cache mount permissions 0.0s
|
|
227
|
+
=> docker-image://docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3 2.3s
|
|
228
|
+
=> => resolve docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3 2.3s
|
|
229
|
+
=> docker-image://docker.io/library/ubuntu:22.04 0.0s
|
|
230
|
+
......
|
|
231
|
+
=> [internal] pip install numpy 2.5s
|
|
232
|
+
=> CACHED [internal] download fish shell 0.0s
|
|
233
|
+
=> [internal] configure user permissions for /opt/conda 1.0s
|
|
234
|
+
=> [internal] create dir for ssh key 0.5s
|
|
235
|
+
=> [internal] install ssh keys 0.2s
|
|
236
|
+
=> [internal] copy fish shell from the builder image 0.2s
|
|
237
|
+
=> [internal] install fish shell 0.5s
|
|
238
|
+
......
|
|
239
|
+
=> [internal] create work dir: /home/envd/envd-quick-start 0.2s
|
|
240
|
+
=> exporting to image 7.7s
|
|
241
|
+
=> => exporting layers 7.7s
|
|
242
|
+
=> => writing image sha256:464a0c12759d3d1732404f217d5c6e06d0ee4890cccd66391a608daf2bd314e4 0.0s
|
|
243
|
+
=> => naming to docker.io/library/envd-quick-start:dev 0.0s
|
|
244
|
+
------
|
|
245
|
+
> importing cache manifest from docker.io/tensorchord/python-cache:envd-v0.4.3:
|
|
246
|
+
------
|
|
247
|
+
⣽ [5/5] attach the environment [2s]
|
|
248
|
+
Welcome to fish, the friendly interactive shell
|
|
249
|
+
Type help for instructions on how to use fish
|
|
250
|
+
|
|
251
|
+
envd-quick-start on git master [!] via Py v3.11.11 via 🅒 envd as sudo
|
|
240
252
|
⬢ [envd]❯ # You are in the container-based environment!
|
|
241
253
|
```
|
|
242
254
|
|
|
@@ -246,13 +258,15 @@ Please edit the `build.envd` to enable jupyter notebook:
|
|
|
246
258
|
|
|
247
259
|
```python title=build.envd
|
|
248
260
|
def build():
|
|
249
|
-
base(
|
|
261
|
+
base(dev=True)
|
|
262
|
+
install.conda()
|
|
263
|
+
install.python()
|
|
250
264
|
# Configure the pip index if needed.
|
|
251
265
|
# config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
|
|
252
266
|
install.python_packages(name = [
|
|
253
267
|
"numpy",
|
|
254
268
|
])
|
|
255
|
-
shell("
|
|
269
|
+
shell("fish")
|
|
256
270
|
config.jupyter()
|
|
257
271
|
```
|
|
258
272
|
|
|
@@ -265,10 +279,10 @@ NAME JUPYTER SSH TARGET CONTEXT
|
|
|
265
279
|
envd-quick-start http://localhost:42779 envd-quick-start.envd /home/gaocegege/code/envd-quick-start envd-quick-start:dev false <none> <none> Up 54 seconds bd3f6a729e94
|
|
266
280
|
```
|
|
267
281
|
|
|
268
|
-
## Difference between v0 and v1
|
|
282
|
+
## Difference between v0 and v1 syntax
|
|
269
283
|
|
|
270
284
|
> [!NOTE]
|
|
271
|
-
>
|
|
285
|
+
> Start from `envd v1.0`, `v1` syntax is the default syntax for `build.envd` file, and `moby-worker` is the default builder.
|
|
272
286
|
|
|
273
287
|
| Features | v0 | v1 |
|
|
274
288
|
| --- | --- | --- |
|
|
@@ -278,11 +292,7 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
|
|
|
278
292
|
| support serving | ⚠️ | ✅ |
|
|
279
293
|
| support custom base image | ⚠️ | ✅ |
|
|
280
294
|
| support installing multiple languages | ⚠️ | ✅ |
|
|
281
|
-
| support `moby` builder | ❌ | ✅
|
|
282
|
-
|
|
283
|
-
> [!NOTE]
|
|
284
|
-
> <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`.
|
|
285
|
-
> For more information about the `moby` builder, check the [issue-1693](https://github.com/tensorchord/envd/issues/1693).
|
|
295
|
+
| support `moby` builder | ❌ | ✅ |
|
|
286
296
|
|
|
287
297
|
> [!IMPORTANT]
|
|
288
298
|
> For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.
|
|
@@ -37,10 +37,13 @@ Environments built with `envd` provide the following features out-of-the-box:
|
|
|
37
37
|
|
|
38
38
|
```python
|
|
39
39
|
def build():
|
|
40
|
+
base(dev=True)
|
|
41
|
+
install.conda()
|
|
42
|
+
install.python()
|
|
40
43
|
install.python_packages(name = [
|
|
41
44
|
"numpy",
|
|
42
45
|
])
|
|
43
|
-
shell("
|
|
46
|
+
shell("fish")
|
|
44
47
|
config.jupyter()
|
|
45
48
|
```
|
|
46
49
|
|
|
@@ -92,7 +95,9 @@ Forget copy-pasting Dockerfile instructions - use envd to easily build functions
|
|
|
92
95
|
envdlib = include("https://github.com/tensorchord/envdlib")
|
|
93
96
|
|
|
94
97
|
def build():
|
|
95
|
-
base(
|
|
98
|
+
base(dev=True)
|
|
99
|
+
install.conda()
|
|
100
|
+
install.python()
|
|
96
101
|
envdlib.tensorboard(host_port=8888)
|
|
97
102
|
```
|
|
98
103
|
|
|
@@ -176,13 +181,15 @@ The build manifest `build.envd` looks like:
|
|
|
176
181
|
|
|
177
182
|
```python title=build.envd
|
|
178
183
|
def build():
|
|
179
|
-
base(
|
|
184
|
+
base(dev=True)
|
|
185
|
+
install.conda()
|
|
186
|
+
install.python()
|
|
180
187
|
# Configure the pip index if needed.
|
|
181
188
|
# config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
|
|
182
189
|
install.python_packages(name = [
|
|
183
190
|
"numpy",
|
|
184
191
|
])
|
|
185
|
-
shell("
|
|
192
|
+
shell("fish")
|
|
186
193
|
```
|
|
187
194
|
|
|
188
195
|
*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).*
|
|
@@ -195,29 +202,34 @@ cd envd-quick-start && envd up
|
|
|
195
202
|
|
|
196
203
|
```bash
|
|
197
204
|
$ cd envd-quick-start && envd up
|
|
198
|
-
[+] ⌚ parse build.envd and download/cache dependencies
|
|
199
|
-
|
|
200
|
-
[
|
|
201
|
-
=>
|
|
202
|
-
=>
|
|
203
|
-
=>
|
|
204
|
-
|
|
205
|
-
=> pip install numpy
|
|
206
|
-
=>
|
|
207
|
-
=>
|
|
208
|
-
=>
|
|
209
|
-
=>
|
|
210
|
-
=>
|
|
211
|
-
=> install
|
|
212
|
-
|
|
213
|
-
=>
|
|
214
|
-
=>
|
|
215
|
-
=> exporting
|
|
216
|
-
=> =>
|
|
217
|
-
=> =>
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
205
|
+
[+] ⌚ parse build.envd and download/cache dependencies 6.2s ✅ (finished)
|
|
206
|
+
[+] build envd environment 19.0s (47/47) FINISHED
|
|
207
|
+
=> CACHED [internal] setting pip cache mount permissions 0.0s
|
|
208
|
+
=> docker-image://docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3 2.3s
|
|
209
|
+
=> => resolve docker.io/tensorchord/envd-sshd-from-scratch:v0.4.3 2.3s
|
|
210
|
+
=> docker-image://docker.io/library/ubuntu:22.04 0.0s
|
|
211
|
+
......
|
|
212
|
+
=> [internal] pip install numpy 2.5s
|
|
213
|
+
=> CACHED [internal] download fish shell 0.0s
|
|
214
|
+
=> [internal] configure user permissions for /opt/conda 1.0s
|
|
215
|
+
=> [internal] create dir for ssh key 0.5s
|
|
216
|
+
=> [internal] install ssh keys 0.2s
|
|
217
|
+
=> [internal] copy fish shell from the builder image 0.2s
|
|
218
|
+
=> [internal] install fish shell 0.5s
|
|
219
|
+
......
|
|
220
|
+
=> [internal] create work dir: /home/envd/envd-quick-start 0.2s
|
|
221
|
+
=> exporting to image 7.7s
|
|
222
|
+
=> => exporting layers 7.7s
|
|
223
|
+
=> => writing image sha256:464a0c12759d3d1732404f217d5c6e06d0ee4890cccd66391a608daf2bd314e4 0.0s
|
|
224
|
+
=> => naming to docker.io/library/envd-quick-start:dev 0.0s
|
|
225
|
+
------
|
|
226
|
+
> importing cache manifest from docker.io/tensorchord/python-cache:envd-v0.4.3:
|
|
227
|
+
------
|
|
228
|
+
⣽ [5/5] attach the environment [2s]
|
|
229
|
+
Welcome to fish, the friendly interactive shell
|
|
230
|
+
Type help for instructions on how to use fish
|
|
231
|
+
|
|
232
|
+
envd-quick-start on git master [!] via Py v3.11.11 via 🅒 envd as sudo
|
|
221
233
|
⬢ [envd]❯ # You are in the container-based environment!
|
|
222
234
|
```
|
|
223
235
|
|
|
@@ -227,13 +239,15 @@ Please edit the `build.envd` to enable jupyter notebook:
|
|
|
227
239
|
|
|
228
240
|
```python title=build.envd
|
|
229
241
|
def build():
|
|
230
|
-
base(
|
|
242
|
+
base(dev=True)
|
|
243
|
+
install.conda()
|
|
244
|
+
install.python()
|
|
231
245
|
# Configure the pip index if needed.
|
|
232
246
|
# config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
|
|
233
247
|
install.python_packages(name = [
|
|
234
248
|
"numpy",
|
|
235
249
|
])
|
|
236
|
-
shell("
|
|
250
|
+
shell("fish")
|
|
237
251
|
config.jupyter()
|
|
238
252
|
```
|
|
239
253
|
|
|
@@ -246,10 +260,10 @@ NAME JUPYTER SSH TARGET CONTEXT
|
|
|
246
260
|
envd-quick-start http://localhost:42779 envd-quick-start.envd /home/gaocegege/code/envd-quick-start envd-quick-start:dev false <none> <none> Up 54 seconds bd3f6a729e94
|
|
247
261
|
```
|
|
248
262
|
|
|
249
|
-
## Difference between v0 and v1
|
|
263
|
+
## Difference between v0 and v1 syntax
|
|
250
264
|
|
|
251
265
|
> [!NOTE]
|
|
252
|
-
>
|
|
266
|
+
> Start from `envd v1.0`, `v1` syntax is the default syntax for `build.envd` file, and `moby-worker` is the default builder.
|
|
253
267
|
|
|
254
268
|
| Features | v0 | v1 |
|
|
255
269
|
| --- | --- | --- |
|
|
@@ -259,11 +273,7 @@ envd-quick-start http://localhost:42779 envd-quick-start.envd /home/g
|
|
|
259
273
|
| support serving | ⚠️ | ✅ |
|
|
260
274
|
| support custom base image | ⚠️ | ✅ |
|
|
261
275
|
| support installing multiple languages | ⚠️ | ✅ |
|
|
262
|
-
| support `moby` builder | ❌ | ✅
|
|
263
|
-
|
|
264
|
-
> [!NOTE]
|
|
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
|
-
> For more information about the `moby` builder, check the [issue-1693](https://github.com/tensorchord/envd/issues/1693).
|
|
276
|
+
| support `moby` builder | ❌ | ✅ |
|
|
267
277
|
|
|
268
278
|
> [!IMPORTANT]
|
|
269
279
|
> For more details, check the [upgrade to v1](https://envd.tensorchord.ai/guide/v1.html) doc.
|
|
@@ -26,6 +26,7 @@ TAG_SUFFIX="${TAG_SUFFIX:-}"
|
|
|
26
26
|
|
|
27
27
|
cd ${ROOT_DIR}
|
|
28
28
|
|
|
29
|
+
envd context create --name docker --builder docker-container --use
|
|
29
30
|
envd --debug build -f build.envd:${BUILD_FUNC} --export-cache type=registry,ref=docker.io/${DOCKER_HUB_ORG}/python-cache:envd-v${ENVD_VERSION}${TAG_SUFFIX} --force
|
|
30
31
|
|
|
31
32
|
cd - > /dev/null
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
def build():
|
|
2
|
+
"""default"""
|
|
3
|
+
base(dev=True)
|
|
4
|
+
install.conda()
|
|
5
|
+
install.python()
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def build_gpu_11_8():
|
|
9
|
+
"""cuda 11"""
|
|
10
|
+
base(dev=True)
|
|
11
|
+
install.conda()
|
|
12
|
+
install.python()
|
|
13
|
+
install.cuda(version="11.8.0", cudnn="8")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def build_gpu_12_2():
|
|
17
|
+
"""cuda 12"""
|
|
18
|
+
base(dev=True)
|
|
19
|
+
install.conda()
|
|
20
|
+
install.python()
|
|
21
|
+
install.cuda(version="12.2.2", cudnn="8")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def build_gpu_12_3():
|
|
25
|
+
"""cudnn 9"""
|
|
26
|
+
base(dev=True)
|
|
27
|
+
install.conda()
|
|
28
|
+
install.python()
|
|
29
|
+
install.cuda(version="12.3.2", cudnn="9")
|
|
@@ -19,6 +19,12 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
+
|
|
23
|
+
::: warning
|
|
24
|
+
v0 syntax is no longer supported from `envd>=v1.0`. Check the [upgrade guide](https://envd.tensorchord.ai/guide/v1.html).
|
|
25
|
+
|
|
26
|
+
If you want to use v0 syntax, try `pip install 'envd<1'`.
|
|
27
|
+
:::
|
|
22
28
|
"""
|
|
23
29
|
|
|
24
30
|
from typing import List, Optional
|
|
@@ -19,6 +19,12 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
+
|
|
23
|
+
::: warning
|
|
24
|
+
v0 syntax is no longer supported from `envd>=v1.0`. Check the [upgrade guide](https://envd.tensorchord.ai/guide/v1.html).
|
|
25
|
+
|
|
26
|
+
If you want to use v0 syntax, try `pip install 'envd<1'`.
|
|
27
|
+
:::
|
|
22
28
|
"""
|
|
23
29
|
|
|
24
30
|
from typing import List, Optional
|
|
@@ -30,15 +36,15 @@ def apt_source(source: Optional[str]):
|
|
|
30
36
|
Example usage:
|
|
31
37
|
```python
|
|
32
38
|
apt_source(source='''
|
|
33
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
34
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
35
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
36
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
37
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
38
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
39
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
40
|
-
deb http://archive.canonical.com/ubuntu
|
|
41
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
39
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy main restricted
|
|
40
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted
|
|
41
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy universe
|
|
42
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates universe
|
|
43
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy multiverse
|
|
44
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates multiverse
|
|
45
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse
|
|
46
|
+
deb http://archive.canonical.com/ubuntu jammy partner
|
|
47
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
|
|
42
48
|
''')
|
|
43
49
|
```
|
|
44
50
|
|
|
@@ -19,6 +19,12 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
+
|
|
23
|
+
::: warning
|
|
24
|
+
v0 syntax is no longer supported from `envd>=v1.0`. Check the [upgrade guide](https://envd.tensorchord.ai/guide/v1.html).
|
|
25
|
+
|
|
26
|
+
If you want to use v0 syntax, try `pip install 'envd<1'`.
|
|
27
|
+
:::
|
|
22
28
|
"""
|
|
23
29
|
|
|
24
30
|
from typing import List, Optional
|
|
@@ -19,6 +19,12 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
+
|
|
23
|
+
::: warning
|
|
24
|
+
v0 syntax is no longer supported from `envd>=v1.0`. Check the [upgrade guide](https://envd.tensorchord.ai/guide/v1.html).
|
|
25
|
+
|
|
26
|
+
If you want to use v0 syntax, try `pip install 'envd<1'`.
|
|
27
|
+
:::
|
|
22
28
|
"""
|
|
23
29
|
|
|
24
30
|
from typing import Optional
|
|
@@ -21,9 +21,9 @@ Please update the python file there instead of directly editing file inside envd
|
|
|
21
21
|
:::
|
|
22
22
|
|
|
23
23
|
::: warning
|
|
24
|
-
|
|
24
|
+
v0 syntax is no longer supported from `envd>=v1.0`. Check the [upgrade guide](https://envd.tensorchord.ai/guide/v1.html).
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
If you want to use v0 syntax, try `pip install 'envd<1'`.
|
|
27
27
|
:::
|
|
28
28
|
"""
|
|
29
29
|
|
|
@@ -19,12 +19,6 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
-
|
|
23
|
-
::: warning
|
|
24
|
-
Enable v1 by adding `# syntax=v1` to the 1st line of your envd file.
|
|
25
|
-
|
|
26
|
-
v1 is experimental and may change in the future. Make sure to freeze the envd version for online CI/CD.
|
|
27
|
-
:::
|
|
28
22
|
"""
|
|
29
23
|
|
|
30
24
|
from typing import List, Optional
|
|
@@ -47,7 +41,7 @@ def shell(name: str = "bash"):
|
|
|
47
41
|
"""Interactive shell
|
|
48
42
|
|
|
49
43
|
Args:
|
|
50
|
-
name (str): shell name (i.e. `zsh`, `bash`)
|
|
44
|
+
name (str): shell name (i.e. `zsh`, `bash`, `fish`)
|
|
51
45
|
"""
|
|
52
46
|
|
|
53
47
|
|
|
@@ -19,12 +19,6 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
-
|
|
23
|
-
::: warning
|
|
24
|
-
Enable v1 by adding `# syntax=v1` to the 1st line of your envd file.
|
|
25
|
-
|
|
26
|
-
v1 is experimental and may change in the future. Make sure to freeze the envd version for online CI/CD.
|
|
27
|
-
:::
|
|
28
22
|
"""
|
|
29
23
|
|
|
30
24
|
from typing import List, Optional
|
|
@@ -36,15 +30,15 @@ def apt_source(source: Optional[str]):
|
|
|
36
30
|
Example usage:
|
|
37
31
|
```python
|
|
38
32
|
apt_source(source='''
|
|
39
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
40
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
41
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
42
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
43
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
44
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
45
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
46
|
-
deb http://archive.canonical.com/ubuntu
|
|
47
|
-
deb https://mirror.sjtu.edu.cn/ubuntu
|
|
33
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy main restricted
|
|
34
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted
|
|
35
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy universe
|
|
36
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates universe
|
|
37
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy multiverse
|
|
38
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates multiverse
|
|
39
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse
|
|
40
|
+
deb http://archive.canonical.com/ubuntu jammy partner
|
|
41
|
+
deb https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
|
|
48
42
|
''')
|
|
49
43
|
```
|
|
50
44
|
|
|
@@ -19,12 +19,6 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
-
|
|
23
|
-
::: warning
|
|
24
|
-
Enable v1 by adding `# syntax=v1` to the 1st line of your envd file.
|
|
25
|
-
|
|
26
|
-
v1 is experimental and may change in the future. Make sure to freeze the envd version for online CI/CD.
|
|
27
|
-
:::
|
|
28
22
|
"""
|
|
29
23
|
|
|
30
24
|
from typing import Optional, Sequence
|
|
@@ -19,12 +19,6 @@ Note that the documentation is automatically generated from [envd/api](https://g
|
|
|
19
19
|
in [tensorchord/envd](https://github.com/tensorchord/envd/tree/main/envd/api) repo.
|
|
20
20
|
Please update the python file there instead of directly editing file inside envd-docs repo.
|
|
21
21
|
:::
|
|
22
|
-
|
|
23
|
-
::: warning
|
|
24
|
-
Enable v1 by adding `# syntax=v1` to the 1st line of your envd file.
|
|
25
|
-
|
|
26
|
-
v1 is experimental and may change in the future. Make sure to freeze the envd version for online CI/CD.
|
|
27
|
-
:::
|
|
28
22
|
"""
|
|
29
23
|
|
|
30
24
|
from typing import Optional
|