Skip to main content

A package for on-the-fly code generation and validation

Project description

Logo

Introduction

  • Code monger is a simple Python package for generation and validation of authentication codes which are generated and stored in files .
  • For example , you can use this package when generating authentication codes for authenticating user email addresses in a web application .
  • NOTE : There are no duplicates in code generation ie, every time a new code is requested the old one is deleted
  • Check out the Release notes to stay updated .
  • Ideas are welcome, contribute !!

Installation using pip

  • You can install the package easily on the command using pip

Dependencies

  • Oh , none need installing ,every dependency comes with python ( Python Standard Library )
  • The main libraries used are :
    • string
    • random
    • os

Windows OS installation

python3 -m pip install code_monger

alternatively

pip install code_monger

or

py -m pip install code_monger

To upgrade your version in Windows ,just use the --upgrade option when installing . Like so :

python -m pip install --upgrade code_monger

Usage

Simple code generation

  • Let us generate a simple code based on the provided parameters
from code_monger import generate_code
# generates the code and returns it as a string object
my_code = generate_code(length = 20  )

print("Code generated : ", my_code)

Custom code generation

  • Let us generate a custom code
from code_monger import generate_code
# A code comprising of numbers only 
numbers_only = generate_code(numbers = True , letters = False)

# Letters only code
letters_only =  generate_code(numbers = False , letters = True )

# Uppercase Letters only code
uppercase_letters_only =  generate_code(casing = "upper" , letters = True   )

# Lowercase Letters only code
lowercase_letters_only =  generate_code(casing = "lower" , letters = True   )

# code made up of letters, numbers and punctuation charachters
all_types_of_charachters =  generate_code(numbers = True , letters = True  , punctuation_chars  = True)

Please NOTE : generate_code function and CodeGenerator.NewCode method require the same keyword arguments with the exception that CodeGeneratorNewCode requires the key_string argument

Code generation and validation in files

  • The class CodeGenerator is what we will use for this functionality
from code_monger import CodeGenerator
# specify the path you want to store the codes 
# If the path doesnt exist , the program will attempt to make it 
# Let's replicate a scenario where you want to authenticate a user's email in a web app

user_email = "somerandom@email.com"
codes_file = "codes/my_codes.txt"
cg = CodeGenerator(storage_file = codes_file)

# let us generate a new code and store it in this variable ,
# the code is automatically saved in the file provided during initialization of CodeGenerator
code = cg.NewCode(key_string = user_email )

# validation can be done through the CodeGenerator.ValidateCode method like so:
cg.ValidateCode(user_email , code) 
# will return a Boolean , True if the code is valid else False

More on the CodeGenerator class

from code_monger import CodeGenerator



email= "myemail@domain.com" 
cg = CodeGenerator("test_codes/example.txt")


# Create a new code for the email
code = cg.NewCode(email)

# delete the code and the email using the code
cg.DeleteCode(code)

# delete the code and the email using the email/key
cg.DeleteKey(email)

# get the code 
cg.GetCode(email)

# get the key/email
cg.GetKey(code)

# replace the email/key string
cg.ReplaceKey(email , "mewemail.dom.com")

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

code_monger-0.2.3.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

code_monger-0.2.3-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file code_monger-0.2.3.tar.gz.

File metadata

  • Download URL: code_monger-0.2.3.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for code_monger-0.2.3.tar.gz
Algorithm Hash digest
SHA256 0caacab10a159c41c0cab9b32409e9b08428f883f60e645d8a2022687f0c4ebf
MD5 10aeb6e3659cc3b32af245583a85aa06
BLAKE2b-256 f81e555c5ef86845a99bf6a81a3df20b8683435e6c49a76dfa3f3ae301cba4ac

See more details on using hashes here.

File details

Details for the file code_monger-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: code_monger-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for code_monger-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cd546d6aaf6bd3af5caca20ab274be67fac4eb0b347e0b8dab8e628463a907ef
MD5 734039f0a20c6914d5a4edc9585d5f7b
BLAKE2b-256 2973ac61fcffb5bc0275966e8db74a23f7f8bdceb1f79973d2b8666a4322cc01

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