Create and Share a Project

Producing a reliable, customized project is a core function of the ActiveState Platform. The following guide shows you how to create, share, and use projects that include only the languages and artifacts (packages, bundles, patches, etc.) you need for the specific operating system(s) you are working on.

This guide covers:


Create a new project

To create a new project from scratch:

  1. Sign in to your ActiveState Platform account.
  2. Go to your organization’s Dashboard tab.
  3. Click the New Project button.
  4. Select the organization you want to create the project in.
  5. Select a language and version for your project.
  6. Choose one or more operating systems from the list provided. The option to select more than one operating system is restricted to paid tiers.
    • If you are using Linux, be sure to choose a compatible glibc for your operating system.
  7. Choose your project access setting. Only paid tiers can make projects Private. For more information on project types, see Project Types.
  8. Enter a unique project name or use the default name provided. The project name will act as its default URL.
  9. Choose to add packages now by clicking Add Packages, or click Finish and Install to move straight to downloading your project. If you add packages now:
    • Search for individual packages and versions required for your project by entering the name of the package or bundle you need and clicking Add.
    • Import packages from a file by clicking the link on the right. For more information on specifying your project requirements using a file, see Import and manage requirements.
  10. Click Close to return to your Project page with a notice to save your changes.
  11. If you made changes, click Save to commit your selection(s) to your project and begin the build process.
  12. Wait for the project to build. Build status can be seen from the Deploy tab.
  13. To use the project, go to the Overview tab of your project and follow the instructions to install and use your runtime.

Create a Project from an SBOM

This feature is for paid customers and is available upon request. Contact support to request this feature at support@activestate.com.

A software bill of materials (SBOM) declares the inventory of components used to build a software artifact, including any open source and proprietary software components. An SBOM allows development teams to make sure open-source and third-party software components are up to date and respond quickly to new vulnerabilities. Buyers and other stakeholders can use an SBOM to perform vulnerability or license analysis, which can be used to evaluate and manage risk in a product.

ActiveState projects can be created from a compatible SBOM. SBOMs can be generated by ActiveState or through third-party services like Snyk, Trivy, Syft, and others. For instructions on generating an SBOM from an external service, see:

For a list of compatible SBOM formats, see Supported SBOM formats.

Create a project from an SBOM using the web UI

  1. Confirm you have an SBOM of a supported file type. See supported formats.
  2. Sign in to the ActiveState Platform.
  3. Log in to the ActiveState Platform.
  4. At the top of the page, select the organization where the new project should be created.
  5. Click Upload SBOM.
  6. Click Select file to upload and select your file.
  7. Choose a name your project. By default, the file name of the ingested SBOM will be used as the project name.
  8. Select your project access setting (public or private project).
  9. Click Create project.
  10. Review your SBOM analysis. In this read-only mode, you can view the full list of components and vulnerabilities in your project.
    • If you encounter solver errors, you can select “Set all to auto” and make adjustments later in the Configuration tab.
    • Missing packages will appear in Unavailable Packages.
  11. To make the project editable, click Fix Vulnerabilities and then Convert to Runtime.

Your project can now be used like any other ActiveState project. For more information on managing your packages, read here.

Import a project from GitHub

You can import the dependencies needed for your existing GitHub project directly from a requirements file in the root folder of your GitHub repository. At this time, we only support Python, Perl, and Ruby projects.

This feature is only available to users who have linked a GitHub SSO to their ActiveState account. For more information, see Create an account.

To import an existing GitHub project:

  1. Sign in to the ActiveState Platform.
  2. Go to your organization’s Dashboard tab.
  3. Click the +New Project button.
  4. Click the Scan a Repository button.
  5. Select your repository by using the search bar, clicking the correct repo from the list shown, or entering the repository URL in the field provided.
  6. Click Scan Repo.
  7. After receiving an “Import Status Success” message, click Continue to continue building your runtime.
  8. Select a language version, operating system, and set the visibility of your project to Public or Private.
  9. Click Create Project to return to your project Configuration page.

If your GitHub integration does not succeed, verify that your requirements file name in the root folder of your repo matches one of the following:

  • Python projects: requirements.txt, Pipfile.lock, pyproject.toml, poetry.lock, or any Pipfile
  • Perl projects: META.json or any cpanfile
  • Ruby projects: Gemfile.lock

Share a project

Sharing a project is the simplest way to ensure your development team can get to work and avoid sorting out dependencies or worrying about security or stability issues.

The benefits of sharing a project include:

  • Saving fellow developers time and effort setting up a stable development environment.
  • Accelerate employee onboarding by having the correct, specific dependencies needed for the project immediately available.
  • Educators can standardize student environments and to restrict unneeded artifacts and simplify the learning experience.
  • Organizations can better control which tools developers are using and account for what is being used in the event of patches, updates, or security risks.

To share a project, click the Share button and copy the link shown on the project page.

Sending that link will allow anyone to access the project, provided the project is either public or the recipient is a member of the same organization to which the project belongs. The recipient can then click the Install button on the Download Builds tab of the project page to install the project.

You can also share a project directly by doing the following:

  1. On the project page, in the Overview tab, click the Install button to generate a “Download and Install” message.
  2. In the Install via Command Prompt section, copy and send the command shown to collaborators (via email, Slack, Microsoft Teams, etc.) to install via their own command line. An example is shown below using a generic “defaultuser-activestate” organization and “example_project” project name:
powershell -Command "&$([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/1522266277.9999999999_pdli01/install.ps1'))) -c'state activate --defaultuser-activestate/example_project'"

Use a project created by someone else

After receiving a first-time install command to collaborate, or a link to the project page, enter the install command into your local command line to access the project.

For Public projects, the command you received will install the project runtime on your machine whether you have the State Tool installed or not. However, without the State Tool, users of that public project cannot configure the project and will be restricted to using the latest version of the build (i.e. the version received).

Users of public projects with the State Tool installed (and who are signed in to the Platform using the state auth command) are able to configure the public project, save any changes, and create new versions that can be shared.

For Private projects, the recipient must have the State Tool installed and be signed in to the Platform using the state auth command. Users of private projects who are signed in to the Platform can configure the project and view the project’s history using the History tab.

In the History tab, previous versions of the project can be accessed by clicking the View to this Commit link and can be installed by clicking the Revert to this Commit link.


Move a project

You can move a project to a new organization through the Project Settings tab of your project page. Before you move your project, ensure you are a member of both the original and destination organizations and that your permission has been set to “Admin” for both. For more details about setting permissions for your organization, see Manage permissions.

To move a project:

  1. Go to your project’s Project Settings tab.
  2. Scroll down to the Move to Organization drop-down.
  3. Select the new destination organization for the project.
  4. Click Move Project.

You will be redirected to your project page in the new destination organization. Once the project has been moved, it will no longer be available in the original organization. To move a copy of your project to another organization, you can fork it.