api-keychain

A tool to manage API keys in a secure keychain


Keywords
api, keychain, security, development, password-manager, api-keys
License
GPL-3.0-only
Install
pip install api-keychain==0.6.1

Documentation

API Keychain

Purpose

The API Keychain is designed to be a single management tool for developers to easily create, maintain, and use their various API keys. Many developers work on a variety of projects, many of which require an API key to one service or another. After dealing with even just a few of these keys, it can get frustrating or even overwhelming to manage them, hence this tool.

Usage

Key Generation

The API keychain is designed to allow you to quickly generate a new API key for a number of popular services, which is useful for developers who don't like having one single "master key" that all their projects use. Generation can be performed in the CLI and the generated key can be immediately stored in the keychain. Please know your service and their specific guidelines for generating and using keys before using this tool.

Storage

The keychain itself is an encrypted json file, which allows you to safely store your keychain anywhere, even in the cloud. The xml format allows for customization of each key to include metadata or other useful information, and decryption can happen either with a simple export command, or as part of the calling process.

Using in Your Project

An API key is pretty useless when it just sits there on your computer, which is why the API keychain is designed to be used as an importable function in your project. Just load up the export module and your keychain, and the module will handle decrypting and converting your key to a usable format in your own project.

Examples

This section will be a placeholder for demonstrations of api-keychain usage.

License

This software is licensed under the :doc:`GNU GPL 3.0 <LICENSE>`

Contributions

Contributions are welcome for the project, whether it be code contributions, corrections, or bug/issue/suggestion reports. See :doc:`the included contributions guidelines. <CONTRIBUTING.rst>`