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

Uploaded Source

Built Distributions

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

File metadata

  • Download URL: envd-0.2.5a5.tar.gz
  • Upload date:
  • Size: 262.1 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.5a5.tar.gz
Algorithm Hash digest
SHA256 cb1f9a43854433eceaa43a82c05fa1c683b8297da6fee7947fe536968b9922c4
MD5 a279baaa68ee736e310d3aa1ddb20204
BLAKE2b-256 1bd19312ae7704344198afef3b625d609267a68005a544f1b08e59a96674d118

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52dc710200af68104e6a4f187bfff94ee373c57cfc1cf0b287afb0203f4c247e
MD5 09ee55a520847aba5827331814583ec8
BLAKE2b-256 3e5630b4b151abaf8e6ede0f55748aced152dcd18cc5b67e01fdfd514e7a063f

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eaea0bdc7025507fd41ad19b5c3657a2fbca8633d059a3f6f3c2d1db599ac0ce
MD5 b010b4240281c9c5e541a1ab517ff6fc
BLAKE2b-256 8445011014cee2a0ac7b3bf6e1524336786bb5dfa1b52be0ba2865bbec7e1568

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d240080bd3c5ea4de6c3854741182f9d95285703a935b92537e5d544f3142b4
MD5 41c3071fa748357870fc6668b570308a
BLAKE2b-256 40b7b48f3e9b16eda98431555493f766ed5f30be71e6e8386dc703bb3c66651d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a7b8bfe8bc6ad7deda9d6d4fd1ba907fbc774b080262c857478fc6b0a5e7f56e
MD5 7a61c9f7fc64fb6bb77fea6f7d9311dc
BLAKE2b-256 0bdba40281a2a07b454bb78a862014c01c3ae2a0917f9ac83ddad0b3ff080b7e

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 044c3f17dcf0b1c8e86f9383a8c564fbe812c1cd5972605ec254201ef1eabdef
MD5 4f244ddf4e36aa73bc46891af0e2e904
BLAKE2b-256 9254c037a78d9f172f846f77bc1f5e92eabc1f3b76b386a62726a04ffcbd466c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a5-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.5a5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1b9dfddb0819a9af7f8abdcbb7cacd81a5ebbcaec96209be1c9af5342946a9f7
MD5 44af2d03c1a3872869d04618734d72a4
BLAKE2b-256 8c03d05a0cbc5d41cdd7e9ef81f0089aacbea66259de0d41d2c2cd18824cd42d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 44216f61e57bf7af5fcefd038c2a43dabfd1c6802b88274885572bce4d95df60
MD5 fb0ca2e70752e88f9bde7a8b778b75a4
BLAKE2b-256 7923d5721c3786fb280861375d37a87261ecc299662bf05c7b8149e42f9c4a00

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78b24dde30f54dca224ff9e891794ecf9df55299e27b8adee99ac1598447c7ef
MD5 17f64a28e0ab4bb38dfac41610366178
BLAKE2b-256 186a17ec07d15b4cf851d9ab82bb038476b0ce23fdeda6dc7c0401bc9ed603c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a5-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.5a5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 899ae39891cb4d6f88e649e61a1d2fc029c4d888dc08eff070b4b6aa6a1116f0
MD5 310f971e152d05ae9f37c849c134dc36
BLAKE2b-256 9235e303eceaf1769133ebdc52fb87e77b8b5ab256f0ea133652c47c83638053

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5c382c3e0149d8d797234469d5afcd47e1632f4a9fa4523bd514b492627f8b53
MD5 7096492e5b10bfa499c10611da0e1174
BLAKE2b-256 2bb99f6f99031f5493aea40db07a7dd0653ac9ea3b787fbd6ee726e00c59a0ea

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69aa81b9f99ac0cc24cd70a5d3964ac583db3af1e01371d04cd9ddca9ca5745c
MD5 79c61cceddf68e007b46adeac0a39511
BLAKE2b-256 d12b11fe01acd8c922b8e04a4528d2f954dad09cb3b72faddf5ffbafdb75ff34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d7198fe742222b410cd42acccf85999a6f881ab73e6dd47015764f5352493c6f
MD5 ab556d8dd720fdeca51bbbb26384c5e2
BLAKE2b-256 5357e5557f4dd702601b37b39e25c6733197f26a162d11a31d7da992142c91c5

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33e9b1dccc906330bf54b744e185cb29031268aea0b3e2e70cf4a60bb0903a46
MD5 ed878b7cd713d36179da052f8bbb2f01
BLAKE2b-256 724aae9106e6f4f13c8bb6eaab2321a1ce96abccec9a5a90b7f5ed666d50572b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cf3ae2b82ce0a1b55dae1ff6a2c4a2a26e0fa5ebd716a6e581ea0ee4fb1c33dc
MD5 b5bb000eff8b9ebde6ac7156878b3d6d
BLAKE2b-256 e57d64aeddb6da8f8d4cbaf1fe5cb3df7d9443acaf40ec9a6958dd5a780a3f15

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc3feabca93615a993ec4a9fc28e082670cd027eb6225b89613f114e9a8f4a7e
MD5 704b611f318b7c3c8f0881cc78b3c85c
BLAKE2b-256 13dc697a7d0ca0ee170bb488f2f6d2b7c06709c27199569fcd8bd9a7ad985182

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a5-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5b5a66d6fb88437796a41868785a5eae2fd87192c53723ec41dff9c0be38a1cf
MD5 21d9ac3bce7e75caf380a39a7e327e6f
BLAKE2b-256 a44871971a8ca43ec6a505c355fe959634b2690269dc29022f440f18eedfb2e5

See more details on using hashes here.

File details

Details for the file envd-0.2.5a5-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.5a5-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1411bd93275e1f2227b41c5fe4dc192e01d021dabe80ea87c9731e4c7a0e1b3d
MD5 1a36d241a54fa24f31bdc23fc68eff29
BLAKE2b-256 718f820fa5e33be03e753daf54c8c7926e04c8f795b87ccaf231f975b4c6eff2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a5-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.5a5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb4aa555ee2dd74d7b5cd24c93f5e8a7767cc267746ba2f8529d4714f93aa81a
MD5 1d18091afd35a74935ddc9734f6228ba
BLAKE2b-256 49e48e512f61757279ed792884086611406efed21b22d342ec1fa1f95391c1ce

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