Skip to main content

A simple CLI tool to generate API Key

Project description

api-key-factory

Software License semantic-release: angular Pipeline Status

Built with Material for MkDocs Source code documentation

Logo of api-key-factory

Overview

api-key-factory is a CLI tool to generate API keys and their corresponding SHA-256 hashes. The secret part of the key is an UUID (Universally Unique Identifier) version 4 (random).

Example of generated a API key:

mykey-8590efb6-0a68-4390-8537-99a54928c669
Usage: api-key-factory [OPTIONS] COMMAND [ARGS]...

  A simple CLI tool to generate API keys and their corresponding SHA-256
  hashes.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  generate  Command to generate API keys and their corresponding SHA-256...

generate

Generate api keys and hashes in standart terminal output (stdout) or in 2 distinct files ([prefix_]keys.txt, [prefix_]hashes.txt) in a defined directory.

Usage: api-key-factory generate [OPTIONS]

  Command to generate API keys and their corresponding SHA-256 hashes.

  Args:     output_dir (click.Path): Directory to output keys and hashes.
  num (int): Number of API keys to generate. Default 1.     prefix (str):
  Prefix at the beginning of the key.

  Raises:     click.ClickException: Error when writing output files

Options:
  -d, --dir DIRECTORY      Directory to output keys and hashes. If not set
                           output to stdout.
  -n, --num INTEGER RANGE  Number of API keys to generate  [x>=1]
  -p, --prefix TEXT        Add a prefix at the beginning of the key
  --help                   Show this message and exit.

Example:

$ api-key-factory generate --num 2
d097dccc-cd24-4137-8ddb-d03f8b07d8d9   8b89600015b273c28f966f368456e45e01df239a36bf939ff72a16881f775679
c2d79a40-388e-4709-9e4b-903035b0e71e   fb22be500af1ef0479745bbbce847854da33f5e910361ad278e0282995b95f4d
$ api-key-factory generate --prefix mykey
mykey-3532dceb-f38a-491b-814d-9607bc9a947a   83309f0b7cd16fbd02edc85dbe32fc3326367618cf80a885f649d8e4eaeb43b3
$ api-key-factory generate -p mykey -n 5 --dir out
Success! 5 keys and hashes have been written to the files:
 - out/mykey_keys.txt
 - out/mykey_hashes.txt

Installation

With Python environment

To use:

  • Minimal Python version: 3.10

Installation with Python pip:

python3 -m pip install api-key-factory
api-key-factory --help

Developement

With uv and Task

To use:

# Set environment
uv sync
# Format
task 00:10-format
# Lint
task 00:20-lint
# Tests
task 00:40-test
# Run
uv run api-key-factory --help

Authors

License

This program is free software: you can redistribute it and/or modify it under the terms of the MIT License (MIT). See the LICENSE for details.

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

api_key_factory-1.3.16.tar.gz (15.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

api_key_factory-1.3.16-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file api_key_factory-1.3.16.tar.gz.

File metadata

  • Download URL: api_key_factory-1.3.16.tar.gz
  • Upload date:
  • Size: 15.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for api_key_factory-1.3.16.tar.gz
Algorithm Hash digest
SHA256 cd8c3d9145ad87686eeb63f28e4fe10f9271a84db5d07262fe89d13c1b05c663
MD5 e999d8ccefd5ec71aedc7ec16d15c78f
BLAKE2b-256 07ba3f12ed280a23e7e9f84b00e2daff74de0e963915371126a631483f0e7145

See more details on using hashes here.

File details

Details for the file api_key_factory-1.3.16-py3-none-any.whl.

File metadata

  • Download URL: api_key_factory-1.3.16-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for api_key_factory-1.3.16-py3-none-any.whl
Algorithm Hash digest
SHA256 412eeb112a5eb5ff960e8c3022fef82d5186ccc9eaec371ae758c0fc81462229
MD5 080ec3ccd91e885536ee138c1c94c024
BLAKE2b-256 80efd5fd3cbc6128e282f757c41b80c8d949af8c78bab079bf26d3278107c4c5

See more details on using hashes here.

Supported by

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