Skip to main content

No project description provided

Project description

harbor-cli

Tests Docs Ruff Code Style: Black

Demo


Table of Contents

Features

  • 150+ commands
  • Beautiful command-line interface powered by Typer and Rich.
  • REPL mode (harbor repl)
  • TUI mode (harbor tui)
  • Tab completion for commands and options.
  • Automatic retrying of failed requests
  • Multiple output formats:
    • Table
    • JSON
  • Large number of configuration options
    • Authentication methods
    • Table styling
    • Output formats
    • ... and more

Installation

It is highly recommended to install harbor-cli with pipx. pipx installs the application in an isolated environment to avoid dependency conflicts, and makes it easy to upgrade or uninstall it afterwards.

MacOS

Install as a pipx app:

pipx install harbor-cli

or through Homebrew:

brew tap add unioslo/harbor-cli
brew install harbor-cli

Keyring functionality should work out of the box on MacOS >=11 with Python >=3.8.7.

Linux

pipx install harbor-cli

Depending on your Linux flavor and choice of keyring backend, you may need to install additional packages to enable keyring functionality. See the keyring documentation for more information.

If you need to inject a package into the application's pipx environment, use the pipx inject command:

pipx inject harbor-cli <package to inject>

Windows

pipx install harbor-cli

Keyring functionality is untested on Windows, but should work out of the box. If you run into any issues, consult the keyring documentation for more information. Otherwise, please open an issue.

Documentation

Documentation can be found here.

The documentation includes extensive setup and usage guides, as well as a list of all commands and their options.

Usage

Installing the application puts harbor in your PATH, and can be invoked by typing harbor in your terminal:

$ harbor --help

0.2.2 - 2024-03-01

Fixed

  • Configuration option verify_ssl not having any effect.

0.2.1 - 2024-02-02

Added

  • Help for MacOS users if Keychain is returning a -25244 errSecInvalidOwnerEdit error.
  • self keyring command to manage the keyring.
    • self keyring status to see information about the keyring used.
  • self config command to manage the configuration file.
    • Has the same commands as cli-config, which is now deprecated.

Changed

  • Prompts are now printed to stderr instead of stdout for POSIX compliance.
  • Newlines are now logged as spaces in the log file.

Fixed

  • Coroutines not being properly cancelled when the application exits abnormally.
  • Password not being stored in keyring after user is prompted for missing authentication info.
  • Repeated keyring warnings if keyring is not available.

Deprecated

  • cli-config command. Use self config

0.2.0 - 2023-12-21

Changed

  • Automatic datetime log file naming now uses the tag {dt} (was {time}).
  • Log file is now named harbor-cli.log by default (no longer includes datetime).
    • Automatic datetime naming is now opt-in instead of being the default.

Deprecated

  • {time} tag for automatic datetime log file naming. Use {dt} instead.
  • [cache] section in configuration file. Caching of API responses has been removed.

Removed

  • Caching of API responses. This was a premature optimization that caused more problems than it solved. It will be re-introduced in a future release.

Fixed

  • Double printing of messages in terminal if logging wasn't properly configured.

0.1.0 - 2023-12-06

Added

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harbor_cli-0.2.2.tar.gz (3.5 MB view hashes)

Uploaded Source

Built Distribution

harbor_cli-0.2.2-py3-none-any.whl (136.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page