Code Monkey home page Code Monkey logo

key-generator's Introduction

key-generator

PyPI version Downloads GitHub license PyPI - Python Version

A simple, yet highly customizable python package to generate professional keys.

Installation

Use the package manager pip to install key_generator.

pip install key-generator

Usage

from key_generator.key_generator import generate

key = generate(seed = 101)
print(key.get_key())  # be1679-6ae28652eb-fa7cd6-de96-a8cc

key_custom = generate(5, '-', 3, 3, type_of_value = 'hex', capital = 'none', extras = ['%', '&', '^'], seed = 42).get_key()
print(key_custom)  # ^54-10e-fa&-%34-e3e

key_custom_2 = generate(2, ['-', ':'], 3, 10, type_of_value = 'char', capital = 'mix', seed = 17).get_key()
print(key_custom_2)  # ZLFdHXIUe-ekwJCu

Parameters

parameter type optional default description
num_of_atom int yes 5 Number of parts/atoms of the key to be generated.
separator string,list yes '-' Separates the parts/atoms by separator is given a string.
If given a list, randomly chooses separators in between the atoms.
min_atom_len int yes 3 Minimum length of each part/atom.
max_atom_len int yes 10 Maximum length of each part/atom.
type_of_value string yes 'hex' Can be one of the following 3 options: hex, char, int.

hex -> key can have values only from 0-9, a-f, or A-F(depending on capital parameter).
char -> key can have values only from a-z or A-Z(depending on capital parameter).
int -> key can have values only between 0-9.
capital string yes 'none' Can be one of the following 3 options: none, all, mix.

none -> All the values in the generated key will be lowercase.
all -> All the values in the generated key will be uppercase.
mix -> A mix of both upper and lower case randomly.
extras list yes [] List of extra symbols or characters that you want to include in each part/atom.
Adds these symbols to the bucket to randomly choose characters in the atom.
seed int yes None Choose a seed value for the random key generated.
Returns the same pseudo-random value every time for a given seed value.

Testing

Run the following commands and check all tests pass.

>> git clone https://github.com/Sahith02/key-generator.git
>> cd key-generator/tests
>> python test.py       # will show how many tests passed and how many failed

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure all the above tests pass before opening a pull request.

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.