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

Uploaded Source

Built Distributions

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

File metadata

  • Download URL: envd-0.2.5a4.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.5a4.tar.gz
Algorithm Hash digest
SHA256 08aa88452fcb154aab5d191b092c63921b91f4b1609916b36c11223b08ef7630
MD5 cf9da7d9bd33cb008d1ae5b600822d4c
BLAKE2b-256 5b11f94e9640b557513a8b293b90633767cb802a4556b760fac5eabffb5f6f19

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0ec1688a64478c23e1d8f01b4d3e26ea9d15e46046acc32a4cb0960b0f56b28
MD5 386779a378ec1f32b0b2bc86f97390e8
BLAKE2b-256 c4699ac7d5e51de2148be1e1dd932c2a4317c2587b3ae4713b42a421e4c481f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f3866cf19fa695910834e80e3838d9e9cf87d34eabeb3f649bd95807eec17f0f
MD5 2322d76885b984c65289a499cc1feb90
BLAKE2b-256 99a839012fce20866f490031159be5cfb211bdd4a6e9640a8769412709dbc249

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 089744a8c882c7baf0eb7fab0c73c9f04efb51805422e0c799f6eb53884b63da
MD5 fc9bb73ac846f1a32edbc56ed2b7705b
BLAKE2b-256 bcfd4d7541c82401061101ac800f03aa9f65feb7d410605a2030e8a3df3bc017

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e86e2a8ef95b6473a5e69a81e895f4459e1e318d4d6cdfa0780fe6c547dceeb0
MD5 1fb88d4afe805e6f46523b731c8eff68
BLAKE2b-256 08811ec147fca7395c8a1a22e09ed46ef90de2b8e0173dfb8c8f3a129757da52

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d51564479725a00b8c2fb8c157e755e2f5bb4800865eeb390c579d169e528cff
MD5 33e527dea47875e2e06994cbf6d59729
BLAKE2b-256 0c64ddf72a1b706d7e7639e4e4a7e3a0426a4b95f1902d9f07ba2d34fd94332d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dfd1c1b7a711d5ffde8c82fc0808146011270e5cc8110f93c4d5481c58ffa1ed
MD5 4e786dc5a6015a48958021d3995e294f
BLAKE2b-256 db74e84dd142f7ee1187c3b75b05766c3bd87c3ec68d86cdb663c82f873a01dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 54766932ec63de58609c1b487b67839430fcb2f7363c5ded2673f0ae63aa68d2
MD5 9029cc9d6258c8c8ba9af59e0028fc0f
BLAKE2b-256 8756562dc7290fb139616358d2b6e2a1a8f8510aa64d8020c13f9e770b8bb077

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f43ea68ca2eb7463a9fb0a9f53b58c8025c26f49279558271d2dc310c4afde1
MD5 5861f972a05dc3d7c22a7c97d04a4c05
BLAKE2b-256 679d5f0ce20444eb05553a5bea6299456b18e221f73217bc335fccecd4314ac3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9441aef7bce6b6d1822de147625f97596cb3a32fa0239a46549d86607240587c
MD5 91dbd4eeacbb9cb9b0f485f2a205a0fc
BLAKE2b-256 075782753e0f0c75a385c4b8d3344e7c915a24cfe84677eec5245b1782776009

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 92ea7f394627bc2dbe6019526be2ef2ece90309f32fafee8e7c51aac6ac8217e
MD5 98aa4fe14eec49c02ff92785808fb79f
BLAKE2b-256 9febdc849f99d0793cc2911caac33fb2d3b35dfb149ada972276b13df5e961d1

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb99ad1c73ab356cf2474e12cf5272f99d76b6764e1a736fd59cc6fa1cd12670
MD5 d397a607143cc07d2f7bd241e51e1b8c
BLAKE2b-256 4a220f923877f18356430df68a96aacb61bbdae08b49ccc124c35334e06fb90b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f7a3077fc84ff81b8b362fe7367aad18e6334824cbfbd1625b5c2dad032eaf60
MD5 10df9f944240ce53c7558d6efcd48991
BLAKE2b-256 0a0afb29e6e564c2f2774c23002e4d165b7818995803248076ed23891c8a0735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a3dabdf13392cf815a461502031451b431855bedefbb3bdb97d478d2c4ec7c5a
MD5 69bdbe25668766bc0536c062a3b00756
BLAKE2b-256 3b8edeb9d17dacade6de58ab29c33ab08557cd816e3fe846cf80c94173d5a4a7

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91367179454fd11d6ff5d9cada9ac738b2e0cfd40d3e9d6fda61fb7d09b2b26b
MD5 f0226aa8eb0d0765d444f87692409003
BLAKE2b-256 ec58042447148cabd7bbfeb0f7b4071cdcab94eb26f2498b0d4fcd146edb0edb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5bddb3e7056a212336f59022181df40e6c08a96b8315b7c093ad22e476f7151c
MD5 b636ce6351450b62cbc0d7f299973569
BLAKE2b-256 3e9a3a982ece4255345b26f3986442cee47b78920d26836fc278334e9e85ccba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 66ba11e0f3c82f0f33f98d5769a31e678e823e43ca64b746f085b850d10f8cee
MD5 8db2f7e404fa8e7db3a6dd164cd25707
BLAKE2b-256 fee6d5fc29665aa3805218538159a27f7c7da1eb2d7ad3862661891759795e40

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 358e654f03aa7e3a0787cf3ec06be73e357f28229d3e4a28354e9a5818547d82
MD5 d9b7349bb51408db80814abade32a8cb
BLAKE2b-256 32f929726f404bd0bfbae0ba9178d19b57fe9601d81146563cae83f77112abe3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59b641270b58c12b9d6f0aafbf8c5c2f757cb23590c7c18bd045131d52973451
MD5 645b4e0f61441a996eaa23adaa31fc68
BLAKE2b-256 8a245a42035bcd36123a5d5eea926ed1caf08d56e7739a2d014a3e606876ba91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 040f6e6a236b473a0d02ded3197e4d5539b1a9c8db131501e52e301c2b5dec1d
MD5 ffeeb9cbe4ab32d5cc75a5e35f7a60ca
BLAKE2b-256 72ab0e905d6928f677c5b40e8d3bf88daa5453ba670970c1f4086ddb4cee99dc

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5b556e58985493b204977abe38ad70bf4e5c822ef2278e7151e5697c2719670
MD5 fff83d8b7df75189272bbc0ed5ab812b
BLAKE2b-256 3dd9553447066a239ff4c8fc9590f83c16f3c45691cb74cf4bcb421e8a7e20df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c4ceb99e33efeed13f049389f49dc55be9f62bc7e87cb773d6dc6ceca0b4467d
MD5 3c5283f47ceec62b0bf2b5b6ce997fb9
BLAKE2b-256 61bede078720a0ae3b1eb56635458ed843d11b05ba6dbcb5abd0269bf47b3a83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for envd-0.2.5a4-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 069d1225ae74a251a5cfaab584e0737c091d661ce29ade09fcae428dedd053c4
MD5 5a85dc1f316d216affe1a2c4ebeee22f
BLAKE2b-256 1c755e305c0fd1d79af0e5f9dbdc0f27701ad6d4b34abbcc18557e07bd7ff116

See more details on using hashes here.

File details

Details for the file envd-0.2.5a4-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.5a4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10b15854e9dcf6208d3f03b7739e9fedcf754d916641064d3ea9a51e88563c9d
MD5 9ae2d0df749ce075747ebed2ea038832
BLAKE2b-256 81a4f650f5731e4222fd585686262b5a9755cd08b64fcbad9cc0fe85c943ff11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: envd-0.2.5a4-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.5a4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fac0f5314f2599abf063182acf19fe181b0550db85abd85d2b399c17ba1cd94c
MD5 eeaa321d1648cf521417ac5976aba7b8
BLAKE2b-256 3b1153083157b5b3c71c370b932774cdf9a43082d5b4f429faf22af7b2b95646

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