The ActiveState Platform lets you automatically build Python and Perl runtime environments for your projects in minutes. In order to simplify creating and updating environments with these runtimes, ActiveState has introduced a Command Line Interface (CLI) for the ActiveState Platform called the State Tool. Using the State Tool, you can reduce the setup of your dev and test systems — i.e., all the instructions in the Readme — to a single command so you can get started coding right away.

Think about it: every time you start a new project, your team has a list of setup tasks that need to get done, including:

  • Import all the open source packages your project will require into your binary repository, make sure they’re up-to-date, and have no vulnerabilities
  • Build a runtime environment that all team members can use
  • Set up a dev environment multiple times (for each developer)
  • Juggle around sensitive (secret) variables
  • Create hamfisted helper scripts to automate common tasks
  • Build or update the test systems in your CI/CD chain with the runtime, and so on. 

These tasks taken together add up to quite a bit of overhead that’s consistently underestimated since they’re often seen as just one-time, startup tasks. But the truth is these tasks crop up again and again throughout a project’s lifetime as new packages, new versions of packages, and new developers are added to the project. As a general programming principle, any task you have to do more than twice should be automated. The State Tool, in conjunction with the ActiveState Platform, lets you do just that: automate “project startup tasks” no matter when they occur during the project.

Besides eliminating the Readme, it can simplify so many other developer tasks

With the introduction of the State Tool, you can now automate not only runtime deployment, but a number of other common programming tasks, as well:

  • Deploy a consistent runtime environment into a sandboxed environment on every developer’s machine, as well as across CI/CD systems with a single command. And you can rebuild your runtime at any point to pull in the latest version of all your packages, and then use a single command to update all your dev and test systems.
  • Centrally create secrets (for your AWS creds, API Keys, etc) that can be securely shared with all team members more easily than emailing or Slacking them. You can also limit the scope of you secret to just for your own use as opposed to project-wide.
  • Centrally create and share scripts that you can use to kick off builds, run tests, etc. You can build scripts using secrets in order to access protected resources, but you can also incorporate constants and even workflow logic using the built-in support for events. 

All of these tasks represent the friction that slows down projects and holds you back from just focusing on writing code. There have been many tools written in the past to help reduce friction, but they tend to be language specific and require the overhead of machine virtualization or Docker. By contrast, the State Tool is language agnostic.

Next Steps

The State Tool can make the lives of every developer easier, whether you’re just getting started on a project or need a simple way to automate frequent tasks like:

  • Bootstrapping workstations with a runtime environment
  • Creating a consistent dev environment for all team members
  • Creating and managing scripts that automate common tasks
  • Sharing credentials and access keys to protected resources

Ready to get started?

Related Blogs:

Goodbye PPM, Hello State Tool

The Secret to Managing Shared Secrets