Lilya

Latest version: v0.7.4

Safety actively analyzes 638755 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.6.0

Fixed

- `add_arguments` from BaseDirective to not raise `NotImplementedError` exception.

0.5.0

Added

- `settings_module` also supports import as string

Example

python
from lilya.apps import Lilya
from lilya.requests import Request
from lilya.routing import Path


async def home(): ...


app = Lilya(
routes=[Path("/", handler=home)],
settings_module="myapp.configs.settings.AppSettings",
)

0.4.0

Added

- `encoders` directly embed in any response. The `encoders` is a list of `lilya.encoder.Encoder` type
of objects that can be passed directly into the response. SInce the responses can be independent ASGI applications,
the encoders can be passed directly there.

0.3.5

Changed

- Documentation improvements.

Fixed

- Typo in the create project directive urls file descripton.

0.3.4

Added

- Extra validations to handle the events.

0.3.3

Added

- `settings_module` when passed in the instance of Esmerald will take precedence
over the global settings, removing the need of using constantly the `ESMERALD_SETTINGS_MODULE`.
- `ApplicationSettingsMiddleware` as internal that handles with the `settings_module` provided and maps
the context of the settings.

Example of the way the settings are evaluated

python
from dataclasses import dataclass

from lilya.apps import Lilya
from lilya.conf import settings
from lilya.conf.global_settings import Settings
from lilya.responses import Ok
from lilya.routing import Include, Path

async def home():
title = getattr(settings, "title", "Lilya")
return Ok({"title": title, "debug": settings.debug})


dataclass
class NewSettings(Settings):
title: str = "Settings being parsed by the middleware and make it app global"
debug: bool = False


dataclass
class NestedAppSettings(Settings):
title: str = "Nested app title"
debug: bool = True


app = Lilya(
settings_module=NewSettings,
routes=[
Path("/home", handler=home),
Include(
"/child",
app=Lilya(
settings_module=NestedAppSettings,
routes=[
Path("/home", handler=home),
],
),
),
],
)


In the context of the `controller home`, based on the path being called, it should return the
corresponding value of the `title` according to the settings of the app that is included.

Changed

- `createapp` directive `views.py` file generated renamed to `controllers.py`.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.