Fabric-language-kotlin Guide

println("Loaded ${users.size} users")

Active users by language preference: Java: 198 Kotlin: 213 Python: 197 Rust: 192 fabric-language-kotlin

Average days since last login: 6.2

// Custom serializer for LocalDateTime object LocalDateTimeSerializer : KSerializer<LocalDateTime> { override val descriptor = PrimitiveSerialDescriptor("LocalDateTime", PrimitiveKind.STRING) override fun serialize(encoder: Encoder, value: LocalDateTime) = encoder.encodeString(value.toString()) override fun deserialize(decoder: Decoder): LocalDateTime = LocalDateTime.parse(decoder.decodeString(), DateTimeFormatter.ISO_DATE_TIME) } println("Loaded ${users

# generate_data.py # Install fabric: pip install fabric from fabric import Fabricator import json import random from datetime import datetime, timedelta Define a simple data model using Fabric's declarative syntax user_fabricator = Fabricator( schema={ "user_id": "uuid", "full_name": "name", "email": "email", "age": {"type": "integer", "min": 18, "max": 90}, "signup_date": {"type": "date", "start": "2023-01-01", "end": "2025-12-31"}, "is_active": {"type": "boolean", "probability": 0.85}, "last_login": {"type": "datetime", "start": "2025-01-01", "end": "2025-04-14"}, "preferences": { "type": "dict", "schema": { "language": {"type": "choice", "choices": ["Kotlin", "Python", "Java", "Rust"]}, "notifications": "boolean" } } } ) "age": {"type": "integer"