Skip to main content

Arrotechtools Library

Installation

Install the latest version:

pip install arrotechtools

To install a specific version:

pip install arrotechtools==1.6

Getting Started

After installation, you can immediately start using the library.

Importing a class, an object, or a method is straight forward.

Let simulate an import.

from arrotechtools import Serializer, Validate, ErrorHandler, admin_required

Validation

Supported validation inputs include:

  1. Email
  2. Password
  3. Integer
  4. Name
  5. Phone: phone, airtel, safaricom, orange, equitel
method input type sample
email String test@gmail.com
password String HeuliaI!djvb24628
integer Integer 23 + or - are also accepted i.e +25 or -22
name String John doe
phone, airtel, safaricom, orange, equitel String +254712345678

Email validation Example

Lets begin with validating an email provided by a user.

from arrotechtools import Validate, Serializer, ErrorHandler

email = "your@gmail.com"

if not Validate.email(email):
    return ErrorHandler.raise_error("invalid email format", 400)
else:
    ...

Here, we are checking if the input is a valid email.

Serializing data output

Seriale data.

from arrotechtools import Serializer

#Fetching data from a database or a data structure i.e list
response = Users().get_users()
...
if response:
    return Serializer.serialize(response, "Success", 200)
else:
    ...

Here, we get records from the database and storing the data in a variable. Then we serialize the data into json object or an array. The serialize object can serialize any different types data into json object(s). That includes lists, dictionaries, or arrays.

Error Handling

Serialize errored responses:

from arrotechtools import ErrorHandler, Validate

name = "jane doe"
...
if not Validate().name(name):
    return ErrorHandler.raise_error("Name is invalid", 400)
else:
    ...

Example 2

Lets a look at how we can capture errors at the entry point of a flask application.

from flask import Flask
from arrotechtools import Serializer

app = Flask(__name__)
...

#register error handlers
app.register_error_handler(400, Serializer.bad_request)
app.register_error_handler(404, Serializer.page_not_found)
app.register_error_handler(405, Serializer.method_not_allowed)
app.register_error_handler(500, Serializer.internal_server_error)

This is a straight forward way of handling errors in flask.

Admin Protected Route

This is a function that takes an array of users as an argument and checks if the role is an admin. If that isn't the case, the function returns an unauthorized status code and message. Otherwise, the user is permitted to use the function.

How to use the decorator to protect routes

from arrotechtools import admin_required

@jwt_required
@admin_required(users)
def signup():
    ...

The decorator takes a list of users as an argument.

Support Team

Email: arrotechdesign@gmail.com
Phone: +254 711 371 265

Author

Harun Gachanja G.

Metadata

Release files for arrotechtools 1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arrotechtools 1.9
File Size Uploaded
arrotechtools-1.9.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arrotechtools 1.9
File Interpreter ABI Platform
arrotechtools-1.9-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 kB

Release files / arrotechtools-1.9.tar.gz

Download URL arrotechtools-1.9.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3b670a252cc56148978a84a4b87218ce7f7847119bba576f40e52952f6df75e5
BLAKE2b-256 checksum
How to use checksums
f3b4a3ad93e76b868e326d17cf0a1c1476f72499c782f1ac0792c081c87a1eb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

Release files / arrotechtools-1.9-py3-none-any.whl

Download URL arrotechtools-1.9-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
487d0eeedcced510784d43e06812c11aded201baf0795f1cad4fd83387de4818
BLAKE2b-256 checksum
How to use checksums
b99e363eccc1e77f16a0d8262f8f76acb3e704992de647413ced31106ef9f673
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2

Release history Release notifications | RSS feed

This release

1.9 This release

2 release files

1.8

2 release files

1.7

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page