Metadata-Version: 2.4
Name: splent_framework
Version: 1.4.3
Summary: SPLENT-FRAMEWORK is a set of libraries for agile product development within SPLENT.
Author-email: DiversoLab <diversolab@us.es>
Project-URL: Homepage, https://github.com/diverso-lab/splent_framework
Project-URL: Issues, https://github.com/diverso-lab/splent_framework/issues
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dotenv==1.0.1
Requires-Dist: sqlalchemy==2.0.37
Requires-Dist: flask==3.1.0
Requires-Dist: flask_sqlalchemy==3.1.1
Requires-Dist: flask_migrate==4.1.0
Requires-Dist: flask_session==0.8.0
Requires-Dist: flask_mail==0.10.0
Requires-Dist: flask_login==0.6.3
Requires-Dist: flask_wtf==1.2.2
Requires-Dist: redis==5.2.1
Requires-Dist: pymysql==1.1.1
Requires-Dist: psutil==6.1.1
Requires-Dist: pytz==2024.2
Requires-Dist: flask-babel==4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.3; extra == "dev"
Requires-Dist: pytest-cov>=6.0; extra == "dev"
Dynamic: license-file

# SPLENT Framework

Core library for building modular, feature-driven Flask applications using Software Product Line principles.

## What it provides

- **Manager pattern** — Pluggable subsystem managers (features, config, migrations, sessions, Jinja, error handling)
- **Feature system** — Modular features with lifecycle tracking, UVL-based dependency ordering, and per-feature Alembic migrations
- **Base classes** — `BaseBlueprint`, `BaseRepository`, `BaseService`, `BaseSeeder`, `GenericResource`
- **App factory** — `create_app()` wires everything together with env-aware feature loading

## Quick start

```python
from splent_framework.managers.feature_manager import FeatureManager

def create_app(config_name="development"):
    app = Flask(__name__)
    # ... config, db, sessions ...
    FeatureManager(app, strict=False).register_features()
    return app
```

## Requirements

- Python 3.13+
- Flask 3.1+
- SQLAlchemy 2.0+

## Documentation

Full documentation at **[docs.splent.io](https://docs.splent.io)**

## License

Creative Commons CC BY 4.0 - SPLENT - Diverso Lab
