----
* Updated TESTING doc
* Mailmap
* Jobs Outputs Download command now supports include and exclude wildcards
* Badges. Install instrux
* Sample config file now illustrates relation between TAPIS\_CLI\_SHOW\_CURL and TAPIS\_PY\_SHOW\_CURL
* TAPIS\_CLI\_SHOW\_CURL now defaults to the current value of TAPIS\_PY\_SHOW\_CURL
* Accept eho-tacc PR to add include support to jobs outputs download
* Updated env variable to reflect value defined in AgavePy
* Updated TESTING doc with details on new curl command function
* Formatting
* WIP: All command using TaccApiDirectClient can now render a curl equivalent to STDERR when TAPIS\_CLI\_SHOW\_CURL is set to true. Making this work for AgavePy will require implementing the same functionality in agavepy.swaggerpy"
* Attempt automatic container image build
* Disable Travis builds that are breaking due to Travis platform issues
* Updated ExcludeFiles and IncludeFiles argument builders to allow params to be specified multiple times insted of specifying a list. This makes the position of the --include and --exclude options agnostic to position when more than more pattern is specified
* WIP to get date searches working for metadata. for now, disabled search on 'created' and 'lastUpdated' fields
* WIP on metadata search by date
* Added details about new/fixed search options in apps, jobs, systems
* Improve support for --include flag
* Date searches for jobs plus general quality improvements for all search params
* Boolean searches work now. Available search modifiers now shown in help
* Updated TESTING with new info on impersonation tokens
* Disabled passing API server via CLI
* TaccApisBearer now honors a custom access token when passed
* Added support for colored text as set of utils function
* tokens create can now issue an impersonation token, but the other commands don't all honor the -z option
* Add --include option
* Prepend destination dir to exclude file paths
* Updated TESTING
* Working version of files-history
* files dete command
* Updated TESTING
* Implemeted files delete
* Fixed import path
* Updated contents of TESTING document
* Throw Exceptions when a placeholder option is passed
* WIP: tapis files upload is ready to test
* Rename 'data' to 'rows' in FilesOptionssort\_table
* Small refactor to let Files\* commands use a series of mixins to set their arguments. Changed the metavar for --api-server, --token, --limit, and --offset to reflect their types Made --sort-size and --sort-time mutually exclusive in FilesOptions mixin
* files download now reports total data downloaded
* More details on files download command
* Updated testing doc with latest on jobs-outputs and files functionality
* Working implementation of 'jobs outputs download'
* Extended Tapis Direct client to be able to get raw bytes
* WIP jobs outputs download - help view works
* Working implementation of jobs-output-list
* Hide system since it's implicit
* Make specifying a value optional for FilePath mixin
* Minimal port of files.helpers to jobs. Very un-DRY
* Added support for sync mode and an excludes parameter to 'files download'
* WIP files download command
* Added wrapper for print-reporting to STDERR
* Implemented recursive download with support for atomic operations
* Rebuilt helpers.\_walk to return entire record, which allows downstream formatting and other actions on the walked result
* Lifted over some code from bacanora to implement list, walk, and various stat functions
* Formatting
* Added tenacity depedency. Brought in hashable from bacanora library as 'hashcache' to provide LRU caching of complex or custom objects
* Minimal implementation of 'files show' and 'files list'
* Lifted in from a branch
* Added note in README about expired clients failing to be re-initialized by 'tapis auth init'
* Update requirements.txt
* Fixed typo in install instructions. Thanks \wonaya
* Move Docker build into deployment script. Fixed setup.cfg comments that broke in Py2.7 versions of setuptools
* WIP: TravisCI build/push Docker image
* Updated README to fix links
* Updated README
* Cleaned up README typos
* silence 'fatal not a git repo' message when not working in a git repo
* Removed warning about missing auth subsystem from README
* Updated w details on profiles commands
* Added image release target
* Finishing touches on Docker image
* Additional final prep for testing
* Fixed import paths in Gitlab
* Updated docs
* Removed deprecated services.orig directory
* Added Tox support
* Getting tox to work and a Docker image to build
* WIP: Build working Docker image
* Automated AUTHORS and ChangeLog from setuptools and pbr
* Working version of 'tapis auth init' and 'tapis auth show'. Fixed 'tapis auth tokens create' to use utilsprompt() for password
* Added some utils to help with client generation and auth init workflow
* Moved before\_take\_action into ParserExtender then implemented verbose->json behavior in JsonVerbose using super()
* Jobs-show can now emit a submittable JSON doc. Clients create can now prompt for a password. Small refactor of TapisModel and its subs to de-duplicate code
* Stubbed in auth commands
* YAPF
* Working token create and refresh (tho the class setups are bit funky)
* Yapf formatting
* Enabled metadata list, show, search after refactor
* Updated setup to include all systems commands
* Refactor systems-\* commands to use new TapisEntity and SearchableCommand APIs. Added all role management commands
* Fixes to some base classes re: inheritance behavior
* A few fixes to apps commands uncovered while implementing systems and jobs commands
* Refactored jobs commands to use new TapisEntity and formatter APIs. Added resubmit
* Refactored systems commands to use new TapisEntity and formatter APIs
* Refactored Jobs\* commands. Implemented jobs-submit, jobs-resubmit
* Refactor Jobs classes and formatters to use new TapisEntity API
* Activated various apps commands
* Closes 15
* Closes 12
* Closes 161
* Closes 10
* Closes 160
* Closes 159
* Implemented app pems drop (but disabled as the API call is broken)
* Rebuilt apps.formatters and implemeted updated apps.models
* Completed refactor of TapisEntity and SearchableCommand to support various apps use cases
* Refactored Command classes, Mix-Ins, and API client base classes
* Enable loading Agave client from local cache, with overrides allowed via parsed args
* Added "sessions token refresh" to update current access token
* Added new TaccApis base class TaccApisWithRefreshFormatOne which includes a --refresh-token option in the command
* Now including the actual Tapis classes
* Refactored commands.taccapis.v2.<command>.formatters
* Fixed name of JSON field defining public apps and now search works
* Commented settingsall\_settings()
* Implemented the 'settings list' command
* Added example show command and usage of -v to get JSON response
* Example apps search result
* Added warning about auth subsystem
* Updated home-page field in setup.cfg to point at TACC-Cloud version of the repository
* Added warning about auth subsystem
* Groundwork for Gitlab
* Refactored commands to use tapis\_cli.clients.services.mixins classes
* Moved common Command mixins to their own module
* Removed redundant setting of id\_display\_name
* Changed to correct API name for metadata
* Implemented profiles-search and profiles-list
* Closes 125 Closes 150
* Implemented metadata-list save for its query for associationIds. Closes 91, 92, and 87
* Stubbed in more commands
* Ran yapf
* Implemented systems-publish and systems-unpublish
* Implemented systems-enable and systems-disable
* Added systems-create and systems-update
* Added test data for apps create/update
* Refactor to implement JSON uploads, requirement for a service identifier, and automatic expansion to JSON in verbose mode using multiple inheritance
* Added actors init