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.5a7.tar.gz (263.0 kB view details)

Uploaded Source

Built Distributions

envd-0.2.5a7-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.5a7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a7-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.5a7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a7-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.5a7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

envd-0.2.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7-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.5a7.tar.gz.

File metadata

  • Download URL: envd-0.2.5a7.tar.gz
  • Upload date:
  • Size: 263.0 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.5a7.tar.gz
Algorithm Hash digest
SHA256 299d18951d2c88de1b7a0f632c5138dc4f12e59cc25b38ec80648e79aede8edf
MD5 903c91092f030e40bb0411d98a5bc63a
BLAKE2b-256 3ed093d4a6e86136b2e63be99fc18e81faa299649f920d6006ce804c642dd782

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa99200bb5c1ae7c099142489ca3ebb3967f96adb473c7dc9f5913c21e360e46
MD5 290ff25718e29d3b0213068d86594eb5
BLAKE2b-256 6f82680eb69121899d971466b977b51bfd70c9b073211285ce9a7193733fb3d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dcf8608a93c49a7c60d1d93e010b2b4c65e4b576f63a448a5f8f3a46b261b95b
MD5 81ebf6f2499d0b3be587e15c2083c321
BLAKE2b-256 e9b0925e97e67be9bf65857ca3fd1f63c6266035f0773c316e6917caddde64ab

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59cef16a9ac2ba87ae425b9719c987ecf94bd94f11afed301abeaf562ad7b3a0
MD5 e1683a375eec7c91341c923bfdfcfbf8
BLAKE2b-256 fab332808bcaa53ff0d5f00d088163afb3af98004a393a221a4478f4a7f7a37f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 144b3820060cc5bf07b90bfccb3ceeac3fde21bfa970ca7a8060cfe7a8293241
MD5 035e20d4f623a21df585be350a21380b
BLAKE2b-256 cd1079cf379d34c38b7d3272c7fee69bf80a8d4e8588fc85473f5d96aab5c3b9

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f17b2af252786bc158937766c8eb9c8ae87a9fb7f1a6db7ef02af17c65d21350
MD5 c48ad0211f1baab6bb8e83be0bc509be
BLAKE2b-256 9aa2c2e07dfae65d7d15912d3c8f00ac79de3ff9804bbdde5901b0332bbd0f2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 43918ea84eb57ea7153aaf694848c7943462f050bff7abbe92c8a78bd3864f61
MD5 4f760c0cf5aa0d2cf5b17452c0b65fc6
BLAKE2b-256 3145e47b261ce51890a7ef5d23aa5d0563f51c9ef8f2c1ef9f411e981f749aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 619ee409672522d23b2a110f3c93f7e5ae445f72d8e3c109fbcc2af6d6fde0ef
MD5 bb77c261ff4a80a23bf4ecf7611991a3
BLAKE2b-256 0c8931a0c32eae4c1391cbea1c438bc89fe2205da72fadff0272f36c1d3015aa

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d1ecb8f14b5eafce1c120a7abcf9747a70c784a4d97e6a557d5c2d5eb90f5fe
MD5 5765f74af6e400569cd73c900d0cedfb
BLAKE2b-256 45b268fcefe5f4370664a833b65092bab847a25fdcc206b91aec8b35c944ba25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d33f98f43d997df409a4b9ecaf5993dd6adfe1286fc98974f9f0eda472846708
MD5 d42a6437610e0da5152eacbe7d137535
BLAKE2b-256 51b7acf5ad959b6155c5970007345bd3f28456cc0a7e22d631e210401322c093

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 76abc977898a340eee53d9ff87d1c7406c21c21bb859e1097150c1cef46eeecf
MD5 25362a526e27d171f71ae1938587351f
BLAKE2b-256 1420e4dca1567d473f46e4c57ac31bdf5a4f8d898e75c62d7d7ec9c28409188a

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 074ca25d2d15bd9a000a99081b79387de7565755f0017afa1c72cae998f997a8
MD5 8d584e0ae63035e4023106f663f755e9
BLAKE2b-256 66250cd130cbe979fafcb53fda1e55d07c7bdda3e2618850dc524b5336ff217b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 87dd28c99891024dcec2006877f6cf90955189b75d31c63c5940a98afd0adcca
MD5 c0359b57bf2172b9d92cd5742e1f328c
BLAKE2b-256 8440df00dc649d0decf033ce1047a7905357b4c05e69cb4e3d0847f4f36737b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e6c755f37a4d6aae43ebdad5b31a218c3ce115006a31cd5f27c367f913422654
MD5 9ff6c85fe4c1e6a44fcba9b1691c1fed
BLAKE2b-256 e5c78d159a66b5d1c86793cc368733d72cdcfd144d570eed2e66df32b251bd2c

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 451f216d736bf8f69e023b4b49124bfdcdbb2c2d40ab77f5a632c88ac4c9e945
MD5 51a1d79472f855f67fd64d9db9b8992b
BLAKE2b-256 3b21518e7c09ea9c63c194979f79d09330f2b2750d89afe1392eed18aff0482c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f23628c3c63b42b0b90cb0662292f949b2db2bf98289d09db94ae7182c6c9502
MD5 595f695d23dea56dde39e3ef2f354bd0
BLAKE2b-256 630f9afc2b6f5aaa3dedce2c1566b12edd1b7b073062a0f7402c8d322c80cf9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6bab87347141eb5897a40309690827ddae9d8b97a0e1102cfb76160b93f93c32
MD5 944a0bc7bd1401c773ba96eb69b13e59
BLAKE2b-256 65015af6482f70e4b66819bdae85d8f5f5f7fecccdd4e2e45e0fde6151595a5e

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3d13698e2d2da62e0fc0d48ea7bb05bb3d120e1538f2a852a90b3134af969d3
MD5 131a9ced8ccb2d909e40066c781bf6fd
BLAKE2b-256 3c307aad9bc3919644e69f7d6efae4a73c1b3d7cdb2b7b69e107e34e9883ebf0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 29363a57c966056c0354b0195e61f75ae053bd260596a39c83bb2a240da0fa49
MD5 5dde6f9cdd0cd00a255dcfb596fda708
BLAKE2b-256 06162a68fd9c56965fc1f030ff6bc673fde53398813aabf3d7d10362f9f350d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 862fd50910d57180b494cb3421c69d7069affb99c8ed94605d2d3be31042ea0e
MD5 0b2fd36a091e5a4ff8c7b65eefda84f7
BLAKE2b-256 2eb5bd0830970dd54ffa8cf1b9f6188251cbe7a6632e4054feeb63ab06df85bc

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ef09a09c608e79a6e7ded6241f3f3b7ff5cb28f2b395dcd0049ab771e972de3
MD5 968532d0a207746d4895f8d6977142e1
BLAKE2b-256 4ea0a5a2b6efe397de25f1b4fbf8ec81c688cb90ea7169e55004291f3accb0a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a0467aafcc495797aa1eda27571374f56023a713137d2d171fabd25acf3aadf1
MD5 1675f0ba83b7e06b1b5f154143fa4ec7
BLAKE2b-256 8a0e246bb0e9c982b642eecdc6591d9994bdbb0544997b48baa5809e5d582423

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a7-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a961902639c81732b45674be005760a712ac32f54fd95a515b552cda28a47d07
MD5 0badd884dda0836f9e2fadae4ff58cb2
BLAKE2b-256 75a1d7834ac30db3586975a48bb275231ad741c241da674250a8787016f2a65b

See more details on using hashes here.

File details

Details for the file envd-0.2.5a7-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.5a7-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f4aba19a6eb878a6bc0a1b2079ba938a815ec0c6ec9ca01ef9945335c74dff29
MD5 d238483675f736f1f6061f1407102164
BLAKE2b-256 a9e11e3b50a85a7007c09dce5a3f37af2a4c14b570d0570a7023563027f040b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a7-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.5a7-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ec12d3840b1e63e2fe4b543482a6ade4e559263c545e47a243508f9f758e70d
MD5 916555c5468a4de422afcddfe8dfe6c7
BLAKE2b-256 c77295e1bc68bf027b0db97ed1a1805d4ec4b7f9f51f62f81cb69b749543f67d

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