Fast is a language for “devops” engineers, a “glue” which abstracts existing tools and enables to build quickly command lines. It is designed to replace Makefile, Python, integrate Shell commands and brings the missing features. The Fast store enables to share Fast packages. Packages are among other "devops" products which can be delivered to developers and operators.
Execute Fast and Shell code in the same script seemlessly.
Access Fast variables in Shell, access and assign Shell output, errors and exit code in Fast.
Fast and Shell can nicely be combined in expressions.
"Hello … from Fast !"
sh: echo "Hello … from Shell !"
Get the required tools instantly by switching to task specific containers.
The current folder is mounted and can files be accessed from the container.
All you need is to share the Fastfile; required packages will load on the fly without any install.
# Here you are on your host’s shell
"Hello … from " + sh: "uname" + " !"
# Here you will go on an alpine ash
with_shell("alpine:latest:/bin/ash", {})
"Hello … from " + sh: "uname" + " !"
Create command lines in minutes to organize and run your jobs.
Goals have parameters which can be validated, have default values and more.
Goals are automatically documented when you request help.
goal hello:
goal world:
"Hello world !"
goal user:
"Hello " + name + " ! "
Build your command line help while documenting your code.
Goals and parameters are documented in the help automatically.
Adding comments will enrich the help and make the code easier to understand.
# Hello Help
# Say "Hello"
goal hello:
# Say "Hello World"
goal world:
"Hello world !"
# Say "Hello" to a user
goal user:
"Hello " + name + " ! "
Fast offers more features than Shell and less than Python.
Collections, structures, loops, conditions, modules, packages in a pythonish style.
Fast provides the best of what devops need in a single language.
users = [ User(name = "Bob"),
User(name = "Lucifer") ]
structure User:
name = ""
function say_hello(user):
"Hello " + user.name + " !"
for user in users:
if user.name == "Lucifer":
continue
say_hello(user)
Copy and paste the following command in a terminal to install Fast
By copying this command you accept the license terms