Changelog

v9.6.3

Fixed

  • Allow empty body in put post patch requests with rsa requests

v9.6.2

Fixed

  • Always rebuild authorization headers even on redirects

Updated

  • Pin CI environment to Ubuntu 20.04 to support running Py 36 tests

v9.6.1

Updated

  • Transcriptic CLI to use “strateos” not “transcriptic” as default API root

Updated

  • Preferring Bearer token over user token when configuring Connection session.

  • Using json-api runs endpoint to fetch project runs instead of previous project-runs endpoint. Change was made to avoid possible timeouts, and improve efficiency. Fields returned from the original project-runs api call were limited to the fields used by the cli. This may be a BREAKING CHANGE if using config.runs method.

v9.6.0

Fixed

  • requests dependency to requests>2.21.0,<3

  • upload-release command to release archive requires the user_id of the session.

  • Linting, equivalence, and docstring issues.

Updated

  • Updated pillow version <=8,<9

  • Pandas version to >=1, <2 to support Python 3.9

Added

  • Python 3.9 support

v9.5.0

Updated

  • Jinja2 version >=3.0 to be compatible with the data-processor-service.

Fixed

  • upgraded base docker image to 3.7 to fix nbgitpuller error

v9.4.2

Added

  • Stdout the detail error_info of the generation_errors in the launch request.

v9.4.1

Added

  • optional predecessor_id argument in commands.launch. and config.submit_launch_request If passed, will populate on web.

v9.4.0

Added

  • New -e/–exclude and -i/–include flags to exec. It filters out the autoprotocol instructions in the backend.

v9.3.1

Fixed

  • Adapt the backend url resolution with the new configuration of the frontend client.

v9.3.0

Added

  • A new -tc-suggestion/–time-constraints-are-suggestion flag to exec.

  • A new –no-redirect flag to exec. It allows the endpoint of the scle test workcell instance to be used, instead of the client dashboard.

Fixed

  • The workcell id in exec was forced to be wcN. There is now no restrictions.

Updated

  • Added support for sessions and absolute time constraint in exec CLI command. Added “–sessionId”, “–schedule-at”, and “–schedule-delay” flags.

  • The api url expected by the exec method has been changed to be the url of the new dashboard (unless –no-redirect is used). It has the shape: base_url/facility/workcell. It does not require http to be added anymore.

v9.2.0

Added

  • A new generated_containers attribute to the Instruction object

v9.1.0

Added

  • A new exec command to send autoprotocol to a test workcell

  • isort for automatic import sorting

  • Example initial tests for commands file using responses pattern, starting with submit and projects.

  • Deprecation warning for existing -i option for projects command.

  • Binder build cache step

  • All API requests will now pass the organization context as a request header

Fixed

  • Issue with CodeCov for GitHub action CI

  • -i option for projects command did not output anything to console when called from cli.

  • Pinned numpy to <=1.19.5 due to an incompatibility issue with numpy 1.20.0 on python 3.7

Updated

  • Added new option “–names” to projects CLI command. This is meant as a better named and more intuitive replacement for the existing -i option.

  • Returned more explicit error statuses for projects and submit commands.

  • Remove notebooks directory as we break it out into a separate repository

  • Plumbed test posargs through to allow local execution of specific test files.

  • Autoprotocol dependency to >=7.6.1,<8 for Instruction informatics attribute

v9.0.0

Added

  • example notebook for Analysis package exploration

  • sample Absorbance and Kinetics datasets

  • transcriptic.sampledata module for enabling mocked Jupyter object exploration without establishing an explicit connection

  • example notebook for Jupyter object exploration

  • Downloads badge to keep track of usage

Updated

  • Migrated from travis to github actions as a CI backend

  • Remove unused scipy dependency

  • Break out Jupyter objects into individual files. This affects direct imports from transcriptic.jupyter.objects

v8.1.2

Fixed

  • Issue with bash syntax for Travis config

v8.1.1

Added

  • Codecov configuration for coverage

  • Binder badge and updated Dockerfile

