Skip to main content

A development environment management tool for data scientists.

Project description

envd cat wink envd cat wink

Development environment for AI/ML

discord invitation link trackgit-views Python Version all-contributors envd package donwloads continuous integration Coverage Status

explain

explain

What is envd?

envd (ɪnˈvdɪ) is a command-line tool that helps you create the container-based development environment for AI/ML.

Development environments are full of python and system dependencies, CUDA, BASH scripts, Dockerfiles, SSH configurations, Kubernetes YAMLs, and many other clunky things that are always breaking. envd is to solve the problem:

  1. Declare the list of dependencies (CUDA, python packages, your favorite IDE, and so on) in build.envd
  2. Simply run envd up.
  3. Develop in the isolated environment.

Why use envd?

Environments built with envd provide the following features out-of-the-box:

❤️ Knowledge reuse in your team

envd build functions can be reused. Use include function to import any git repositories. No more copy/paste Dockerfile instructions, let's reuse them.

envdlib = include("https://github.com/tensorchord/envdlib")

def build():
    base(os="ubuntu20.04", language="python")
    envdlib.tensorboard(host_port=8888)
envdlib.tensorboard is defined in github.com/tensorchord/envdlib
def tensorboard(
    envd_port=6006,
    envd_dir="/home/envd/logs",
    host_port=0,
    host_dir="/tmp",
):
    """Configure TensorBoard.

    Make sure you have permission for `host_dir`

    Args:
        envd_port (Optional[int]): port used by envd container
        envd_dir (Optional[str]): log storage mount path in the envd container
        host_port (Optional[int]): port used by the host, if not specified or equals to 0,
            envd will randomly choose a free port
        host_dir (Optional[str]): log storage mount path in the host
    """
    install.python_packages(["tensorboard"])
    runtime.mount(host_path=host_dir, envd_path=envd_dir)
    runtime.daemon(
        commands=[
            [
                "tensorboard",
                "--logdir",
                envd_dir,
                "--port",
                str(envd_port),
                "--host",
                "0.0.0.0",
            ],
        ]
    )
    runtime.expose(envd_port=envd_port, host_port=host_port, service="tensorboard")

⏱️ Builtkit native, build up to 6x faster

Buildkit supports parallel builds and software cache (e.g. pip index cache and apt cache). You can enjoy the benefits without knowledge of it.

For example, the PyPI cache is shared across builds and thus the package will be cached if it has been downloaded before.

🐍 One configuration to rule them all

Development environments are full of Dockerfiles, bash scripts, Kubernetes YAML manifests, and many other clunky files that are always breaking. You just need one configuration file build.envd[^1], it works both for local Docker and Kubernetes clusters in the cloud.

envd

[^1]: The build language is starlark, which is a dialect of Python.

✍️ Don't sacrifice your developer experience

SSH is configured for the created environment. You can use vscode-remote, jupyter, pycharm or other IDEs that you love. Besides this, declare the IDE extensions you want, let envd take care of them.

def build():
    install.vscode_extensions([
        "ms-python.python",
    ])

☁️ No polluted environment

Are you working on multiple projects, all of which need different versions of CUDA? envd helps you create isolated and clean environments.

Who should use envd?

We're focused on helping data scientists and teams that develop AI/ML models. And they may suffer from:

  • building the development environments with Python/R/Julia, CUDA, Docker, SSH, and so on. Do you have a complicated Dockerfile or build script that sets up all your dev environments, but is always breaking?
  • Updating the environment. Do you always need to ask infrastructure engineers how to add a new Python/R/Julia package in the Dockerfile?
  • Managing environments and machines. Do you always forget which machines are used for the specific project, because you handle multiple projects concurrently?

Talk with us

💬 Interested in talking with us about your experience building or managing AI/ML applications?

Set up a time to chat!

Getting Started 🚀

Requirements

  • Docker (20.10.0 or above)

Install and bootstrap envd

envd can be installed with pip (only support Python3). After the installation, please run envd bootstrap to bootstrap.

pip3 install --pre --upgrade envd
envd bootstrap

You can add --dockerhub-mirror or -m flag when running envd bootstrap, to configure the mirror for docker.io registry:

envd bootstrap --dockerhub-mirror https://docker.mirrors.sjtug.sjtu.edu.cn

Create an envd environment

Please clone the envd-quick-start:

git clone https://github.com/tensorchord/envd-quick-start.git

The build manifest build.envd looks like:

def build():
    base(os="ubuntu20.04", language="python3")
    # Configure the pip index if needed.
    # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
    install.python_packages(name = [
        "numpy",
    ])
    shell("zsh")

