Skip to main content

A modular Python library designed to simplify secure and flexible user input

Project description

Matheric

A modular Python library designed to simplify secure and flexible user input.

Matheric provides advanced console input utilities with built-in validation, retry systems, type checking and optional confirmation protocols.

✅ Features

  • Secure and validated user input
  • Automatic retry on invalid input
  • Built-in type verification
  • Integer and float range control
  • String length validation
  • Optional input confirmation system
  • Custom exception messages
  • Modular architecture

📦 Installation

Bash

pip install matheric

💡 Quick Example

Python

from matheric import secureinput

age = secureinput(
    "Enter your age: ",
    type="int",
    min=0,
    except_msg = Please enter a valid age
)

print(age)

Supported Types

Matheric currently supports:

  • "string"
  • "int"
  • "float"

String Validation

Python

name = secureinput(
    "Enter your name : ",
    type="string",
    str_min=3,
    str_max=20
)

The msg can be ommitted if it is placed first

Integer Validation

Python

number = secureinput(
    "Enter a number : ",
    type="int",
    min=1,
    max=10
)

Float Validation

Python

price = secureinput(
    msg="Enter the price : ",
    type="float",
    min=0
)

Input Confirmation System

Python

password = secureinput(
    msg="Enter password : ",
    type="string",
    validation=True
)

The validation system allows the user to confirm the entered value before final submission.

⚙️ Parameters

Parameter type Description Default Value
msg string Message displayed before input ""
type string / int / float Expected input type (string, int, float) string
max int / float Maximum allowed numeric value NotDefined
min int / float Minimum allowed numeric value NotDefined
str_length int Exact required string length Any
str_max int Maximum allowed string length NotDefined
str_min int Minimum allowed string length NotDefined
except_msg string Message displayed on invalid input Type ERROR
validation bool Enables validation protocol False
validation_msg string Validation confirmation message Enter 1 to confirm the input
validation_caractere string / int / float Value required to validation input 1
language EN / FR Output language used for automatic responses EN

💡 Example With Validation

Python

from matheric import secureinput

code = secureinput(
    msg="Enter access code : ",
    type="string",
    str_length=6,
    validation=True,
    validation_msg="Confirm the code [y/N] "
    validation_caractere="y"
)

Project Structure

matheric/
│
├── pyproject.toml
├── README.md
├── LICENSE
│
└── src/
    └── matheric/
        ├── __init__.py
        │
        ├── secure_input/
        │   ├── __init__.py
        │   └── input.py
        │
        └── utils/
            ├── __init__.py
            └── helpers.py

🖥️ Command Line

After installation:

Bash

matheric

Displays general information about the library.

📜 License

This project is licensed under the License

👨‍💻 Author

Orphéric SANGNIDJO

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

matheric-0.1.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

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

matheric-0.1.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file matheric-0.1.2.tar.gz.

File metadata

  • Download URL: matheric-0.1.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for matheric-0.1.2.tar.gz
Algorithm Hash digest
SHA256 426bcb87e4bd61797ba038f5b2ce182a612c8c80a3437028441384d135b58b6a
MD5 c0de57aac395f6d33f2ee3a1d68db7da
BLAKE2b-256 134e56fb3b8bffafd7695bb02479dc92ad6618d21deda02c85224a283820d8f1

See more details on using hashes here.

File details

Details for the file matheric-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: matheric-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for matheric-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a2b8219ced2c38a53d7a94444d78ac1de885eac65fe8ae2a09a0594de64b5dad
MD5 12a87584f50746a17b85b1625cc848a4
BLAKE2b-256 43ae9e4c98984d5ed8149d408d067d9bd472c13fdbea9e480be8603d7f4020dd

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