Fixed

  • Repeated deploy issue with Travis config

  • Encoding error when using dataset upload API with request signing enabled

  • Bad request error when making calls to non-Strateos endpoints (e.g. S3) with authorization headers set

v8.1.0

Added

  • Support bearer token authentication

Updated

  • Pin black version to 20.8b1 for local dev env consistency

  • Remove util.robotize/humanize and change callers to use autoprotocol directly

v8.0.0

Added

  • .readthedocs.yml configuration for docs building, corresponding badge

  • pre-commit framework and linting

  • auto-deploy functionality

  • Fish completions

  • Autoprotocol dependency for analysis package

Updated

  • Transitioned all .md files to .rst files

  • Doc dependencies, Sphinx to 2.4, releases to 1.6.3, sphinx-rtd-theme to 0.4.3

  • Test dependencies, pytest to 5.4, pylint to 2.5.2, tox to 3.15

  • Travis build reorganized to distinct jobs

  • Support for Python 3.8

  • Made adding autocomplete functionality more explicit

  • Base CLI test framework

  • Standardize on kebab-case for cli commands

  • Plotly dependency to 1.13

  • Matplotlib dependency to 3.0.3

  • Spectrophotometry plots now render offline

  • Dataset object html representation increased

Fixed

  • Kinetics.Spectrophotometry.plot() function now works again

  • Spectrophotometry.Absorbance/Fluorescence/Luminescence plot() works again

Removed

  • References to Phabricator

  • Support for Python 3.5

v7.1.0

Added

  • Add optional Run title to Launch command

Fixed

  • Removal of can_submit_autoprotocol feature group in the default .transcriptic

v7.0.0

Added

  • zsh auto-completion support

Updated

  • Support only Python >=3.5, drop Python 2 support

  • Pin dependencies

  • Email references to point towards strateos

v6.0.0

Added

  • Added Connection.from_default_config() method and tests

  • Added Connection.modify_aliquot_properties() for aliquot property managment

Updated

  • Lint and docs, test cleanup

  • Starter work on testing Connection methods.

  • Updated dependencies to only support python 2.7 and python >=3.5

v5.6.0

Updated

  • run tox tests against python 3.5 instead of 3.4

Added

  • lint and build docs with tox

  • DataObject class which should help ease the transition from Datasets to DataObjects with regards to fetching data.

Fixed

  • doc and lint errors

v5.5.1

Fixed

  • Docstring building

v5.5.0

Added

  • attachments attribute on Dataset

Fixed

  • Analyzed Dataset content-disposition

v5.4.1

Updated

  • Separated out the CLI logic into programatically callable functions.

v5.4.0

Added

  • Ability to filter by package id when using transcriptic launch

v5.3.10

Updated

  • Made transcriptic analyze command visible to all

v5.3.9

Updated

  • Analyze handles missing pricing information.

v5.3.8

Updated

  • Jinja2 dependency made less strict

v5.3.7

Fixed

  • Fixed dataset and release uploading.

v5.3.6

Fixed

  • Fixed encoding bug with Python 3

v5.3.5

Fixed

  • Fixed backwards compatibility bug with using makedirs with Python 2

v5.3.4

Updated

  • Added transcriptic generate_protocol <NAME> that generates a scaffold of a python protocol.

v5.3.3

Updated

  • transcriptic summarize now has an optional --html argument. When specified it will return a url to view the autoprotocol.

v5.3.2

Updated

  • transcriptic select_org now has an optional organization argument. When specified, i.e. transcriptic select_org my_org, it’ll skip the prompt and set the organization value to my_org directly.

v5.3.1

Updated

  • transcriptic login now properly respects the --api-root option and persists the result into the dotfile

v5.3.0

Updated

  • transcriptic launch --save_input now outputs the same type of JSON ### Added

  • test flag to transcriptic launch, enabling the submission of test runs via the launch command

v5.2.0

Added

  • warp_events, a new property of the Instruction object is added. This provides information on discrete monitoring events ### Updated

  • Instruction object now has an Id field ### Fixed

  • Fixed issue with broken direct imports of Jupyter objects (e.g. from transcriptic import Run)