Note that we use Python here as an example but please check out examples for other languages such as R and Julia here.

Then please run the command below to set up a new environment:

cd envd-quick-start && envd up
$ cd envd-quick-start && envd up
[+]  parse build.envd and download/cache dependencies 2.8s  (finished)
 => download oh-my-zsh                                                    2.8s
[+] 🐋 build envd environment 18.3s (25/25)  (finished)
 => create apt source dir                                                 0.0s
 => local://cache-dir                                                     0.1s
 => => transferring cache-dir: 5.12MB                                     0.1s
...
 => pip install numpy                                                    13.0s
 => copy /oh-my-zsh /home/envd/.oh-my-zsh                                 0.1s
 => mkfile /home/envd/install.sh                                          0.0s
 => install oh-my-zsh                                                     0.1s
 => mkfile /home/envd/.zshrc                                              0.0s
 => install shell                                                         0.0s
 => install PyPI packages                                                 0.0s
 => merging all components into one                                       0.3s
 => => merging                                                            0.3s
 => mkfile /home/envd/.gitconfig                                          0.0s
 => exporting to oci image format                                         2.4s
 => => exporting layers                                                   2.0s
 => => exporting manifest sha256:7dbe9494d2a7a39af16d514b997a5a8f08b637f  0.0s
 => => exporting config sha256:1da06b907d53cf8a7312c138c3221e590dedc2717  0.0s
 => => sending tarball                                                    0.4s
envd-quick-start via Py v3.9.13 via 🅒 envd
⬢ [envd] # You are in the container-based environment!

Set up Jupyter notebook

Please edit the build.envd to enable jupyter notebook:

def build():
    base(os="ubuntu20.04", language="python3")
    # Configure the pip index if needed.
    # config.pip_index(url = "https://pypi.tuna.tsinghua.edu.cn/simple")
    install.python_packages(name = [
        "numpy",
    ])
    shell("zsh")
    config.jupyter()

You can get the endpoint of the running Jupyter notebook via envd envs ls.

$ envd up --detach
$ envd envs ls
NAME                    JUPYTER                 SSH TARGET              CONTEXT                                 IMAGE                   GPU     CUDA    CUDNN   STATUS          CONTAINER ID
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

More on documentation 📝

See envd documentation.

Roadmap 🗂️

Please checkout ROADMAP.

Contribute 😊

We welcome all kinds of contributions from the open-source community, individuals, and partners.

Open in Gitpod

Contributors ✨

Thanks goes to these wonderful people (emoji key):

 Friends A.
Friends A.

📖 🎨
Aaron Sun
Aaron Sun

📓 💻
Aka.Fido
Aka.Fido

📦 📖 💻
Bingyi Sun
Bingyi Sun

💻
Ce Gao
Ce Gao

💻 📖 🎨 📆
Guangyang Li
Guangyang Li

💻
Gui-Yue
Gui-Yue

💻
Haiker Sun
Haiker Sun

💻
Ikko Ashimine
Ikko Ashimine

💻
Isaac
Isaac

💻
JasonZhu
JasonZhu

💻
Jian Zeng
Jian Zeng

🎨 🤔 🔬
Jinjing Zhou
Jinjing Zhou

🐛 💻 🎨 📖
Jun
Jun

📦 💻
Keming
Keming

💻 📖 🤔 🚇
Kevin Su
Kevin Su

💻
Ling Jin
Ling Jin

🐛 🚇
Manjusaka
Manjusaka

💻
Nino
Nino

🎨 💻
Pengyu Wang
Pengyu Wang

📖
Sepush
Sepush

📖
Siyuan Wang
Siyuan Wang

💻 🚇 🚧
Tumushimire Yves
Tumushimire Yves

💻
Wei Zhang
Wei Zhang

💻
Weizhen Wang
Weizhen Wang

💻
XRW
XRW

💻
Xu Jin
Xu Jin

💻
Xuanwo
Xuanwo

💬 🎨 🤔 👀
Yijiang Liu
Yijiang Liu

💻
Yilong Li
Yilong Li

📖 🐛
Yuan Tang
Yuan Tang

💻 🎨 📖 🤔
Yuchen Cheng
Yuchen Cheng

🐛 🚇 🚧 🔧
Yuedong Wu
Yuedong Wu

💻
Yunchuan Zheng
Yunchuan Zheng

💻
Zheming Li
Zheming Li

💻
Zhenguo.Li
Zhenguo.Li

💻 📖
Zhenzhen Zhao
Zhenzhen Zhao

🚇 📓 💻
Zhizhen He
Zhizhen He

💻 📖
jimoosciuc
jimoosciuc

📓
kenwoodjw
kenwoodjw

