Release Notes

v3.0.0 August 2020

  • Support for OEDesignUnit in dataset upload and download has been added.
  • Support for uploading OEDU files to datarecords has been added to upload()
  • Support for Python versions that are less than or equal to 3.6 is being deprecated in the next Orion release.
  • Orion server API version has been increased to require 5.0 or later.
  • A new type, Balance, has been added.
  • Support for retrieving cost information on a WorkFloeJob has been added. Cube cost will show automatically when using the --wait flag on jobs in the command line.
  • get_current_workfloe_job() has been added to help cubes running in Orion get the WorkFloeJob that the cube is running in.
  • A flag with-token has been added to ocli config profile to optionally create a profile using a token value.
  • datarecord.utils.TemporaryPath has been deprecated. TemporaryPath should be used instead.
  • The dependency on Click has been updated to >=6.7,<8.0.
  • The dependency on OpenEye-floe has been updated to >=0.11.0,<0.12.0
  • The dependency on OpenEye-toolkits has been updated to >=2020.1.0,<2020.2.0
  • The dependency on OpenEye-drconvert has been updated to >=1.1.0,<2.0.0
  • The dependency on OpenEye-datarecord has been updated to >=3.0.0,<4.0.0
  • To improve debugging capabilities, an additional request header has been added.


  • An issue where providing an organization id when sharing with Organizations would not make the data available globally.
  • orionclient.types.Datarecord.records now yields OEMolRecord
  • orionclient.session.in_orion() now correctly returns a boolean.

Breaking Changes

  • Datetimes on Orion Client objects now contain seconds
    • Format %Y-%m-%d %H:%M:%S

v2.6.3 March 2020

  • The efficiency and reliability of ShardCollection.list_shards has been improved.
  • A backoff_dict argument has been added to get_session, Retryable, and Backoff to allow customization of backoff behavior based on HTTP status codes.

v2.6.2 March 2020

  • The dependency on OpenEye-Datarecord has been updated to >=0.13.0,<0.15.0.


  • An issue in which uploading shards would not correctly retry has been fixed.
  • An issue that was introduced in v2.6.0 that prevented the usage of Python 3.5, has been fixed.
  • An issue with the encoding of credentials has been fixed.

v2.6.1 February 2020

  • The dependency on floe has been updated to >=0.8.10,<0.10.0.

v2.6.0 November 2019

  • Support has been added for sharing and unsharing with organizations without using an ID.
    • ocli <cmd> share <id> organization
    • ocli <cmd> unshare <id> organization
  • Support has been added for sharing and unsharing with multiple entities at once.
    • ocli <cmd> share <id> <share-type> [user-ids ...]
    • ocli <cmd> unshare <id> <share-type> [user-ids ...]
  • A new field titled owner was added to ShardCollection.

v2.5.1 November 2019

  • The dependency on floe has been updated to >=0.8.10,<0.9.0.


  • A ValidationError is now raised for unknown command line arguments for ocli job start.
  • Boolean command line arguments are now validated correctly for ocli job start.

v2.5.0 November 2019

  • The dependency on datarecord has been updated to >=0.13.0,<0.14.0.
  • The dependency on drconvert has been updated to >=0.7.0,<0.8.0.

v2.4.0 October 2019

  • Token has been added as a new type in Orion Client.
  • ocli tokens ... has been added as a subcommand for managing tokens.
  • Several methods have been added to allow uploading files as parts.
  • A warning has been added to the close() docstring that it must be used downstream of a parallel cube/group in order to prevent duplicate shards.


v2.3.0 September 2019


  • When running ocli ledgers list, using the --json no longer raises an exception. The json returned also returns a float, while the regular listing style will show it as a string with $ at the start.

v2.2.0 August 2019

  • The ability has been added to upload via url or file in upload() and ocli packages upload.

v2.1.0 August 2019

  • ocli config delete has been added to remove existing configuration profiles.
  • reconnect has been added as a keyword argument to is_authenticated() as the function now caches failure to connect to avoid repeatedly having to wait on failed attempts to connect.
  • ocli packages download has been added in order to download source of packages.
  • orionclient.helpers.try_hard_to_create_shard() and orionclient.helpers.try_hard_to_download_shard() have had their logic moved into original shard API. Note that this may result in the shard’s id being updated. A shard shouldn’t be emitted or have its ID saved until after an upload succeeds.
  • Support has been added for JSON format in download().
  • refresh_resource_until() has been added.
  • --limit and --offset have been added to the CLI listing commands for resources.
    • Scaling Groups and profiles are excluded as these endpoints always return all of the resources.


  • Time formatting is ensured to be consistent for all resource types (e.g. created attributes)
  • ocli jobs watch time formatting, refreshing, and reported fields has been fixed.
  • Package source download failure in download() has been fixed.
  • download() with long list of record IDs has been fixed.
  • refresh_resource() has been fixed to update timestamps consistently.

v2.0.0 July 2019

  • Support has been added for Floe package deprecation and un-deprecation. This change requires Orion server API version of 3.0 or later.