v5.1.0

Updated

  • Shifted non-core cli dependencies (i.e. those used in analysis) to the extras_require field

  • Shifted relative imports in base __init__ file to make this possible

  • Shifted objects to a separate Jupyter module, but preserved existing relative imports path for backwards compatibility

  • Documentation updated to reflect the changes

v5.0.4

Fixed

  • Error with transcriptic launch --local when a file is provided

v5.0.3

Fixed

  • FileNotFound incompatibility error for Python2 (when ~/.transcriptic file isn’t specified)

v5.0.2

Fixed

  • Made cookie updates actually update headers

v5.0.1

Fixed

  • in Connection.upload_dataset(), only convert io.StringIO instance to bytes, not StringIO.StringIO instance

  • Issue with upload-release

v5.0.0

Added

  • Added concept of HiddenOption and email and token as input parameters ### Updated

  • Use Sessions object for maintaining persistent api connection

  • Reworked env_args and headers setting and getting to be clearer and more consistent

  • CLI now automatically fits flags in the order of: –flag, environment variable, .transcriptic

  • More formal support for cookie-based authentication ### Fixed

  • Improvements to the way non-unique projects are handled

  • Improved error handling for Py2 ### Removed

  • use_environ flag is now deprecated in Connection. Please specify environment parameters directly

  • organization is now deprecated from Connection. Please use organization_id instead

v4.3.0

Updated

  • Reworked the structure of run.data to be more verbose

v4.2.1

Added

  • transcriptic upload_dataset to CLI

v4.2.0

Added

  • upload_dataset to api object and surrounding infrastructure ### Updated

  • Dataset object is now initialized via a more stable route ### Fixed

  • Reworked run.data route based on changes to web response

v4.1.2

Fixed

  • Quick bugfix to run.data route due to breaking web change

v4.1.1

Fixed

  • Minor bug with default behavior with select_org prompt in select_org and login

v4.1.0

Added

  • transcriptic payments to view payment methods and their corresponding ids

  • --payment flag to launch and submit to allow specification of payment methods ### Updated

  • transcriptic launch now presents and the price and asks for a confirmation before proceeding. --accept_quote flag is added which will override the confirmation

v4.0.1

Fixed

  • Remote behavior of transcriptic protocols

  • Missing container key in Dataset initialization now returns a warning instead of an error

v4.0.0

Added

  • Conditional display of views based on enabled feature_flags ### Updated

  • Default behavior of protocols and launch to remote instead

v3.12.0

Added

  • New –json flag for runs, projects and protocols for fetching JSON ### Fixed

  • Fixed bug in PlateRead that caused data overwrites if multiple instances of the same group_label were present

v3.11.0

Updated

  • Handling of 403 routes

  • Documentation to reflect permissions changes

  • Minor rework of launch_request

v3.10.3

Fixed

  • Bug with launch_request

v3.10.2

Fixed

  • AP2EN_test failures still requiring protocol

  • object.py requirement for autoprotocol.container_types

v3.10.1

Fixed

  • Minor bugfix for _parse_protocol

v3.10.0

Updated

  • Removed setup.py requirement for autoprotocol-python

v3.9.2

Fixed

  • Bugfix to resolve error caused by attempting to print unicode characters on the CLI.

v3.9.1

Fixed

  • Bugfix to remove data_keys from Absorbance function, which is no longer returned from webapp

v3.9.0

Added

  • Add raw_data property to the Dataset object

  • Add ability to cross reference aliquots with their data using the Dataset object

v3.8.0

Added

  • Ability to add --dye_test flag to transcriptic preview to convert a run into a water/dye test

v3.7.1

Fixed

  • Fixed minor bug in launching local protocols with transcriptic launch

v3.7.0

Added

  • Ability to browse your inventory using the transcriptic inventory command E.g. transcriptic inventory water

  • Ability to launch protocols remotely using the --remote flag. E.g. transcriptic launch Pipetting --remote

  • Ability to view available remote protocols for launching using transcriptic protocols --remote

  • Ability for transcriptic summarize to retrieve resource strings with the --lookup flag

