Modules¶
shortfx is organized into 6 thematic modules covering dates, mathematics, strings, Python utilities, and Excel/VBA compatibility.
| Module | Functions | Scope |
|---|---|---|
fxDate |
261 | Date operations, evaluations, conversions, system dates |
fxNumeric |
1,602 | Finance, statistics, geometry, transforms, series, number theory |
fxString |
331 | Text manipulation, regex, hashing, validation, encoding, similarity |
fxPython |
116 | Iterable utilities, type conversions, logic helpers |
fxExcel |
489 | Excel-compatible formulas (VLOOKUP, PMT, CONCATENATE …) |
fxVBA |
133 | VBA/Access-compatible functions (Left, InStr, Format …) |
Architecture¶
All modules follow the same pattern:
- Flat module hierarchy: Each
fx*package contains submodule files (<category>_functions.py) - Dynamic re-export:
auto_export()in each__init__.pyexposes all public functions at the package level - Automatic discovery:
registry.pywalks allfx*packages at runtime for JSON Schema generation and MCP tool exposure
shortfx/
├── fxDate/
│ ├── __init__.py # auto_export()
│ ├── date_operations.py
│ ├── date_evaluations.py
│ ├── date_convertions.py
│ └── date_sys.py
├── fxNumeric/
│ ├── __init__.py
│ ├── arithmetic_functions.py
│ ├── finance_functions.py
│ └── ... (29 submodules)
└── ...
Importing Functions¶
You can import at different levels:
# Package-level (recommended for quick use)
from shortfx import fxDate
result = fxDate.add_time_to_date(...)
# Submodule-level (explicit, recommended for large projects)
from shortfx.fxDate import date_operations
result = date_operations.add_time_to_date(...)
# Direct function import
from shortfx.fxDate.date_operations import add_time_to_date
result = add_time_to_date(...)