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.
- envd-0.4.0/.GIT_TAG_INFO +1 -0
- {envd-0.3.47 → envd-0.4.0}/CHANGELOG.md +21 -0
- {envd-0.3.47 → envd-0.4.0}/PKG-INFO +11 -12
- {envd-0.3.47 → envd-0.4.0}/README.md +8 -8
- {envd-0.3.47 → envd-0.4.0}/base-images/build.sh +1 -1
- {envd-0.3.47 → envd-0.4.0}/base-images/julia1.8rc1-ubuntu20.04.Dockerfile +1 -1
- {envd-0.3.47 → envd-0.4.0}/base-images/remote-cache/build.envd +4 -4
- {envd-0.3.47 → envd-0.4.0}/envd/api/v0/__init__.py +3 -3
- {envd-0.3.47 → envd-0.4.0}/envd/api/v0/config.py +1 -1
- {envd-0.3.47 → envd-0.4.0}/envd/api/v1/__init__.py +2 -2
- {envd-0.3.47 → envd-0.4.0}/envd/api/v1/config.py +1 -1
- {envd-0.3.47 → envd-0.4.0}/envd/api/v1/install.py +2 -2
- {envd-0.3.47 → envd-0.4.0}/envd.egg-info/PKG-INFO +11 -12
- {envd-0.3.47 → envd-0.4.0}/go.mod +4 -4
- {envd-0.3.47 → envd-0.4.0}/go.sum +8 -8
- {envd-0.3.47 → envd-0.4.0}/pkg/app/interactive.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/app/template/julia.envd +2 -2
- {envd-0.3.47 → envd-0.4.0}/pkg/app/template/r.envd +2 -2
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/interpreter_test.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/testdata/test.envd +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/conda.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/consts.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/install-conda.sh +3 -6
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/python.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/system.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/conda.go +17 -4
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/consts.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/get_conda.sh +3 -6
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/interface.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/python.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/shell.go +29 -1
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/types.go +1 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/types/envd.go +1 -1
- {envd-0.3.47 → envd-0.4.0}/setup.py +2 -3
- envd-0.3.47/.GIT_TAG_INFO +0 -1
- {envd-0.3.47 → envd-0.4.0}/.all-contributorsrc +0 -0
- {envd-0.3.47 → envd-0.4.0}/.editorconfig +0 -0
- {envd-0.3.47 → envd-0.4.0}/.gitignore +0 -0
- {envd-0.3.47 → envd-0.4.0}/.golangci.yml +0 -0
- {envd-0.3.47 → envd-0.4.0}/.goreleaser.yaml +0 -0
- {envd-0.3.47 → envd-0.4.0}/.lycheeignore +0 -0
- {envd-0.3.47 → envd-0.4.0}/.pre-commit-config.yaml +0 -0
- {envd-0.3.47 → envd-0.4.0}/.vscode/launch.json +0 -0
- {envd-0.3.47 → envd-0.4.0}/CODEOWNERS +0 -0
- {envd-0.3.47 → envd-0.4.0}/CODE_OF_CONDUCT.md +0 -0
- {envd-0.3.47 → envd-0.4.0}/LICENSE +0 -0
- {envd-0.3.47 → envd-0.4.0}/MANIFEST.in +0 -0
- {envd-0.3.47 → envd-0.4.0}/Makefile +0 -0
- {envd-0.3.47 → envd-0.4.0}/OWNERS +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/.dockerignore +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/envd/build.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/envd/envd-daemonless.Dockerfile +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/envd/envd.Dockerfile +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/envd-sshd/envd-sshd.Dockerfile +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/envd-starship/envd-starship.Dockerfile +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/r4.2.Dockerfile +0 -0
- {envd-0.3.47 → envd-0.4.0}/base-images/remote-cache/build-and-push-remote-cache.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/cmd/envd/main.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/cmd/envd-sshd/main.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api/v0/install.py +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api/v0/io.py +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api/v0/runtime.py +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api/v1/io.py +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api/v1/runtime.py +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd/api.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd.egg-info/SOURCES.txt +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd.egg-info/dependency_links.txt +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd.egg-info/not-zip-safe +0 -0
- {envd-0.3.47 → envd-0.4.0}/envd.egg-info/top_level.txt +0 -0
- {envd-0.3.47 → envd-0.4.0}/lychee.toml +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/app.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/bootstrap.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/build/build.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/build.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/completion.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/context.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/context_create.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/context_ls.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/context_rm.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/context_use.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/debug.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/debug_llb.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/destroy.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/env.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/env_describe.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/env_ls.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/exec.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/data.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/context.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/env.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/image.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/print.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/json/version.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/context.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/env.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/image.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/formatter/table/version.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/image.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/image_describe.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/image_prune.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/image_prune_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/image_remove.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/init.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/login.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/pause.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/prune.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/reference.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/resume.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/run.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/telemetry/reporter.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/top.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/up.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/app/version.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/bash.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/fish.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/autocomplete/zsh.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/build.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/build_func.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/builder_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/dep_check.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/err.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/builder/util_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/buildkitd.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/mock/mock.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/buildkitd/print.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/config/config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/data/datasource.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/data/envd.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/client.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/docker_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/docker/label.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/nerdctl/buildkit.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/nerdctl/nerdctl.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/driver/stats_type.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/editor/vscode/vscode_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/docker.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/docker_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/engine.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/envdserver.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/factory.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/envd/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/flag/consts.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/auth.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/auth_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/cache.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/context.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/context_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/data.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/home_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/manager.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/home/manager_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/interpreter.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/mock/mock.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/builtin/builtin.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/config/config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/config/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/rule.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/data/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/install/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/install/install.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/interpreter.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/io/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/io/io.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/runtime/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/runtime/runtime.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/starlark_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/universe/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v0/universe/universe.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/builtin/builtin.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/config/config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/config/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/rule.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/data/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/install/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/install/install.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/interpreter.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/interpreter_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/io/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/io/io.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/runtime/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/runtime/runtime.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/starlark_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/testdata/test.envd +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/universe/const.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/frontend/starlark/v1/universe/universe.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/graph.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/cache.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/checker.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/compile.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/custom.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/editor.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/editor_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/fs.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/git.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/install-mamba.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/interface.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/julia.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/r.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/shell.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/supervisor.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/user.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v0/util_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/cache.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/checker.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/compile.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/editor.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/editor_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/fs.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/git.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/install_conda.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/julia.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/julia.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/r.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/supervisor.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/system.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/user.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/ir/v1/util_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/lang/version/version.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/metrics/collector.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/metrics/docker_collector.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/metrics/helper.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/metrics/model.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/metrics/widget.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/display.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/mock/mock.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/term.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/term_windows.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/trace.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/compileui/types.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/mode/mode.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/display.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/display_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/printer.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/term.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progressui/term_windows.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progresswriter/printer.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/progress/progresswriter/writer.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/remote/sshd/os.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/remote/sshd/sshd.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/shell/install.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/shell/zsh_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/shell/zshrc +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/entry.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/key.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/config/ssh_config_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/copy.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/ssh/ssh.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/client.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/config.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/device.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/event.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/file.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/folder.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/install.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/syncthing.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/syncthing_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/syncthing/util.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/types/container.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/types/label.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/types/types_suite_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/buildkitutil/buildkit.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/buildkitutil/buildkit_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/envutil/env.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/envutil/env_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/file.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/file_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/fileutil/namegenerator.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/netutil/netutil.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/netutil/netutil_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/osutil/wsl.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/runtimeutil/runtimeutil.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/starlarkutil/stringslice.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/starlarkutil/stringslice_test.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/util/ziputil/unzip.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pkg/version/version.go +0 -0
- {envd-0.3.47 → envd-0.4.0}/pyproject.toml +0 -0
- {envd-0.3.47 → envd-0.4.0}/scripts/envd-daemonless.sh +0 -0
- {envd-0.3.47 → envd-0.4.0}/setup.cfg +0 -0
- {envd-0.3.47 → envd-0.4.0}/typos.toml +0 -0
envd-0.4.0/.GIT_TAG_INFO
ADDED
|
@@ -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
|
+
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://
|
|
33
|
-
<a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=
|
|
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="
|
|
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="
|
|
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="
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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://
|
|
10
|
-
<a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=
|
|
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="
|
|
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="
|
|
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="
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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:-
|
|
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,22 +1,22 @@
|
|
|
1
1
|
def build():
|
|
2
|
-
base(os="
|
|
2
|
+
base(os="ubuntu22.04", language="python3")
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
def build_gpu_11_2():
|
|
6
6
|
"""tensorflow"""
|
|
7
|
-
base(os="
|
|
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="
|
|
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="
|
|
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. `
|
|
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.
|
|
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="
|
|
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="
|
|
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:
|
|
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="
|
|
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="
|
|
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.
|
|
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-
|
|
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
|
+
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://
|
|
33
|
-
<a href="https://twitter.com/TensorChord"><img src="https://img.shields.io/twitter/follow/tensorchord?style=
|
|
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="
|
|
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="
|
|
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="
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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
|
-
>
|
|
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.
|
|
33
|
-
github.com/onsi/gomega v1.
|
|
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-
|
|
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.
|
|
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-
|
|
515
|
-
github.com/google/pprof v0.0.0-
|
|
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.
|
|
706
|
-
github.com/onsi/ginkgo/v2 v2.
|
|
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.
|
|
712
|
-
github.com/onsi/gomega v1.
|
|
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.
|
|
1481
|
-
google.golang.org/protobuf v1.
|
|
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=\"
|
|
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
|
|
3
|
-
base(os="
|
|
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
|
|
|
@@ -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="
|
|
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="
|
|
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="
|
|
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 && \
|
|
@@ -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-
|
|
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:
|
|
32
|
-
condaVersionDefault = "
|
|
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
|
-
|
|
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(
|
|
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),
|