💻
nullday
nullday

🤔 💻
wangxiaolei
wangxiaolei

💻
wyq
wyq

🐛 🎨 💻
xiangtianyu
xiangtianyu

📖
xieydd
xieydd

💻
xing0821
xing0821

🤔 📓 💻
zhyon404
zhyon404

💻
杨成锴
杨成锴

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Star History

Star History Chart

License 📋

Apache 2.0

trackgit-views

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envd-0.2.5a6.tar.gz (262.7 kB view details)

Uploaded Source

Built Distributions

envd-0.2.5a6-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a6-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a6-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a6-cp311-cp311-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp311-cp311-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

envd-0.2.5a6-cp310-cp310-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp310-cp310-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

envd-0.2.5a6-cp39-cp39-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp39-cp39-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

envd-0.2.5a6-cp38-cp38-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp38-cp38-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

envd-0.2.5a6-cp37-cp37m-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp37-cp37m-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

envd-0.2.5a6-cp36-cp36m-musllinux_1_1_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

envd-0.2.5a6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.9 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

envd-0.2.5a6-cp36-cp36m-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file envd-0.2.5a6.tar.gz.

File metadata

  • Download URL: envd-0.2.5a6.tar.gz
  • Upload date:
  • Size: 262.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for envd-0.2.5a6.tar.gz