v1.2.0 July 2019

  • --timeout option has been added to the command line client to override the default request timeout.

v1.1.0 June 2019

  • untag_resource() has been added to add support for removing tags from resources.

  • ocli <resource> untag <identifier> tags... has been added to remove tags from resources.

  • Types Modifications

    • ShardCollection

      • size field has been added which provides size of a collection in MB.
      • created field has been added which provides timestamp of when it was created.
      • deleted field has been added which provides timestamp of when it was marked for deletion.
    • Shard

      • size field has been added which provides size of a shard in MB

v1.0.0 April 2019

  • All resources have been updated to use latest available endpoints.

  • API version validation is now performed upon communicating with server.

    • Support for 1.0 API is now in the client.
    • If version client’s API version isn’t supported by the server, the client will.
  • –verify-ssl` flag for ocli config profile has been removed.

  • The ability to collect debug information from jobs has been added.

    Triggering the collection of debug information about a job will generate a file in Orion that can be sent to support.

  • From the CLI, creating Secrets now no longer takes a name and a value. Now it expects the value with the flag --value or the user will be prompted for the value, hiding the value.

  • Types Modifications

    • LedgerEntry
      • New type that has been added.
    • Dataset
      • deleted field which provides timestamp of when it was marked for deletion has been added.
      • systemtags field which is a list of tags that the system associated with the dataset has been added.
    • OrionUser
      • is_staff field has been removed, users should now rely on administrator field.
      • is_superuser field has been removed, users should now rely on adminstrator field.
    • Service
      • globally_visible field has been removed, and is no longer provided by the backend.
    • File
      • deleted field which provides timestamp of when it was marked for deletion has been added.
    • WorkFloeSpec
      • systemtags field which is a list of tags that the system associated with the workfloe has been added.
    • WorkFloeJob
      • project field, which indicates the project that the job was run from has been added.
    • WorkFloePackage

v0.6.13 February 2019

  • orionclient.helpers.try_hard_to_create_shard() and orionclient.helpers.try_hard_to_download_shard() have been added.
  • Log messages for failures and retries have been clarified.
  • Logs retry statistics if total time of request exceeds 60s have been added.


  • Silent failures of uploading datasets with files that aren’t supported have been fixed.
  • Requests that result in 500s are now retried.
  • Shard upload requests that result in 400s are now retried.
  • Connection pool is now cleared on exceptions.

v0.6.12 February 2019

  • Support has been added for links
    • OrionSession.create_link() and OrionSession.get_link() provide the ability to create and retrieve links.

v0.6.11 January 2019

  • The v3 collection API is now used by Orion Client.
  • The number of number of requests to upload a shard has been reduced.
  • The requirements have been updated to avoid installing incompatible versions of the dependencies.


  • --wait flag for jobs has been changed to not throw an exception.

v0.6.10 October 2018

  • Changes have been made for more robust handling of API changes in Orion Client.


  • Sharing has been enabled without providing default permissions.
  • An issue with unsharing resources shared with organizations has been fixed.

v0.6.9 October 2018

  • In order to improve debugging capabilities, headers have been added.

v0.6.8 September 2018

  • An exception, OrionTimeout, has been added, to indicate when a request timed out.
  • Several exceptions that were being raised in the CLI have been fixed.


  • An issue related to downloading records by ID has been fixed.

v0.6.7 September 2018

  • Improves reliablity of configuring profiles using ocli config profile.
  • Shard upload and download are now retried. Note that these retries are not controlled by the --max-retries parameter.
  • The command ocli jobs watch has been added.
  • The memory footprint of Dataset.records() iterator has been reduced.

v0.6.6 September 2018

  • Dataset writing has been optimized.


  • An issue retrieving records when sizes of records are not consistent has been fixed.

v0.6.5 September 2018

  • The attribute organization_feedback_email has been added to UserProfile.

v0.6.4 September 2018

  • Adds open method to ShardCollection.
  • Adds open and close sub-commands to collections command.
  • Additional keyword arguments have been added to list commands on the cli.
    • ocli files list now has the --name and --project filters
    • ocli datasets list now has the --name and --project filters
    • ocli workfloes list now has the --name and --package filters
    • ocli collections list-shards now has the --name filter
    • ocli jobs list now has the --name filter
    • ocli secrets list now has the --name filter
    • ocli services list now has the --name filter


  • An issue with filtering large numbers of resources on datasets has been fixed.

v0.6.3 September 2018

  • The options offset and limit have been added to the and Dataset.records methods.


  • is_authenticated has been fixed.
  • The downloading of specific record ids of a dataset has been fixed.

v0.6.2 August 2018

  • An option, --name has been added to ocli file upload.. to help specify the name.


  • An issue where providing URL with more than 255 characters to upload as a file would raise an error when using the CLI has been fixed.

v0.6.1 August 2018

  • The amount of memory used by writing records to Dataset has been reduced.
  • The method OrionSession.list_tags() has been added to OrionSession.
    • ocli <resource> list-tags <identifier> also has been added to list tags of a resource on the command line.
  • Either a file path or a URL can be provided to File.upload().
    • ocli file upload also supports URLs
  • The commands download, help, upload, info-shard, list-shards, delete-shards have been added to the collection CLI.

v0.6.0 August 2018

  • The most recently created project is now defaulted to by ocli config profile.
    • ocli config project should be used to configure the project of an orion profile.
  • None is now returned by get_profile_config() if it is unable to find a profile.
  • When using the CLI with an invalid profile the error message now indicates that the profile is invalid.
  • OrionUser objects now requires v2 user API
    • The attributes is_superuser and is_staff have been deprecated in favor of administrator on OrionUser objects.
      • These fields will be removed in a future release
  • File object now requires the v2 file API
    • Writing much larger files to Orion is now supported.
    • An attribute, multipart, has been added.

v0.5.4 August 2018

  • A more verbose help command has been added.

v0.5.3 August 2018

  • The --project flag has been added to ocli config profile to specify a project to use by default.
  • The --project flag has been added to the upload commands for ocli datasets upload ... and ocli files upload ... to specify a project to upload to.


  • An issue with configuring profiles without SSL verification has been fixed.

v0.5.2 July 2018

  • A message is printed when no resources are provided.
  • Backoff for 409 Responses has been increased.
  • Custom metavar variables have been removed.
  • The order of data returned by ocli user list and ocli user info have been changed.
  • json CLI commands have been improved.


  • An issue with ocli config has been fixed.
  • An issue where invalid configurations would cause clients to hang has been fixed.

v0.5.1 July 2018

  • The command ocli collections, for getting basic information about ShardCollection from the CLI, has been added.

v0.5.0 June 2018

  • The command ocli config list, which lists profiles, has been added.
  • The command ocli datasets finalize, which finalizes datasets, has been added.
  • Messages returned by the CLI have been improved.
  • The ability to share with an Organization has been added via the CLI commands ocli <resource_type> share <resource_id> organization <org_id>.
  • Lists of strings are now considered valid input by OrionSession.tag_resource.
  • It is no longer required for data to be read into memory prior to uploading, except in the case of the Shard class.


  • Failures encountered when retrieving inspection and environment logs for packages via the CLI has been fixed.
  • Shard has been modified to automatically define ShardCollection during creation.

v0.4.0 June 2018

  • A command, users, has been added to the command line for information on users.
  • New sub commands tag, share and unshare have been added for resources where applicable.
  • OrionSession.get_current_user() has been removed and replaced with OrionSession.get_user_profile(), which returns a UserProfile
  • The function OrionSession.share_resource() has been added, which enables sharing resources with OrionUser and Project.
  • Support for the new Orion API for retrieving inspection and environment logs for floe packages has been added.
  • An attribute, title, has been added to WorkFloeSpec.


  • An issue with CLI where ValidationError wasn’t handled correctly has been fixed.

v0.3.1 June 2018

  • Support for local conversion of CSV and OEChem formats to DataRecords through the Dataset.upload() method has been added.
  • OrionSession.is_authenticated() has been improved so that it fails quickly if no credentials are provided.
  • A field, success, has been added to WorkFloeJob. This will always be False if the version of Orion doesn’t support the field.
  • The Dataset.finalize() method has been added to support newer versions of Orion.


  • Added an import exception in orionclient.session to handle when a request timed out.

v0.3.0 June 2018

  • Tagging has been modified and is no longer compatible with previous versions of Orion.

v0.2.3 May 2018

  • Adds default APISession, to reduce the number of Sessions created by the user
  • CLI support for disabling SSL verification or using personal credentials has been added. It is recommended to enable SSL verification.
  • The ordering of CLI list and info has been improved.
  • get_credentials() has been deprecated and replaced with get_profile_config(). get_credentials() will be removed in a subsequent release.
  • The Orion CLI command syntax for running Workfloe jobs has been modified to be more consistent with the local floe CLI. Cube parameters are now specified as <cube_name>-<parameter_name> instead of <cube_name>_<parameter_name>.


  • An issue where users were unable to write to datasets that were retrieved using OrionSession.get_resource() has been fixed.

v0.2.2 May 2018

  • The verification of SSL certificates has been disabled. This will be re-enabled in the future.

v0.2.1: April 2018

  • The conversion of readable OEChem formats are performed automatically by ocli datasets upload and ocli datasets download. Note that this does not change the underlying logic of Dataset.upload, which still expects a record file.
  • Error handling in the command line has been improved.
  • The commands ocli packages inspection and ocli packages environment have been added to enable the retrieval of inspection and environment logs, respectively.
  • An option, --max-retries has been added. It specifies how many times a client will retry a request in response to connection failures and 404 responses. By default, requests are retried twice.
  • Boolean parameters for running floes have been modified in order to ensure that True and False values are honored by flags.

v0.2.0: April 2018

  • File.create() has been renamed to File.upload()/
  • Support for retrieving specific records from a Dataset has been added.