Skip to content

eshaan7/click-creds

Repository files navigation

click-creds

pypi Build Status codecov CodeFactor Language grade: Python

Pluggable credentials storage and management for click CLI applications.

Uses ~/.netrc file method which is used by popular CLI applications like Heroku CLI, AWS CLIs, etc.

Installation

Requires python version >=3.6.

$ pip install click-creds

Quickstart

Here's an example cli.py file.

#!/usr/bin/env python3
import click
import click_creds

@click.group(context_settings=dict(help_option_names=["-h", "--help"]))
@click_creds.use_netrcstore(
    name="myawesomeapp",
    mapping={"login": "username", "password": "api_key", "account": "url"},
)
def cli():
    pass

# Register "config" group
cli.add_command(click_creds.config_group)

# Entrypoint
if __name__ == "__main__":
    cli()

Now, if we execute ./cli.py config,

$ ./cli.py config
Usage: cli.py config [OPTIONS] COMMAND [ARGS]...

  Set or view config variables

Options:
  -h, --help  Show this message and exit.

Commands:
  get  Echo config variables
  set  Update config variables

Documentation

Please see the example_project.

Changelog / Releases

All releases should be listed in the releases tab on GitHub.

See CHANGELOG for a more detailed listing.

License

This project is published with the BSD License. See https://choosealicense.com/licenses/bsd/ for more information about what this means.

Credits