Algorithm Hash digest
SHA256 5e7a168132a302e337553516bd08316638018833cf70e91effe80386c7e79d9b
MD5 934b862f5646d8ac3b0b9fdb26ec6272
BLAKE2b-256 f926b82e4366a3cb1afe34dcb0977c9b5fddb4bbd5d4e93123324c0c8068d0ea

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9f571f26d111c7691c85bae335950b34022013e347c081d73cf7d906ed848925
MD5 8f68e05e81da6a70c4dcdde0e2251208
BLAKE2b-256 ebe68763133eed20f03e6ab763c75802fff95c646885604e072d7598a929f960

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dda50ab766461ab0aee2d7731083cc882217a2e386579a682fa3389ba0a7c264
MD5 148bb4e46192d76503816fffe62f21d3
BLAKE2b-256 e033633bee4a7807a92e5ea67fbe2445aa8ff065f9ab12d63176e7b7cccba8b2

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 339d36ba6d3beb3de1d66f9026c26945140c76af8b101b42522c7d43d408b1b3
MD5 9d4d69b99d3885c3c55a6bd7f1d60d90
BLAKE2b-256 bdc286e7f16cfe3d98a2a2ef84ad078519ffa15cfe9a33735af899344255a324

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eddc6403d8177fec08ab01e759689cc6331e6a25b891f8150506ae84d4a79b13
MD5 4d063d9f0e05cfddfd7e3ccc29bc9b60
BLAKE2b-256 9ef7b73edf93003aae9c2b4b202570768124f4589642e3753265764ea3c88b8d

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d802dfd69cde2a092faebd42ac0fa3a2b008c4cce6045a6ad86784c5c9805495
MD5 30c99db8e97441faf1f5dfe7c859f558
BLAKE2b-256 f045a8c696ccde10b1cd915f538ffa98d7b4e7093f8595fe63b236956686484a

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 53af5d15180c3a93caf1c1ee8b448d93ab48b56c8f2cf24e40ef3386d880b508
MD5 fba5bc694c8911b9f8031b666ffae3e9
BLAKE2b-256 4d6861c49ca07bdfd0aaa33f185f932897beb2d68a7019934fe4f846a4dee034

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4f0d63b655d625482b79b723245debf70baad485361db397345e471f830b98ff
MD5 40e275adc44b7d4280630604011d59e0
BLAKE2b-256 88e05fbd03037a46aa954316508cf0f341d25cf293dbfb721145b8c96341039b

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a987e8d81b65162ab5fe6cdf716aeb646a6e0d6b381b976e12b8820b4ce8f06f
MD5 0deccb0f77a40e7db2348ba0192595c6
BLAKE2b-256 6158714256ba163e1cb55219aa208fdfbbf7f34b768bfff9afb973605bc41d23

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp311-cp311-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.11, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 011fecbc75fb18cdaf385fe018a092e81c51ef1e0de15773dadc09ce47f2f319
MD5 cc1ad810f0e534d277f4def704193aff
BLAKE2b-256 286ff01386949430708435cf9432237e506e8ed1b67be5b686674274db39f944

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a453d6377b47ae2903f97e9c5d250eed6623454b1083aa204686b76d139183bf
MD5 82dae9c82cb907e0b749e4f68638eb9e
BLAKE2b-256 9038964ffa81ce2bd498738bcc3ada4c711d7aad022c3b41e351b2ebcb326f75

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a6c2603aaf3cf59c629e1546d2ee057ffbcd20a8e4f190da7f7d5f351673be9
MD5 9bef735aa2e5dbd2ab3332c6c660ee59
BLAKE2b-256 f93ca8325bfff476fb0da5c45b39fdaf2b542f22208c94bd1e66818b779740ac

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d7f2362ec9f107d4360a6387e6970ba4eb20c786fb0dc04bb68a2f500edc7f01
MD5 6f6276f3f852e9d416987de1001d552c
BLAKE2b-256 bfe6fe64f330b10a75846ee16ba48e6a17ee480e85b253ff776100bd61d8caaa

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e085509ca5cadd67c57592624853ec0d5f0798f7a48c38695e4e22ece1fb454c
MD5 b0b3ea0dce07ceff20d2d1ac8c1380c4
BLAKE2b-256 6543c5367f5c7b7e6efdad992d29cecce22f00c56a8e76d5f761616fac52dc26

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a90649b45254145f3b4a421c06c927072d57ef9b15aab5e8f3bb0e4de1ca7da1
MD5 6c3943c5a7cb11385e6113cd498aaa24
BLAKE2b-256 15fafc030e6c05dfa8e487b911f136a2658f00102d52baf0913a065a945211ae

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 829856fd419aeb311f20b5b8fe01a3449350cd1fe243eb189bd8ad13a81297e0
MD5 f18f3baac781877292fdf888943feeaa
BLAKE2b-256 a2b95b81530d0fd176c391b994b83bfe18d040c6fbf8e158200a043b0bc795a4

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 63a7be48c1aa510606d28b781129409decd77b4295f0ffcfe48f59d962fc5eac
MD5 8452aa456f22d4fe0698153029b77860
BLAKE2b-256 b8ac734e59cdc9ee31fb476df34109f2908a0d7055ffff8886945d4ab6687278

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45f7805222be87736006ea792defd01bc6be3db10bbc7248c507ccc2f4d10bcc
MD5 0b152aa06c681647fb4ee5eadb89d9bf
BLAKE2b-256 8cde8fb08ca243894bd3b38f4f7c84db74e947a9728c8b576cfdf2c7f85157ef

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3ba1d7e0bc1273558b1a91cb5c730b7d6e618e88c9aad90cf58c971a545d3182
MD5 1ea19306cefb1e10060ad16ad34f70a5
BLAKE2b-256 944c6c05e3580fb2c8c5778acb3aea725641e124b45e9360155004ff72405e27

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 248e5022f96042eaca627b67dbb6fbd71f97716f80dde7a46575e1e3b6ec0fbf
MD5 c6dd6fbb0f9be2fdfc3a30c9011871c7
BLAKE2b-256 5f1e27f1287861f9df56f1c3ade3069735d6f40b336093784ade1cea003db0fc

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bccb359aef42e90c14a5c3bd532b2479d4696103ce3d73ace116b33258ee92f
MD5 c1297568d72b24627244be72cb481b1a
BLAKE2b-256 928dd77eeb7d867d68ee79364b0c58cd96f318118aa37c2700f9196c9caf0b30

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8096fc0cd48f7b6ec10ea41579338dd1878efc5abea6e20c08c05b05fe62efa0
MD5 2a8a0a3d7ee7a359de2408442f9fa6ba
BLAKE2b-256 e40afb4e1703affdc578dddd255ecb7150ed7ade42cfaf24c035ab6f2d5f342a

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d74f90320318e0e3a9900ef1b2a2c127ada568e36433f33bc41767f301df80a5
MD5 1275037401c3328053a4f30b8495f34d
BLAKE2b-256 ffca4d7ec2eb48d57572e4a11be5af890b0cd6772494fa8c14fb2aed2a86645e

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for envd-0.2.5a6-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf80fad38084ed31a1ca2f732eac3ef7232640cbc2a7bd55beac390af17f88ad
MD5 df2e909b1a5e99a98640f26fe12d0e04
BLAKE2b-256 c9bb94f6111da06209a8a6c31191765e42cbc6f7db10e0e50a31b74e4952ff96

See more details on using hashes here.

File details

Details for the file envd-0.2.5a6-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: envd-0.2.5a6-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.2.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for envd-0.2.5a6-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6b94534926ab83ca40f0ccdfc02f56777c7d182a4f811bf70deb23360ef574d3
MD5 c6bff172b7d2ac8ce6993e07f3974587
BLAKE2b-256 2c9a63525821ef87774a38f580709aa46cf5036cbabb858da4c1e3d875813874

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page