Configurations¶
Ravyn uses configuration objects to enable built-in features with explicit, typed settings.
Available configurations¶
Core configs (top-level imports)¶
CORSConfigCSRFConfigSessionConfigStaticFilesConfigOpenAPIConfigLoggingConfig
from ravyn import (
CORSConfig,
CSRFConfig,
LoggingConfig,
OpenAPIConfig,
SessionConfig,
StaticFilesConfig,
)
Additional configs¶
JWTConfigfromravyn.core.config.jwtTemplateConfigfromravyn.core.config.templateSchedulerConfigfromravyn.contrib.schedulers
from ravyn.core.config.jwt import JWTConfig
from ravyn.core.config.template import TemplateConfig
from ravyn.contrib.schedulers import SchedulerConfig
Quick examples¶
CORS¶
from ravyn import CORSConfig, Ravyn
app = Ravyn(
routes=[],
cors_config=CORSConfig(
allow_origins=["https://example.com"],
allow_methods=["GET", "POST"],
),
)
CSRF¶
from ravyn import CSRFConfig, Ravyn
app = Ravyn(
routes=[],
csrf_config=CSRFConfig(secret="your-secret-key"),
)
Static files¶
from ravyn import Ravyn, StaticFilesConfig
app = Ravyn(
routes=[],
static_files_config=StaticFilesConfig(path="/static", directory="static"),
)
Configuration via settings¶
from ravyn import CORSConfig, Ravyn, RavynSettings
class AppSettings(RavynSettings):
@property
def cors_config(self) -> CORSConfig:
return CORSConfig(allow_origins=["*"])
app = Ravyn(routes=[], settings_module=AppSettings)