All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- In honour of its valuable service and strong track record of 22.8 million API requests, Ocarina is now awarded the honorary version of 1.0.0
- Added
published_datecolumn to end ofget pag --mode pagfilesoutput
- Limited columns output by
get pag --mode pagfilesto prevent new columns breaking older versions of Ocarina
- Configuration is now handled with Ffurf, tidying up
ocarina.util.get_configas well as offering more flexibility --print-configwill additionally print a status line to clearly communicate whether the loaded configuration is valid--print-configwill load and print an invalid configuration for inspection before exiting non-zero, rather than exiting non-zero without displaying anything--print-configwill userichto print a nice table of the configuration if--boringis not specified
OCARINA_CONF_FILEenvironment variable can now be used to change the default~/.ocarinaconfiguration location- Top level
--profile <profile>parameter can now be used to select which configuration to load from a correspondingprofile.<profile>object in Ocarina configuration JSON
get pag --mode pagfilesnow supports prepending a header with--output-headerand will translate suppression status to "SUPPRESSED" or "VALID" rather than printing a bool
.ocarinafile automatically created if it does not exist instead of suggesting the user creates it themselves- Configuration and token files are created with better default permissions by setting
umask - Emits a warning if non-user read or write permissions are detected on the Ocarina configuration or token cache
empty biosamplecommand now supports--metadatawhen uploading single empty biosamples- Note that using
--metadatawith--idsis not supported and will emit a client side warning
- Note that using
api.put_force_linked_biosamplesupports optionalmetadataparameter
- Corrected wrong version number in last CHANGELOG entry (46.1 was labelled as 46.0)
get pagsupports--published-before
- New experimental (unsupported) functions added to importable API client
put_force_linked_biosampleput_libraryput_sequencing
--print-configoption will dump out the Ocarina configuration (including secrets) for inspection
MAJORA_TOKENS_FILEconfig option (supported both by--envand~/.ocarinaJSON) allows the tokens cache to be placed in a user-determined location (otherwise defaults to existing~/.ocarina-tokens)
library_primersandlibrary_protocolare now correctly sent to Majora when using the singular--biosampleoption forput library
oauth authorisewill authorise an OAuth token for a particular endpoint for later use
emptysubcommand supports--sudo-ascommand line option
- Util function
_wait_for_tasknow controls all task result fetching for commands to remove significant code duplication get sequencingandget sequencing --fasterhave a configuration stanza to correctly support OAuth withmajora2.view_biosampleartifactscopeapi.majora.task.gethas a configuration stanza to correctly support scopeless OAuthget pag,get dataviewandget sequencingwill correctly support using--task-id(with or without--task-wait) to pick up a wait loop that was interrupted without issuing another task request- Improved sysexit error codes for task waiting failure modes
pag suppresshas a configuration stanza to correctly support OAuth withcan_suppress_pags_via_apiscopeget summaryandget outbound-summaryhave configuration stanzas to correctly support scopeless OAuth
- Changed exit codes to cover more cases using codes recommended by
sysexits
- Error message and exit code returned in the case where the
.ocarinaor.ocarina-tokensJSON is malformed
- Ocarina will reload OAuth2 tokens from disk before each request to reduce the likelihood of polling queries from failing
get paghas a configuration stanza to correctly support OAuth withtemp_can_read_pags_via_apiscope
get biosamplesubcommand now supports OAuth usingmajora2.view_biosampleartifactscope
- Spruced up
ocarina infousing the very fancyrichlibrary, you can disable this with--boring
ocarina empty biosamplenow has two modes:- Existing
--ids hoot meow honkmode allows one or more biosample artifacts namedcentral_sample_idto be forced into existence, unchanged for backward compatability --central-sample-id hoot --sender-sample-id secret_hootallows one biosample namedcentral_sample_idwith itssender_sample_idto be forced into existence
- Existing
get dataview --output-tablenow handles dataviews with nested data, one level deeper
- Fixed incorrectly documented version number for last release in CHANGELOG, incorrectly referred to as 0.31.1 instead of 0.39.1
OCARINA_QUIETconfig option (supported both by--envand~/.ocarinaJSON) can be set to non-zero (0) to suppress all non-output messages without--quiet--no-bannercommand line option suppresses the welcoming ocarina bannerOCARINA_NO_BANNERconfig option (supported both by--envand~/.ocarinaJSON) can be set to non-zero (0) to suppress the welcoming ocarina banner without--no-banner- You're welcome, @m-bull [#12]
ocarina infometadata lines are now printed in key sorted order
- Experimental
infocommand to grab basic metadata on any artifact in Majora
put tagsubcommand now supports OAuth usingmajora2.add_majorametarecord majora2.change_majorametarecordscopes
- Better late than never,
CHANGELOG.mdwill now document notable changes to Ocarina
get biosample-validitysubcommand now supports OAuth usingmajora2.view_biosampleartifactscope