Fixed

  • resources route has been updated to match web return

  • Ap2En for dispense and provision

  • resources route now accepts resource IDs

v3.6.0

Added

  • Object helpers to allow more natural property access. E.g. myRun.instructions.Instructions = myRun.Instructions

Updated

  • Misc formatting changes for HTML representation

Fixed

  • Underyling handle_response code to be more robust

v3.5.1

Added

  • Row index of the Container.aliquots DataFrame object now corresponds to the well index

Fixed

  • Stored volume in the Container.aliquots DataFrame as a Unit object instead of unicode

v3.5.0

Added

  • timeout property for Run objects

  • data_ids property for Run objects

Updated

  • data property for Run objects gives more informative errors when failing due to timeout

  • .monitoring method is now shifted to the Instruction object from the Run object

  • Optional parameters can now be handled by get_route ### Fixed

  • Existing route for monitoring data

v3.4.3

Fixed

  • Made local commands robust to lack of internet access

v3.4.2

Fixed

  • Broaden exception clause for general Python compatibility

v3.4.1

Added

  • Usage analytics support to CLI ### Updated

  • Minor documentation fixes

v3.4.0

Added

  • transcriptic select_org in CLI now allows you to switch organizations without re-authenticating

  • User-agent information to headers

  • Run.containers to return a list of containers used within the run

v3.3.1

Fixed

  • Updated transcriptic runs route to reflect reality

v3.3.0

Added

  • Ability for api.get_zip to handle larger zip-files by downloading to a local file

  • cover and storage attributes to Container object

  • Ability to construct and visualize a given protocol’s job tree using a flag on the CLI ### Updated

  • Updated english’s summarize to handle all currently-implemented instructions

v3.2.5

Fixed

  • Fixed initialization of Container object

v3.2.4

Added

  • Helper function flatmap into util ### Fixed

  • Fixed resources route in CLI. transcriptic resources 'query' now works

v3.2.3

Updated

  • Simplified Container._parse_container_type to use matching AP-Py container-type object whenever possible

v3.2.2

Added

  • additional documentation for Connection object ### Updated

  • update relevant documentation.rst files

v3.2.1

Updated

  • Updated “url” reference in run attributes to use “id” instead, in-line with a web update ### Fixed

  • Update docs/requirements.txt to be PEP440 compatible

v3.2.0

Updated

  • Reworked Instruction object

  • Reworked Run.instructions to return a Dataframe of Instruction objects

  • Aliquot object has been reworked into Container object as an aliquots property

Removed

  • Resource object has been removed from the library as its currently unused

Fixed

  • Change check for ImagePlate to be more generic

  • Setup now requires plotly 1.9.6 (for plotly offline/ipython compatibility reasons)

v3.1.0

Added

  • Tab completion for CLI (enabled by sourcing transcriptic_complete.sh)

  • New API route for getting zipfiles: api.get_zip

  • Made -h option synonymous with –help

v3.0.2

Updated

  • Setup now requires plotly 1.9.6 or greater

v3.0.1

Fixed

  • Better handling of Datasets with no well_map property in kinetics.spectrophotometry

v3.0.0

Added

  • New documentation for the new testing framework and how to write tests

  • Added Dockerfile for running Transcriptic containers. Compatible with CI tools (e.g. Jenkins) as well

  • New documentation added and hosted on http://transcriptic.readthedocs.io/en/latest/

Updated

  • Migrated the test framework from vanilla unittest2 to py.test

  • Rewrote documentation structure and added misc. documentation related changes

  • api module has been removed and merged into config module. The Connection object now handles all api calls.

  • All references to ctx has been renamed to api

Fixed

  • Fixed bug in spectrophotometry handling attributes

  • Fixed compatibility issue with running transcriptic preview on python3

v2.3.1

Updated

  • Transcriptic CLI subcommands: compile, init, preview, summarize no longer require login

Fixed

  • transcriptic runs command now works in CLI

