Acumos Python Client Release Notes


  • Authentication
    • Username and password authentication has been deprecated
    • Users are now interactively prompted for an onboarding token, as opposed to a username and password


  • Requirements
    • Python script dependencies can now be specified using a Requirements object
    • Python script dependencies found during the introspection stage are now included with the model


  • Bug fixes
    • Don’t attempt to use an empty auth token (avoids blank strings to be set in environment)


  • Bug fixes
    • The normalized path of the system base prefix is now used for identifying stdlib packages


  • Bug fixes
    • Improved dependency inspection when using a virtualenv
    • Removed custom packages from model metadata, as it caused image build failures
    • Fixed Python 3.5.2 ordering bug in wrapped model usage


  • TensorFlow
    • Fixed a serialization issue that occurred when using a frozen graph


  • Model upload
    • The JWT is now cleared immediately after a failed upload
    • Additional HTTP information is now included in the error message


  • Authentication token
    • A new environment variable ACUMOS_TOKEN can be used to short-circuit the authentication process
  • Extra headers
    • AcumosSession.push now accepts an optional extra_headers argument, which will allow users and systems to include additional information when pushing models to the onboarding server


  • Modeling
    • Python 3.6 NamedTuple syntax support now tested
    • User documentation includes example of new NamedTuple syntax
  • Model wrapper
    • Model wrapper now has APIs for consuming and producing Python dicts and JSON strings
  • Protobuf and protoc
    • An explicit check for protoc is now made, which raises a more informative error message
    • User documentation is more clear about dependence on protoc, and provides an easier way to install protoc via Anaconda
  • Keras
    • The active keras backend is now included as a tracked module
    • keras_contrib layers are now supported


  • Replaced library-specific onboarding functions with “new-style” models
    • Support for arbitrary Python functions using type hints
    • Support for custom user-defined types
    • Support for TensorFlow models
    • Improved dependency introspection
    • Improved object serialization mechanisms