Skip to main content

Uma biblioteca inspirada em Rust e Kotlin para lidar com Option, println colorido e utilitários.

Project description

🦀 Koruspy

Koruspy é uma biblioteca ultra-leve que traz a segurança do Rust e a elegância do Kotlin para o ecossistema Python.

Desenvolvida inteiramente via Termux, esta biblioteca elimina a necessidade de verificações manuais de None e blocos try/except repetitivos, utilizando o poder do Pattern Matching (Python 3.10+) e programação funcional.


🚀 Diferenciais

Zero NoneErrors: Use Option (Some ou nothing) para lidar com valores ausentes.

Result Pattern: Trate sucessos e falhas como dados, não como exceções que quebram o código.

Estilo Kotlin: Métodos encadeáveis como .map(), .Filter(), .and_then() e o operador de navegação segura .getattr().

Pipeline seguro: option_of agora trata corretamente None e nothing, preservando valores falsy como 0 e False.

Finalização clara: .finalize() encerra pipelines que já têm valor garantido.

Fallback elegante: .unwrap_or(default) e .unwrap_or_else(func) fornecem valores quando necessário.

Terminal Colorido: Substitua o print padrão pelo println com suporte a tipos e cores ANSI.


📦 Instalação

Como você está desenvolvendo no Termux ou em ambiente mobile, instale via modo editável:

pip install -e .


📝 Exemplos 2.3

from koruspy import Some, nothing, option_of, println

# option_of trata None e nothing, preservando falsy

idade = option_of(0, 18)
println(idade)  # Some(0)

idade2 = option_of(None, 18)
println(idade2)  # Some(18)

Pipeline com Filter e finalize

idade_valida = (
    option_of(idade2.get_value(), 0)
    .Filter(lambda x: x >= 18)
    .on_nothing(lambda: println("valor inválido"))
    .finalize()
)
println(idade_valida)

Fallbacks

val = option_of(None).unwrap_or(42)
println(val)  # 42

val2 = option_of(None).unwrap_or_else(lambda: 99)
println(val2)  # 99

English Version 🇺🇸🇬🇧:

🦀 Koruspy

Koruspy is an ultra-lightweight library that brings Rust’s safety and Kotlin’s elegance to the Python ecosystem.

Developed entirely via Termux, this library removes the need for manual None checks and repetitive try/except blocks by leveraging the power of Pattern Matching (Python 3.10+) and functional programming.


🚀 Highlights

Zero NoneErrors: Use Option (Some or nothing) to safely handle missing values.

Result Pattern: Handle success and failure as data, not as exceptions that break control flow.

Kotlin-style API: Chainable methods like .map(), .Filter(), .and_then(), and the safe navigation operator .getattr().

Safe pipeline: option_of now correctly handles None and nothing, while preserving falsy values such as 0 and False.

Clear finalization: .finalize() terminates pipelines when a value is guaranteed.

Elegant fallbacks: .unwrap_or(default) and .unwrap_or_else(func) provide values when needed.

Colored terminal output: Replace the standard print with println, with type-aware ANSI color support.


📦 Installation

If you are developing on Termux or in a mobile environment, install using editable mode:

pip install -e .


📝 Examples 2.3

from koruspy import Some, nothing, option_of, println

option_of handles None and nothing, preserving falsy values

age = option_of(0, 18) println(age) # Some(0)

age2 = option_of(None, 18) println(age2) # Some(18)


Pipeline with Filter and finalize

valid_age = ( option_of(age2.get_value(), 0) .Filter(lambda x: x >= 18) .on_nothing(lambda: println("invalid value")) .finalize() ) println(valid_age)


Fallbacks

val = option_of(None).unwrap_or(42) println(val) # 42

val2 = option_of(None).unwrap_or_else(lambda: 99) println(val2) # 99

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

koruspy-0.2.5.3.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

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

koruspy-0.2.5.3-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file koruspy-0.2.5.3.tar.gz.

File metadata

  • Download URL: koruspy-0.2.5.3.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for koruspy-0.2.5.3.tar.gz
Algorithm Hash digest
SHA256 b2a807dcbc4fec141f0560c5c04d2a0fd9b00aa943802392f7fbd2aad603801e
MD5 2e5f8519bea91be80edd931eea7aa30d
BLAKE2b-256 2a2be312c9db274d56de836c81aca7d5e140e9b1d2745c81411d0aae3890e445

See more details on using hashes here.

File details

Details for the file koruspy-0.2.5.3-py3-none-any.whl.

File metadata

  • Download URL: koruspy-0.2.5.3-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for koruspy-0.2.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4105e968ff24f8d86a0c7a0295730adaf8382a752dc9a8a160f6285846ec4605
MD5 ebb48c83a66354dcc5c91bf4e69c8a6c
BLAKE2b-256 a7790b69cc115a6a1b88df02628bf51fa83d5b17a24f7c5495a7444e17b2c961

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