Updating your Managed Distribution

Updating your ActiveState Managed Distribution to include new packages or versions can be done by creating and submitting a change request. The easiest and fastest way to capture your change request is to:

  1. Create a fork of your Managed Distribution
  2. Make changes to the fork using the ActiveState Platform
  3. Notify ActiveState when you are satisfied with your changes

This can save time and avoid miscommunications that can arise in email exchanges, and will allow us to see exactly which changes you have made by examining the project history. Before making changes to a Python project please see our Note about Python package naming.

Create a fork of your Managed Distribution

Create a fork of your Managed Distribution by going to your current distribution and clicking the Fork It button. Place the fork in the same organization as the current Managed Distribution and add the postfix “-Update-mm/dd/yy” to the default name to identify the change request. This fork will now be user changeable.

alt_text

alt_text

Make changes to the fork using the ActiveState Platform

Managed Distributions allow you to add packages and versions which are not available on the Platform yet.

Under the Configuration tab for your new forked project, you can use the interface to make your changes. If you need to add a package that is not on the Platform, you must use the Import From File feature on your project’s Configuration tab. An example is shown below.

alt_text

alt_text

You can ignore the “Unable to Resolve Dependencies” message as this is expected, particularly when requesting packages that are not currently on the Platform.

When you are satisfied with your changes, leave a message for our team in the field under “Save your changes?” and click Save Changes Anyway. If you need more than 100 characters, make your changes in batches (in separate commits) and write a message for each commit.

All changes will be available for each commit in the distribution’s History tab. Using this, we can verify that the correct changes are made to the managed distribution.

If you have made a change that you are not happy with, simply update the fork with the correct information and save a new commit. We will make the final changes based on the state of your project at the latest commit.

alt_text

Notify ActiveState when you are satisfied with your changes

When you are satisfied with the list of packages on the Configuration tab, let us know that you would like us to apply these changes to your build.

Send an email to enterprisesupport@activestate.com and include the link to your forked distribution in your message (copied from your web browser).



Note about Python package naming

An important part of requesting a new package in an ActiveState Managed Distribution is to find the correct distribution name of the package, this is particularly important for Python packages.

The distribution name is the name of the package as it is listed in the package index. The central package index for Python is PyPi, and all Python packages on the ActiveState platform mirror the distribution names on PyPi.

The name of a Python package listed on a package index (distribution name) is not necessarily the name you use to import the package. The distribution name is not the same as the import name. . For example, you can use the pip package manager (which pulls packages from the PyPi index) to install the package with the distribution name “mysql-python”:

pip install mysql-python

When you try to import this package into your Python project you will get an error.

import mysql-python -> package not found error
import mySqlDb -> correct import

This can create confusion because some import names will actually be distribution names for other packages. Looking at your import statements alone, it is impossible to determine which packages you actually need to provide ActiveState. If you used ActiveState runtimes during your development process this is not an issue as the correct distribution names will be listed in your project.

If you used pip or Conda for development, generate a requirements.txtfile and use that to identify the distribution names of the package you provide to ActiveState.