Implemented CLI command ivbox
Project description
ivbox
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ivbox-0.4.0.tar.gz.
File metadata
- Download URL: ivbox-0.4.0.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9513b6e78a17486979bdddafd4a2954a72481efde25cdd5726166a5778f1cc99
|
|
| MD5 |
1ad2366461df3d0788b7983dccd36d14
|
|
| BLAKE2b-256 |
24e5b5253741279bb2c7096e72ee83394fb632e960632daf456b7755541fda7f
|
File details
Details for the file ivbox-0.4.0-py3-none-any.whl.
File metadata
- Download URL: ivbox-0.4.0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7411d4c73fbc7567f0a35b38d364cf2df589764787fb51c281482b63b8f999fb
|
|
| MD5 |
d3cbca311dbc0f79fc73416726f7456d
|
|
| BLAKE2b-256 |
c7241301be6a093eaf19d1316a7f09dd71c44f2adca6d2227572e095db9fea76
|