Skip to content

Modularize your build function ​

envd allows you to easily create reusable components, so that the building file can be more organized.

Defining your own package ​

envd support most Python syntax, including string format, for-loop, if-statement, function definition.

For example, you can define a function for tensorflow package like this

python
def tensorflow(version):
    if version.startswith("1"):
        # execute command to install tf1.x
        run(["pip install tensorflow-gpu=={}".format(version)])
    else:
        # execute command to install tf2.x
        run(["pip install tensorflow=={}".format(version)])

The full list of language spec can be found at https://github.com/google/starlark-go/blob/master/doc/spec.md.

Using predefined package by envdlib ​

envd provided a set of predefined libraries which are commonly used in machine learning tasks. You can find them at https://github.com/tensorchord/envdlib.

To use it you just need one line in your envd file

python
# import envdlib packages
envdlib = include("https://github.com/tensorchord/envdlib")

# use it in your build function
def build():
    base(dev=True)
    install.conda()
    install.python()
    envdlib.tensorboard(host_port=8888)

And now you'll have tensorboard on your 8888 port.

TIP

You can also build your own package such as for internal or domain-specific tools following envdlib and share it with others.

Contribute to envdlib ​

We're extending our package coverage of envdlib. Please don't hesitate to file a pull request or raise an issue if you have any need. Your contribution is welcomed.

Released under the Apache-2.0 License. Built with VitePress.