Metadata-Version: 2.4
Name: future-framework
Version: 1.1.1
Summary: Next Gen. ASGI Framework for minimal Web APIs
License: LICENSE
License-File: LICENSE
Author: nicolaipre
Requires-Python: >=3.12,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: clickhouse-driver (>=0.2.11,<0.3.0)
Requires-Dist: elasticsearch (>=9.4.0,<10.0.0)
Requires-Dist: faker (>=40.0.0,<41.0.0)
Requires-Dist: httpx (>=0.28.1,<0.29.0)
Requires-Dist: inflection (>=0.5.1,<0.6.0)
Requires-Dist: psycopg2-binary (>=2.9.12,<3.0.0)
Requires-Dist: pymongo (>=4.17.0,<5.0.0)
Requires-Dist: pymysql (>=1.2.0,<2.0.0)
Requires-Dist: python-dotenv (>=1.2.2,<2.0.0)
Requires-Dist: redis (>=8.0.0,<9.0.0)
Requires-Dist: rich (>=15.0.0,<16.0.0)
Requires-Dist: sqlalchemy (>=2.0.51,<3.0.0)
Requires-Dist: strawberry-graphql (>=0.323.0,<0.324.0)
Requires-Dist: uvicorn (>=0.51.0,<0.52.0)
Project-URL: Bug Tracker, https://github.com/nicolaipre/future-framework/issues
Project-URL: Documentation, https://nicolaipre.github.io/future-framework/
Project-URL: Homepage, https://github.com/nicolaipre/future-framework
Project-URL: Repository, https://github.com/nicolaipre/future-framework
Description-Content-Type: text/markdown

# Future
Minimal, decorator-free [ASGI](https://asgi.readthedocs.io/) framework for Python APIs — routing, middleware, Active Record, migrations, seeds, OpenAPI, and interval tasks.

[![Build Status](https://github.com/nicolaipre/future-framework/actions/workflows/ci.yml/badge.svg)](https://github.com/nicolaipre/future-framework/actions)
[![Package version](https://badge.fury.io/py/future-framework.svg)](https://pypi.org/project/future-framework/)
[![codecov](https://codecov.io/gh/nicolaipre/future-framework/branch/master/graph/badge.svg)](https://codecov.io/gh/nicolaipre/future-framework)

## Documentation
Published at **[nicolaipre.github.io/future-framework](https://nicolaipre.github.io/future-framework/)**. To preview locally: `poetry install --with docs && poetry run mkdocs serve`.

## Install
```bash
poetry add future-framework
poetry run future init myproject
```

Import name is `future` (`from future.application import Future`).

## Hello
```python
from future.application import Future
from future.controllers import Controller
from future.lifespan import Lifespan
from future.response import Response
from future.routing import Get, RouteGroup

class HomeController(Controller):
    async def index(self) -> Response:
        return self.response.json({"ok": True})

app = Future(lifespan=Lifespan([], [], []), config={"APP_DOMAIN": "", "APP_NAME": "Demo"})
app.add_routes([RouteGroup(name="Main", routes=[Get("/", HomeController.index, "home")])])
app.run(host="127.0.0.1", port=8000)
```

## License
See [LICENSE](LICENSE). Versioning: [CHANGELOG.md](CHANGELOG.md).