v2.3.0

Added

  • __version__ variable for checking version. Enable version checking in CLI using transcriptic --version

  • New Analysis module: Kinetics; Kinetics base object and Kinetics.Spectrophotometry for analyzing kinetics-based data such as growth curves

  • Expose additional properties of Dataset object: operation, container, data_type

v2.2.1

Updated

  • Objects module has been heavily reworked and documentation added. This is especially true for Project, Run and Dataset objects

Fixed

  • Fixed package related CLI issues

v2.2.0

Added

  • api module for handling all calls including responses and exceptions

  • Connection object now mirrors most of the CLI functionality

  • basic test infrastructure and examples for testing API module

Updated

  • all separate requests, context or connection object calls are now consolidated and re-routed to go through the api and routes module

Removed

  • all direct api calls (get, put, push, pull) are removed from Connection. Users are encouraged to use the corresponding calls from the api module instead

v2.1.2

Fixed

  • Change in datasets route

Updated

  • Removed additional shadowed variable names

v2.1.1

Added

  • imaging module with ImagePlate as the first class for representing plate images. Focus is placed on IPython rendering

  • PIL dependency for image manipulation

v2.1.0

Updated

  • Major refactor of code to be in-line with PEP8

  • Removed unnecessary modules and renamed shadowed variables

v2.0.11

Updated

  • Updated behavior of transcriptic login to be clearer and to return appropriate error messages

Fixed

  • print statement for launch

v2.0.10

Added

  • pypi tags for setup.py such as classifiers and license

Fixed

  • Updated Container object to automatically populate safe_min_volume_ul

Removed

  • Unused dependency: scikit-learn

v2.0.9

Added

  • Updated manifest json parsing to deserialize into an OrderedDict, preserving key order, which enables quick launch inputs to be ordered

v2.0.8

Added

  • launch command now supports –save_input option to save the protocol input as a local file

Fixed

  • launch command now properly supported either a project name or project id for the project option

  • typo AutoProtocol -> Autoprotocol

v2.0.7

Added

  • launch command to configure and run protocols without needing to package and upload them first

v2.0.6

Fixed

  • RMSE calculation in spectrophotometry.py now reports correct RMSE

  • transcriptic submit now correctly parses new autopick group

  • containter attributes are correctly requested from transcriptic via spectrophotometry.py

v2.0.5

Added

  • List runs in a specific project using the transcriptic runs <project_name_or_id command

v2.0.4

Added

  • Enabled analyze and submit to work for Protocol objects

  • Additional functionality to Container object: Use your favorite autoprotocol ContainerType functions

  • Additional properties of Container object exposed: Use wellMap to return a mapping of the well indices to aliquot names

Fixed

  • Set plot to default to use mpl=true (not all users have plotly credentials)

v2.0.3

Added

  • cost breakdown in analyze

  • Python 3 compatibility

  • use transcriptic preview --view to return a URL that displays the instruction cards produced by the run you want to preview (this URL expires after two hours)

  • use the ‘transcriptic resources ’ CLI command to search the catalog for a resource’s vendor and id

  • plotly and future are now required

Fixed

  • dataset helpers and embedding

Removed

  • ipython module

v2.0.2

Updated

  • Refactored analysis.spectrophotometry into Fluorescence, Absorbance and Luminescence classes that inherit from PlateRead

Added

  • More documentation and related configuration

  • Python 3 support

  • Added cost breakdown to analyze CLI

Fixed

  • bug with initializing runs with Project object

v2.0.1

Added

  • project url and description to setup.py

  • Aliquot, Resource and Container object types

  • documentation setup and configuration

Updated

  • moved submit from cli to __init__

Fixed

  • critical bug in submit

  • bug in analyze

  • bug in create_project

v2.0.0

Updated

  • migrated content from transcriptic/runner to here, converted that code to a Python Client Library,

  • CLI functionality has not changed other than renaming some commands:

    • release –> build-release

    • upload –> upload-release

    • new-project –> create-project

    • new-package –> create-package

    • run –> compile