We are happy to announce the availability of the first official version of SteelScript for Python and the SteelScript Application Framework. This new version incorporates a lot of changes that we have been furiously working on over the last several months to tighten up the code and make it easier to install and maintain.
Check out the new SteelScript related product briefs and videos on riverbed.com/products/developer-tools.
'FlyScript'.replace('Fly', 'Steel') = 'SteelScript'
In following with the new 'Steel' naming schema across the product lines, we have renamed all things FlyScript:
- SteelScript for Python - formerly FlyScript Python SDK
- SteelScript Application Framework - formerly FlyScript Portal
- Open APIs - formerly FlyScript REST APIs
In addition, you'll notice that the new SteelScript code base is leveraging update names for NetProfiler as NetShark as well.
One of the most visible changes it greatly improved documentation:
- Expanded coverage for NetProfiler and NetShark modules
- Revamped installation guides for both core SteelScript and the Application Framework
- New coverage for the Application Framework, including examples, reports, plugins and analysis tables
The new look and feel is thanks to the Sphinx Python Documentation Generator!
SteelScript and the Application Framework are now comprised of a set of Python Packages. Python code related to each product have been split out into their own package and also incorporate both core and application framework code into the same package.
Currently available packages:
- steelscript - the common functions and class required
- steelscript.netprofiler - core and appfwk support for SteelCentral NetProfiler
- steelscript.netshasrk - core and appfwk support for SteelCentral NetShark
- steelscript.wireshark - appfwk support for Wireshark and PCAP file analysis
- steelscript.appfwk - base application framework package
- steelscript.appfwk.business-hours - plugin to provide business hour reporting
This new model makes it much simpler to create new plugins (in fact, a one-liner once you have steelscript installed). It's now a snap to build a distribution and share your new plugin with others, whether that is just core code or includes reports or data sources for the application framework.
Each of these are installable via pip, but we have also simplified installation and management....
Getting things installed on a platform that supports pip is as easy as:
$ pip install steelscript
$ steel install
If you want to include the application framework, just add "--appfwk" to the end of that second command.
See the Quick Installation Guide for more details for your specific platform.
SteelCentral NetShark Configuration
Complete coverage for querying and updating NetShark system settings is now fully covered by the core steelscript.netshark package. See the documentation for more details.
Business Hour Reporting
One of the new plugins adds support for business hour reporting. This plugin is agnostic of the data source, so it can be used with either NetProfilier or NetShark to collect statistics during critical business hours only, ignoring peaks or dips in off-hours or weekends.
Integration with LDAP for authentication for the Application Framework is now possible via a few extra third party packages. A sample configuration is included in the example-configs directory of a newly created project.
Custom Database Tables
It is simple to create a new database table for storing information custom to your infrastructure. Merge, join, mashup this data with statistics gleaned from NetProfiler or NetShark.
Through AnalysisTables you can combine data from multiple sources, compute statistics, resample time-series and much more. You are only limited by the vast array of Python packages available. Dependent data from other sources queried for you and is normalized into Python Pandas DataFrames, letting you focus solely on the data transformation logic. Wire your analysis table to one of the many widgets available you can immediately see the results visually.
What you don't see on the surface is all the rework under the hood that makes the Application Framework hum. We ironed out a much cleaner API for creating reports, defining custom data sources and analysis tables, and generally code organization. You'll see this in a more regular and intuitive structure from the report configuration files on down to custom plugins.
Upgrading from FlyScript and FlyScript Portal
If you have existing code written using FlyScript or the FlyScript Portal, you'll need to make some changes. For core FlyScript it's mostly about the name changes for the the imports and a few class names. The core APIs have otherwise not been changed. For FlyScript Portal, the changes are more extensive as we found we needed to clean some things up that were either confusing or limiting. We'll be posting a complete upgrade guide shortly that will walk you through the details.
Now that this is out the door, we look forward to hearing your feedback! Missing some documentation? Have a great idea? Got some code to share? Speak up, let's get the SteelScript conversation going!