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_date
column to end ofget pag --mode pagfiles
output
- Limited columns output by
get pag --mode pagfiles
to prevent new columns breaking older versions of Ocarina
- Configuration is now handled with Ffurf, tidying up
ocarina.util.get_config
as well as offering more flexibility --print-config
will additionally print a status line to clearly communicate whether the loaded configuration is valid--print-config
will load and print an invalid configuration for inspection before exiting non-zero, rather than exiting non-zero without displaying anything--print-config
will userich
to print a nice table of the configuration if--boring
is not specified
OCARINA_CONF_FILE
environment variable can now be used to change the default~/.ocarina
configuration 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 pagfiles
now supports prepending a header with--output-header
and will translate suppression status to "SUPPRESSED" or "VALID" rather than printing a bool
.ocarina
file 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 biosample
command now supports--metadata
when uploading single empty biosamples- Note that using
--metadata
with--ids
is not supported and will emit a client side warning
- Note that using
api.put_force_linked_biosample
supports optionalmetadata
parameter
- Corrected wrong version number in last CHANGELOG entry (46.1 was labelled as 46.0)
get pag
supports--published-before
- New experimental (unsupported) functions added to importable API client
put_force_linked_biosample
put_library
put_sequencing
--print-config
option will dump out the Ocarina configuration (including secrets) for inspection
MAJORA_TOKENS_FILE
config option (supported both by--env
and~/.ocarina
JSON) allows the tokens cache to be placed in a user-determined location (otherwise defaults to existing~/.ocarina-tokens
)
library_primers
andlibrary_protocol
are now correctly sent to Majora when using the singular--biosample
option forput library
oauth authorise
will authorise an OAuth token for a particular endpoint for later use
empty
subcommand supports--sudo-as
command line option
- Util function
_wait_for_task
now controls all task result fetching for commands to remove significant code duplication get sequencing
andget sequencing --faster
have a configuration stanza to correctly support OAuth withmajora2.view_biosampleartifact
scopeapi.majora.task.get
has a configuration stanza to correctly support scopeless OAuthget pag
,get dataview
andget sequencing
will 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 suppress
has a configuration stanza to correctly support OAuth withcan_suppress_pags_via_api
scopeget summary
andget outbound-summary
have 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
.ocarina
or.ocarina-tokens
JSON is malformed
- Ocarina will reload OAuth2 tokens from disk before each request to reduce the likelihood of polling queries from failing
get pag
has a configuration stanza to correctly support OAuth withtemp_can_read_pags_via_api
scope
get biosample
subcommand now supports OAuth usingmajora2.view_biosampleartifact
scope
- Spruced up
ocarina info
using the very fancyrich
library, you can disable this with--boring
ocarina empty biosample
now has two modes:- Existing
--ids hoot meow honk
mode allows one or more biosample artifacts namedcentral_sample_id
to be forced into existence, unchanged for backward compatability --central-sample-id hoot --sender-sample-id secret_hoot
allows one biosample namedcentral_sample_id
with itssender_sample_id
to be forced into existence
- Existing
get dataview --output-table
now 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_QUIET
config option (supported both by--env
and~/.ocarina
JSON) can be set to non-zero (0
) to suppress all non-output messages without--quiet
--no-banner
command line option suppresses the welcoming ocarina bannerOCARINA_NO_BANNER
config option (supported both by--env
and~/.ocarina
JSON) can be set to non-zero (0
) to suppress the welcoming ocarina banner without--no-banner
- You're welcome, @m-bull [#12]
ocarina info
metadata lines are now printed in key sorted order
- Experimental
info
command to grab basic metadata on any artifact in Majora
put tag
subcommand now supports OAuth usingmajora2.add_majorametarecord majora2.change_majorametarecord
scopes
- Better late than never,
CHANGELOG.md
will now document notable changes to Ocarina
get biosample-validity
subcommand now supports OAuth usingmajora2.view_biosampleartifact
scope