Files
2024-12-31 17:10:43 -05:00
..
2024-12-31 17:10:43 -05:00
2024-10-14 01:12:29 -04:00
2024-09-12 02:38:49 -04:00
2024-12-31 17:10:43 -05:00

Bellande Format Python Example

from bellande_format import Bellande_Format
from core.types import SchemaDefinition
from datetime import datetime
import os

# Initialize formatter
formatter = Bellande_Format()

# Example 1: Basic Usage
data = {
    "name": "Project X",
    "version": 1.0,
    "created_at": datetime.now(),
    "settings": {
        "debug": True,
        "max_retries": 3
    },
    "users": [
        {"name": "John", "role": "admin"},
        {"name": "Jane", "role": "user"}
    ]
}

# Write data
formatter.write_bellande(data, "config.bellande")

# Read data
loaded_data = formatter.parse_bellande("config.bellande")

# Example 2: Schema Validation
user_schema = SchemaDefinition(
    type="object",
    properties={
        "name": SchemaDefinition(type="string", pattern=r"^[a-zA-Z\s]+$"),
        "age": SchemaDefinition(type="integer", minimum=0, maximum=150),
        "email": SchemaDefinition(type="string", pattern=r"^[\w\.-]+@[\w\.-]+\.\w+$")
    },
    required=["name", "email"]
)

formatter.register_schema("user", user_schema)

# Validate data
user_data = {
    "name": "John Doe",
    "age": 30,
    "email": "john@example.com"
}

result = formatter.validate(user_data, "user")
print(f"Validation result: {result.is_valid}")

# Example 3: Encryption and Compression
key = os.urandom(32)  # Generate encryption key

# Encrypt data
encrypted = formatter.encrypt(data, key)

# Decrypt data
decrypted_data = formatter.decrypt(encrypted, key)

# Compress data
compressed = formatter.compress(data)

# Decompress data
decompressed_data = formatter.decompress(compressed)

# Example 4: Custom Types
class Point2D:
    def __init__(self, x: float, y: float):
        self.x = x
        self.y = y

# Register custom type
formatter.type_registry.register(
    "point2d",
    Point2D,
    lambda p: f"{p.x},{p.y}",
    lambda s: Point2D(*map(float, s.split(',')))
)

# Use custom type
location_data = {
    "points": [
        Point2D(1.0, 2.0),
        Point2D(3.0, 4.0)
    ]
}

formatter.write_bellande(location_data, "locations.bellande")

Website PYPI

Installation

  • $ pip install bellande_format

Upgrade (if not upgraded)

  • $ pip install --upgrade bellande_format
Name: bellande_format
Summary: File type Formats
Home-page: github.com/RonaldsonBellande/bellande_format
Author: Ronaldson Bellande
Author-email: ronaldsonbellande@gmail.com
License: GNU General Public License v3.0

License

This Algorithm or Models is distributed under the Creative Commons Attribution-ShareAlike 4.0 International License, see LICENSE and NOTICE for more information.