Skip to main content

ivbox

PyPI version Python License

ivbox is a Python utility framework focused on improving developer productivity through better project structure and reusable utility functions, built from real-world usage and repetition.

It is designed to grow organically, introducing abstractions only when patterns prove useful.

Current version: 0.2.0


Why ivbox?

When you build real projects, you quickly notice the same pain points repeating:

  • You rewrite the same helpers again and again
  • UI code grows fast and becomes hard to maintain
  • Small architectural decisions become expensive later
  • You want structure without over-engineering

ivbox exists to reduce that friction with a simple rule:

Abstractions are created only when something is repeated.


Features

  • Improved internal project structure (0.2.0 refactor)
  • Reusable general-purpose utilities
  • UI helper utilities for Flet-based applications
  • Modular design: add what you need, keep it clean
  • Built from real usage, not theoretical patterns

Project Status

ivbox is under active development.

  • The API may evolve until version 1.0.0
  • Changes are driven by real usage, not assumptions
  • Stability increases progressively with each release

Installation

pip install ivbox

Quick Start

General utilities

from ivbox.utils import general

# Example usage (adapt to your real functions)
# general.slugify("Hello World") -> "hello-world"
# general.now_str() -> "2025-12-29 20:15:00"

Flet utilities

from ivbox.utils import flet as ivf
import flet as ft

def main(page: ft.Page):
    # Example usage (adapt to your real helpers)
    # page.add(ivf.section_title("Dashboard"))
    pass

ft.app(target=main)

Utilities

General-purpose utilities

These helpers are framework-agnostic and intended to reduce repetitive code across projects:

  • strings and formatting helpers

  • date/time helpers

  • validation helpers

  • file/path helpers

  • misc productivity utilities

Flet UI utilities

Helpers focused on reducing repetition in Flet apps:

  • reusable layout patterns

  • UI composition helpers

  • common components wrappers (only when repeated)

  • navigation and page composition helpers (if applicable)

ivbox does not replace Flet — it helps you work with it more efficiently.

Versioning

ivbox follows semantic versioning with the usual meaning:

  • 0.x → active development, API may change

  • 1.0.0 → stable and committed API

Contributing

Contributions are welcome if they:

  • solve a real, repeated problem

  • keep the project simple and understandable

  • respect the philosophy of “repeat first, abstract later”

Suggested flow:

      1. Open an issue describing the repeated pain point

      2. Propose a minimal helper/abstraction

      3. Add a small example + tests if applicable

Author

Ivan Gonzalez Valles

GitHub: https://github.com/ivanarganda

Inspiration

ivbox is inspired by developer pain points and by frameworks that grew through real usage, like Laravel. Build what hurts. Keep what repeats

Release files for ivbox 0.4.1

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

Source distribution (sdist)

Source distribution for ivbox 0.4.1
File Size Uploaded
ivbox-0.4.1.tar.gz 24.6 kB Details

Built distribution (wheel)

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

Total release size: 48.7 kB

Release files / ivbox-0.4.1.tar.gz

Download URL ivbox-0.4.1.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4bd6152804e915101982c2a774191fa6ec8fd13f62ee8d183d22533a98ce93d5
BLAKE2b-256 checksum
How to use checksums
1a08cce8fffe204cab7391ff0edf975606d420b32bfbcb0ba6d773c34835453d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / ivbox-0.4.1-py3-none-any.whl

Download URL ivbox-0.4.1-py3-none-any.whl
Size 24.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ab744e13d7e9e7ff05f24399db7bbecf41f9341b7d9f9916cb7d4fdec3c78a5
BLAKE2b-256 checksum
How to use checksums
495c21883dff8b2d0550bb9bf00b3ba9060ca26e63e196a9611577521f06e218
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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