Is it no longer possible to download a simple MSI installer package for Python?
Prebuilt MSI/EXE format installers are available at Enterprise Tier or as a add-on at Team Tier.
If you wonder why we changed over from a “download the pre-configured bits” to a platform it’s outlined here History of the ActiveState Platform :: ActiveState Platform Documentation
Before the introduction of the Platform, ActiveState would disseminate languages and language versions with a select group of pre-composed dependencies via physical media (DVDs and CDs) and through an online portal called “ActiveState Connect”. These products (known as “ActivePerl”, “ActivePython”, etc.) would be available quarterly, and in the event of a severe security or vulnerability threat, a new version would become available for delivery or download.
This involved distributing installation packages and documentation for each programming language, on various platforms and operating systems (including Windows, Linux, and macOS), to each individual customer, who would then distribute it to their developers as needed.
The old system was time-consuming, resource-intensive, and not particularly responsive when it came to evolving vulnerabilities or threats. Everything was configured manually by ActiveState, including building language versions, creating new users, creating and disseminating passwords, updating installations, etc. This also meant users were limited to what ActiveState provided instead of what requirements supported their specific application.
This methos was not unique to ActiveState, similar problems were evident in other “traditional” software vendors (i.e. those that distribute their software through physical media, such as CDs or DVDs, or via digital downloads).
One addition to the traditional method was the implementation of the Perl Package Manager (PPM). Starting with a version of ActivePerl, it offered a reliable and easy way to install additional modules on multiple operating systems. It was no longer necessary to have a development environment configured on your machine to compile and build modules for your Perl runtime environment.
This method was so easy and popular that it was expanded and eventually replaced by ActiveState’s command line interface (CLI) the State Tool. The State Tool has the same workflow as the PPM but is available for multiple languages (Python, Tcl, Ruby).
The Platform represents a move from traditional software vendoring to a “Platform as a service” (PaaS) model. This allows users to build and deploy open source application dependencies quickly without waiting for manual updates or requiring users to maintain their own tooling.
It remains a cost-effective option for businesses that do not have the time or resources to manage their own open source IT infrastructure.
The ActiveState Platform is a cloud-based platform that supports a range of open source languages and provides a suite of tools and features to help developers create, manage, secure, and deploy software applications.
It takes all the previous functionalities ActiveState used to provide as separate services and allows users to create dynamic builds based on their own requirements, rather than depend on ones pre-made by ActiveState.
The key services provided by the Platform are:
- Source Built Package Catalog - Open source packages built from source, covering different frameworks and uses (machine learning, data science, developer utilities, security, etc.)
- Package Management Dashboard- Users can manage requirements in collaborative organizations and projects, adding, sharing, updating, and deleting build variables as needed.
- Dependency Solver- Automatically resolves dependencies for required packages and displays common vulnerability errors (CVEs) directly from the UI. Package versions can be automatically selected or chosen by users.
- Secure Build System- Creates runtimes from package requirements that are reproducible and trusted. Each project’s components can be traced using a Software Bill of Materials (SBOM) and can be attested to existing SLSA levels.
- Artifact Store- Distributions are stored securely with commit history and can be deployed via several different functions including installers, State Tool commands and artifact repositories.
- State Tool- a CLI that works in conjunction with the Platform UI to update and change runtimes and manage packages as well as create new virtual environments and projects.
While the old ActiveState system focused on static deliveries of ActivePerl/Python/Tcl, versions, and dependencies, the Platform provides a dynamic range of language distributions, package management tools, secure packages and dependencies, and other resources for software development teams. Working together with the State Tool, this allows developers to easily manage and update their language environments and dependencies, as well as collaborate on projects with other team members.
The ActiveState Platform provides a range of benefits for enterprises looking to streamline their software development and deployment processes. Some of the key benefits of the Platform include:
- Customizable language distributions- The Platform includes a centralized tool for managing and automating the creation of custom language distributions, enabling enterprises to create and deploy software applications using the programming languages and tools that work best for their needs. The ActiveState library is frequently updated with the newest and most popular packages and dependencies. Creating an ActiveState Project using the Platform is now quicker and available with more options.
- Collaborative work environments using the ActiveState Organizations feature- Organizations are the way you group ActiveState Platform projects for a company, department, or team. Members of the organization will have access to each project in the organization, with the ability to invite others to join, remove users, and create or modify runtimes (depending on permissions set for each user). You can create paid organizations that support both private and public projects, or free organizations that only support public projects.
- Artifact repositories and package indexes that are vetted for security, maintainability, and commercial use- All ActiveState artifacts are built in isolation with a secure build service and free from risks of typosquatting, dependency confusion, and brandjacking.
- Increased agility- The Platform’s cloud-based architecture enables Enterprise customers to easily scale their software development and deployment processes up or down based on their changing needs. Sharing a pre-built project with others in your organization can be done quickly and easily.
- Enhanced security- The ActiveState Platform includes a range of advanced security features, such as automatic vulnerability scanning and patching (included in your Managed Distribution), to help ensure that software applications are secure and compliant with relevant regulations.
- Simplified compliance- The Platform includes built-in compliance and governance controls, making it easier for enterprises to comply with relevant regulations and industry standards (including SLSA).
- Multi-cloud and multi-OS support- The ActiveState Platform supports deployment to different operating systems (Windows, Linux, and macOS) as well as multiple cloud providers, enabling enterprises to take advantage of the benefits of different cloud environments without being locked into a single vendor or OS.
In this new model there will not be an installation of ActiveState Python on the my system, instead it will be resident in ActiveState’s PasS cloud?
If so, not a fan and will likely move on to another distribution that still has a traditional download that can be installed locally. I can imagine that the new model has its benefits, it would still be nice if there was some accommodation for a traditional type installation.
Thanks for your expertise and help,
There still is an installation of the compiled bits (runtime) on your system, and the source code continues to be built on our system first - there is no change there.
the change is that we deliver it customized and on request
Previously we bundled as many packages as we could think of, in a way where all were compatible with one another, and you were forced to get all those packages whether you wanted them or not. this is large, and also less secure.
Now we only build and bundle what you want, so you need to provide a requirements.txt or similar or specifically request/select the packages desired, and then they are delivered as ordered with only required packages. You must also be internet connected to request an update/change (much like using NPM / PyPi etc)
Am i understanding corretly you wanted to be sure the bits arrive don your system (they do) and not worried that connectivity was required (which it now is unlike before since you can add/remove/update/downgrade on the fly)
If you could explain which parts of the explanation made you think no bits did not arrive locally so we can update our docs explaining the change to our platform so no one else is confused.
If i misunderstood and the connectivity is an issue, because you are in an airgap, we can still bundle and deliver packages for offline customers but only at the enterprise level.
I appreciate you patience. I did go through the process, see below, but was expecting to see Python 3.10 installed somewhere, but I sure can’t find it.
I gather that I’ve done something wrong, or am not understanding how this all works.
Please advise what I’m doing wrong.
█ Signing In To The ActiveState Platform
Awaiting authorization for this device with the following security code:
Please sign into the ActiveState Platform (if you have not already done so) and click “Authorize”.
After that, it may take a few seconds for the authorization process here to complete.
Successfully authorized this device
You have successfully authenticated, hello lospinoj!
You are logged in as lospinoj
C:\Users\lospinoj\AppData\Local\ActiveState\StateTool\release\bin>state activate --default lospinoj/Python-3.10.11-Windows
█ Creating a Virtual Environment for your Project’s Packages
This project will always be available for use, meaning you can use it from anywhere on your system without activating.
Setting Up Runtime
Resolving Dependencies Done
All dependencies have been installed and verified
WARNING: The following scripts collide with existing commands and should be renamed: pip.
Project “lospinoj/Python-3.10.11-Windows” Has Been Activated
The activate command will set up your runtime so that it is available from a single-user, virtual environment.
You have used
state activate. If you want to install in a location of your choice, then use
state checkout <orgname>/<projectname> --runtime-path <location of folder>. Here’s a link to the documentation for
state checkout: Checking out your project runtime :: ActiveState Platform Documentation
After 20+ years of using ActiveState Perl and Python, I’m giving it up and moving onto some other distribution, Anaconda maybe?. ActiveState has every right to distribute however it pleases but this methodology tends to shut out the non-enterprise users, hobbyists, students, poor people, etc.
If the paid for Enterprise subscription provides for a downloadable installer, the infrastructure is there, it’s just not being offered to us free loaders, again, totally understandable.
Anyway, thanks for your help.