- chores: Response Model Tuple Refactor by @eadwinCode in #303
Full Changelog: https://github.com/python-ellar/ellar/compare/0.9.3...0.9.4
- feat: implement recursive forward ref resolution in test module dependencies by @eadwinCode in #302
Full Changelog: https://github.com/python-ellar/ellar/compare/0.9.2...0.9.3
- fix(testing): handle uvicorn SystemExit in EllarUvicornServer startup by @eadwinCode in #300
- Bump ruff from 0.13.3 to 0.14.3 by @dependabot[bot] in #299
- Bump uvicorn[standard] from 0.30.6 to 0.38.0 by @dependabot[bot] in #296
- Bump starlette from 0.48.0 to 0.49.1 by @dependabot[bot] in #298
- feat: Add InjectByTag support and global TagRegistry for testing by @eadwinCode in #301
Full Changelog: https://github.com/python-ellar/ellar/compare/0.9.0...0.9.2
- Starlette 0.46.1 upgrade by @eadwinCode in #267
- Update python-multipart requirement from <0.0.10,>=0.0.5 to >=0.0.5,<0.0.21 by @dependabot[bot] in #274
- Bump argon2-cffi from 23.1.0 to 25.1.0 by @dependabot[bot] in #273
- Bump regex from 2024.11.6 to 2025.7.34 by @dependabot[bot] in #271
- Bump types-ujson from 5.10.0.20240515 to 5.10.0.20250326 by @dependabot[bot] in #270
- Bump codecov/codecov-action from 5.4.0 to 5.4.3 by @dependabot[bot] in #269
- Update mkdocstrings[python] requirement from <0.26.0,>=0.19.0 to >=0.19.0,<0.31.0 by @dependabot[bot] in #278
- Update pytest-cov requirement from <6.0.0,>=2.12.0 to >=2.12.0,<8.0.0 by @dependabot[bot] in #292
- Bump mypy from 1.11.2 to 1.18.2 by @dependabot[bot] in #291
- Bump regex from 2025.7.34 to 2025.9.18 by @dependabot[bot] in #290
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #288
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by @dependabot[bot] in #287
- Bump codecov/codecov-action from 5.4.3 to 5.5.1 by @dependabot[bot] in #286
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #275
- Bump ruff from 0.6.3 to 0.13.2 by @dependabot[bot] in #289
- Fix mypy errors: resolve type issues and remove unused type ignores by @eadwinCode in #293
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.9...0.9.0
- fix: Python 3.13 Support by @eadwinCode in #257
- fix:Starlette 0.45.1 Upgrade by @eadwinCode in #258
- Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 by @dependabot in #260
- Bump codecov/codecov-action from 5.0.7 to 5.1.2 by @dependabot in #259
- fix: Authorization Documentation by @eadwinCode in #261
- fix: Added more context to authentication docs by @eadwinCode in #262
- Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 by @dependabot in #264
- Bump codecov/codecov-action from 5.1.2 to 5.3.1 by @dependabot in #263
- Bump codecov/codecov-action from 5.3.1 to 5.4.0 by @dependabot in #265
- Fixed CI Test and Test Module Resolving Internal Services by @eadwinCode in #266
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.7...0.8.9
- fix: Pydantic Version 2.10.2 bug by @eadwinCode in #254
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.12.2 by @dependabot in #253
- Bump codecov/codecov-action from 4.6.0 to 5.0.7 by @dependabot in #252
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.6...0.8.7
- Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #249
- fix: Provider Config with string import by @eadwinCode in #251
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.5...0.8.6
- Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.2 by @dependabot in #246
- fix:Route Resolvers with custom alias and name by @eadwinCode in #247
- fix: Skip template name with any extension by @eadwinCode in #248
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.4...0.8.5
- Custom resolver gen by @eadwinCode in #245
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.3...0.8.4
- fix: ForwardRef and Service lookup by @eadwinCode in #235
- Bump ruff from 0.5.5 to 0.6.3 by @dependabot in #241
- Bump mypy from 1.11.1 to 1.11.2 by @dependabot in #240
- Bump aiohttp from 3.10.0 to 3.10.5 by @dependabot in #239
- Bump types-redis from 4.6.0.20240425 to 4.6.0.20240819 by @dependabot in #238
- Bump uvicorn[standard] from 0.30.4 to 0.30.6 by @dependabot in #237
- fix: allOf for latest Pydantic version by @eadwinCode in #244
- Fix: Moved Passlib and click package as an optional dependency by @eadwinCode in #243
- Bump types-redis from 4.6.0.20240819 to 4.6.0.20240903 by @dependabot in #242
- fix: Unified route function resolvers by @eadwinCode in #236
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.2...0.8.3
- Removed jinja validator by @eadwinCode in #234
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.1...0.8.2
- Module Service/Providers Encapsulation: Modules has the ability to define services that won't be accessible to other application modules. This provides a proper graph of module dependencies amongst each other and gives a clear information on services exposed and managed by each modules.
- Module ForwardRef: Modules that depends on another imported module can forward ref the module object to be able to utilize services/providers exposed by that module.
- ModuleRouter Nesting: ModuleRouter objects can be nested with other ModuleRouter object as necessary for the user
- fix: Application Context Round Usage by @eadwinCode in #217
- feat: Nested ModuleRouter support by @eadwinCode in #218
- Module Builder Refactor by @eadwinCode in #219
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 by @dependabot in #221
- Bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in #220
- Bump mypy from 1.10.0 to 1.10.1 by @dependabot in #223
- Bump ruff from 0.4.7 to 0.5.0 by @dependabot in #222
- feat: Module Container Services Encapsulation by @eadwinCode in #224
- Bump uvicorn[standard] from 0.30.1 to 0.30.4 by @dependabot in #228
- Bump aiohttp from 3.9.5 to 3.10.0 by @dependabot in #226
- Bump injector from 0.21.0 to 0.22.0 by @dependabot in #227
- Bump starlette from 0.37.2 to 0.38.2 by @dependabot in #229
- Bump ruff from 0.5.0 to 0.5.5 by @dependabot in #225
- Ft: Module Routes Execution Context by @eadwinCode in #230
- Added py3.12 support by @eadwinCode in #190
- Documentation Updates Aug2024 by @eadwinCode in #231
- fix: Drop Global Guard as Provider by @eadwinCode in #232
- fixed app ready check by @eadwinCode in #233
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.8...0.8.1
- Bump uvicorn[standard] from 0.30.1 to 0.30.4 by @dependabot in #228
- Bump aiohttp from 3.9.5 to 3.10.0 by @dependabot in #226
- Bump injector from 0.21.0 to 0.22.0 by @dependabot in #227
- Bump starlette from 0.37.2 to 0.38.2 by @dependabot in #229
- Bump ruff from 0.5.0 to 0.5.5 by @dependabot in #225
- Ft: Module Routes Execution Context by @eadwinCode in #230
- Added py3.12 support by @eadwinCode in #190
Full Changelog: https://github.com/python-ellar/ellar/compare/0.8.0a1...0.8b1
#0.8.a1
- Module Service/Providers Encapsulation: Modules has the ability to define services that won't be accessible to other application modules. This provides a proper graph of module dependencies amongst each other and gives a clear information on services exposed and managed by each modules.
- Module ForwardRef: Modules that depends on another imported module can forward ref the module object to be able to utilize services/providers exposed by that module.
- ModuleRouter Nesting: ModuleRouter objects can be nested with other ModuleRouter object as necessary for the user
- fix: Application Context Round Usage by @eadwinCode in #217
- Module Builder Refactor by @eadwinCode in #219
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 by @dependabot in #221
- Bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in #220
- Bump mypy from 1.10.0 to 1.10.1 by @dependabot in #223
- Bump ruff from 0.4.7 to 0.5.0 by @dependabot in #222
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.8...0.8.0a1
- Policy Refactor by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/9ebb844d942359645b61412480a0031d3a43d0d7
- Dropped task execution for module lifespan actions by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/7724b21efbc82d30171d930f6cebab15fcc4eebf
- feat: Added middleware support to EllarMount and ApplicationContext by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/61ff5c0a97b0e965e6e82e121530de26aea4f528
- Fixed module template filters and global variables by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/7f883c38e74df54d5b026015420d60ecfb9e4b47
- Added support for injector to be nested, dropped controller class key and added support for controller inheritance by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/f50cffc3cde44cf868867cff71a712d0358cabf2
- Added support for gateway controller inheritance by @eadwinCode in https://github.com/python-ellar/ellar/pull/216/commits/aab73fda48c00ac6849d1abbf6b7d4ba67a12449
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.7...0.7.8
- Bump types-ujson from 5.9.0.0 to 5.10.0.20240515 by @dependabot in #213
- Bump ruff from 0.4.2 to 0.4.7 by @dependabot in #212
- Bump uvicorn[standard] from 0.29.0 to 0.30.0 by @dependabot in #211
- Bump uvicorn[standard] from 0.30.0 to 0.30.1 by @dependabot in #214
- Bump codecov/codecov-action from 4.3.0 to 4.4.1 by @dependabot in #210
- Bump mypy from 1.9.0 to 1.10.0 by @dependabot in #202
- fix: TestingModule metadata sharing during tests by @eadwinCode in #215
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.6...0.7.7
- Bump codecov/codecov-action from 4.1.1 to 4.3.0 by @dependabot in #207
- Bump ruff from 0.3.4 to 0.4.2 by @dependabot in #206
- Update mkdocstrings[python] requirement from <0.25.0,>=0.19.0 to >=0.19.0,<0.26.0 by @dependabot in #205
- Bump types-redis from 4.6.0.20240218 to 4.6.0.20240425 by @dependabot in #204
- Bump aiohttp from 3.9.3 to 3.9.5 by @dependabot in #203
- mypy 1.10.0 upgrade by @eadwinCode in #208
- May 22/24 patches by @eadwinCode in #209
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.4...0.7.6
- feat(DI): Service registration with tag by @eadwinCode in #200
- Bump mypy from 1.8.0 to 1.9.0 by @dependabot in #195
- feat: Dynamic command by @eadwinCode in #201
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.3...0.7.4
- Bump codecov/codecov-action from 4.0.0 to 4.1.1 by @dependabot in #198
- Bump pypa/gh-action-pypi-publish from 1.8.12 to 1.8.14 by @dependabot in #197
- Bump ruff from 0.3.0 to 0.3.4 by @dependabot in #196
- Update pytest-cov requirement from <5.0.0,>=2.12.0 to >=2.12.0,<6.0.0 by @dependabot in #193
- Bump uvicorn[standard] from 0.27.1 to 0.29.0 by @dependabot in #192
- Minor Fixes by @eadwinCode in #199
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.2...0.7.3
- Renamed examples to samples by @eadwinCode in #188
- Update mkdocstrings[python] requirement from <0.24.0,>=0.19.0 to >=0.19.0,<0.25.0 by @dependabot in #187
- Bump types-redis from 4.6.0.20240106 to 4.6.0.20240218 by @dependabot in #186
- Bump ruff from 0.1.9 to 0.3.0 by @dependabot in #185
- Update python-multipart requirement from <0.0.7,>=0.0.5 to >=0.0.5,<0.0.10 by @dependabot in #184
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 by @dependabot in #183
- Lib dependency restructure by @eadwinCode in #189
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.1...0.7.2
- Fixed EmailStr bug by @eadwinCode in #181
Full Changelog: https://github.com/python-ellar/ellar/compare/0.7.0...0.7.1
- Bump aiohttp from 3.9.1 to 3.9.3 by @dependabot in #178
- Bump types-redis from 4.6.0.11 to 4.6.0.20240106 by @dependabot in #175
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot in #173
- Bump codecov/codecov-action from 3.1.4 to 4.0.0 by @dependabot in #172
- Update pytest requirement from <8.0.0,>=6.2.4 to >=6.2.4,<9.0.0 by @dependabot in #174
- moved
ellar.common.routingcore implementation toellar.core.routingby @eadwinCode in #179 - dropped
application.install_module()by @eadwinCode in #179 - Moved Controllers and Routers computation to happen during
@Moduleprocessing by @eadwinCode in #179 - Renamed
ellar.openapi.open_infotoellar.openapi.api_infoby @eadwinCode in #179 - Added Session Documentation by @eadwinCode in #179
- Added OpenAPI Documentation by @eadwinCode in #179
- Starlette 0.37.1 support by @eadwinCode in #180
- dropped
application.install_module()use ModuleSetup for Modules that need application services OPENAPIModule.setuprequires app as parameter.
Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.8...0.7.0
Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.7...0.6.8
- Bug Fixes: Extra Route Args multiple field grouping by @eadwinCode in #170
Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.6...0.6.7
- Update publish.yml by @eadwinCode in #168
- Feat: Added support for running async context manager with sync_worker by @eadwinCode in #169
Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.4...0.6.6
- Bump actions/setup-python from 4 to 5 by @dependabot in #165
- Bump types-ujson from 5.8.0.1 to 5.9.0.0 by @dependabot in #164
- Bump uvicorn[standard] from 0.23.2 to 0.25.0 by @dependabot in #163
- Bump ruff from 0.1.7 to 0.1.9 by @dependabot in #162
- Async application context by @eadwinCode in #167
Full Changelog: https://github.com/python-ellar/ellar/compare/0.6.2...0.6.4
- Files System And File Mounting by @eadwinCode in #147
- 100% test coverage by @eadwinCode in #158
- App stack build on lifespan by @eadwinCode in #159
- Added support for Swagger Doc dark theme.
- Feat(LazyModuleImport): New feature by @eadwinCode in #155
- Feat - Lazy Loading ApplicationModule by @eadwinCode in #156
- code refactoring by @eadwinCode in #157
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.8...0.6.0
- Bump ruff from 0.1.4 to 0.1.6 by @dependabot in #152
- Bump types-redis from 4.6.0.8 to 4.6.0.11 by @dependabot in #153
- Bump black from 23.10.1 to 23.11.0 by @dependabot in #151
- Bump aiohttp from 3.8.5 to 3.9.1 by @dependabot in #150
- Pydantic v2 migration by @eadwinCode in #148
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.7...0.5.8
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.6...0.5.7
- fixed file data as bytes by @eadwinCode in #143
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.5...0.5.6
- fix file and form schema route function by @eadwinCode in #142
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.4...0.5.5
- Route Function Parameter Aliasing Bug Fix by @eadwinCode in #140
- file upload openapi doc fix by @eadwinCode in #141
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.3...0.5.4
- Fixed Auth And Core pkg Dependency by @eadwinCode in #139
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.2...0.5.3
- Bump ruff from 0.0.275 to 0.1.3 by @dependabot in #135
- Bump black from 23.9.1 to 23.10.1 by @dependabot in #136
- Bump types-redis from 4.6.0.5 to 4.6.0.8 by @dependabot in #133
- Bump mypy from 1.5.1 to 1.6.1 by @dependabot in #134
- Authentication Docs by @eadwinCode in #137
- OpenAPI module Refactor by @eadwinCode in #138
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.1...0.5.2
- Fix grammar error in dynamic-modules.md by @artemyfmv in #132
- Exception Docs Update by @eadwinCode in #131
- Bump black from 22.12.0 to 23.9.1 by @dependabot in #129
- Bump aiohttp from 3.8.4 to 3.8.5 by @dependabot in #113
- @artemyfmv made their first contribution in #132
Full Changelog: https://github.com/python-ellar/ellar/compare/0.5.0...0.5.1
- Bump uvicorn[standard] from 0.22.0 to 0.23.2 by @dependabot in #128
- Bump types-ujson from 5.8.0.0 to 5.8.0.1 by @dependabot in #127
- Bump actions/checkout from 3 to 4 by @dependabot in #126
- Route handlers dependencies type annotation support by @eadwinCode in #130
Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.9...0.5.0
- fixed 400 error parsing body on windows by @eadwinCode in #125
Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.8...0.4.9
- Libraries Bump up by @eadwinCode in #122
Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.6...0.4.7
Full Changelog: https://github.com/python-ellar/ellar/compare/0.4.5...0.4.6
- Added auth example by @eadwinCode in #116
- MyPy Liniting Fix And Embedded Body by @eadwinCode in #117
- Moved authorization guard to interceptor by @eadwinCode in #117
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.4...0.4.5
- Documentation update by @eadwinCode in #102
- OPENAPI Refactor by @eadwinCode in #103
- Bump starlette from 0.27.0 to 0.28.0 by @dependabot in #105
- Expanding Sessions by @eadwinCode in #109
- Authentication and Authorization by @eadwinCode in #104
- Bump types-ujson from 5.7.0.5 to 5.8.0.0 by @dependabot in #107
- Ruff linting and mypy upgrade by @eadwinCode in #115
- Linting, MyPy Upgrade and Example fixes by @eadwinCode in #111
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.2...0.4.4
- Bump starlette from 0.26.1 to 0.27.0 by @dependabot in #97
- Update typer requirement from <0.8.0,>=0.6.1 to >=0.6.1,<0.10.0 by @dependabot in #96
- Bump uvicorn[standard] from 0.20.0 to 0.22.0 by @dependabot in #95
- Bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in #94
- Config with prefix by @eadwinCode in #99
- Extended Lifespan to Module classes by @eadwinCode in #100
- Ellar Documentation Redesign by @eadwinCode in https://github.com/eadwinCode/ellar/pull/100/commits/7b5d60b149b6ad786b6bf682278e6d7fac83fd8e
- Fixed register_services not calling in modules by @eadwinCode in #101
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.4.0...0.4.2
- [BREAKING] Renamed Guards decorator to UseGuards decorator by @eadwinCode in #93
- Background Task Feature by @eadwinCode in #91 You can inject BackgroundTasks instance to you route handler
async def send_welcome_email(email):
print(f'Send Welcome Email Task Called with "{email}"')
@router.post('/signup')
def sign_up(username: str, password: str, email: str, tasks: BackgroundTasks):
tasks.add_task(send_welcome_email, email=email)
return {'status': 'Signup successful'}- EllarInterceptors by @eadwinCode in #92 Use of interceptors to add more custom implementation to your route handlers and controller as define by Aspect Oriented Programming (AOP) technique
@injectable
class ResponseModifierInterceptor(EllarInterceptor):
async def intercept(
self, context: IExecutionContext, next_interceptor: t.Callable[..., t.Coroutine]
) -> t.Any:
data = await next_interceptor()
if data:
data.update(ResponseModifierInterceptor="ResponseModifierInterceptor modified returned resulted")
return data
@Controller("")
class InterceptorControllerTest(ControllerBase):
@UseInterceptors(ResponseModifierInterceptor)
@get("/interceptor-1")
async def interceptor_1(self):
return {"message": "intercepted okay"}Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.8...0.4.0
- Socket IO integration and Websocket documentation by @eadwinCode in #82
- Bump codecov/codecov-action from 3.1.1 to 3.1.3 by @dependabot in #83
- Update email-validator requirement from <2.0.0,>=1.1.1 to >=1.1.1,<3.0.0 by @dependabot in #84
- Update mkdocs-material requirement from <9.0.0,>=7.1.9 to >=7.1.9,<10.0.0 by @dependabot in #86
- Bump types-ujson from 5.7.0.1 to 5.7.0.5 by @dependabot in #88
- ellar package dependency refactor by @eadwinCode in #89
- 0.3.8 by @eadwinCode in #90
- Breaking: any missing import from
ellar.corecan be found inellar.common
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.6...0.3.8
- Added doc on rate limiting by @eadwinCode in #74
- Guard Documentation by @eadwinCode in #64
- Dynamic Setup Fix by @eadwinCode in #75
- Versioning Documentation by @eadwinCode in #79
- Update python-multipart requirement from <0.0.6,>=0.0.5 to >=0.0.5,<0.0.7 by @dependabot in #66
- Bump types-ujson from 5.7.0.0 to 5.7.0.1 by @dependabot in #68
- Testing Documentation by @eadwinCode in #80
- Starlette Upgrade by @eadwinCode in #81
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.4...0.3.6
- Caching Featuring by @eadwinCode in #65
- Cache attributes update by @eadwinCode in #71
- Module Setup Feature by @eadwinCode in #73
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.2...0.3.4
- fix itsdangerous bug in session middleware by @eadwinCode in #63
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.3.0...0.3.2
- Bump black from 22.8.0 to 22.12.0 by @dependabot in #50
- Bump types-ujson from 0.1.1 to 5.6.0.0 by @dependabot in #49
- Update typer requirement from <0.7.0,>=0.6.1 to >=0.6.1,<0.8.0 by @dependabot in #40
- Removed ASGI args from contextvar by @eadwinCode in #53
- Document updates Jan 2023 by @eadwinCode in #54
- Injectable Class should be resolved at runtime without errors by @eadwinCode in #60
- More Doc Updates by @eadwinCode in #55
- Guards Refactor by @eadwinCode in #59
- restored commented tests by @eadwinCode in #61
- Bump starlette from 0.21.0 to 0.23.1 by @dependabot in #48
- Bump types-ujson from 5.6.0.0 to 5.7.0.0 by @dependabot in #58
- Bump types-dataclasses from 0.1.7 to 0.6.6 by @dependabot in #57
- Update flake8 requirement from <4.0.0,>=3.8.3 to >=3.8.3,<7.0.0 by @dependabot in #56
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.8...0.3.0
- Separated
IHostContextfromIExecutionContextand added factory class that manages their creation by @eadwinCode in #51 - Made Guards classes Injectable by @eadwinCode in #52
- Switched from
thread.localtoContextVarto managerequest_scopesproperly by @eadwinCode in #52 - Added Documentation for
ExecutionContext. - Increased test coverage.
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.6...0.2.8
- Documentation Updates by @eadwinCode in #43
- Reverted building routes from a single list to a list of routers with a well-managed route not found cross routes @eadwinCode in #43
- Python 3.11 Support by @eadwinCode in #44
- Changed ASCII drawing to the image by @eadwinCode in #45
- Added an
IExceptionHandlercontract for defining custom exception handler by @eadwinCode in #46. Doc - Dropped use for
BaseHTTPMiddlewarefrom Starlette and added aFunctionBasedMiddlewareby @eadwinCode in #47 - Added
filedecorator forFileResponseModelandStreamingResponseModelby @eadwinCode in #47
import asyncio
from ellar.common import ModuleRouter, file
async def slow_numbers(minimum: int, maximum: int):
yield ("<html><body><ul>")
for number in range(minimum, maximum + 1):
yield "<li>%d</li>" % number
await asyncio.sleep(0.01)
yield ("</ul></body></html>")
router = ModuleRouter('/file')
@router.get()
@file(media_type='text/html')
def file_download():
return {'path': 'path/to/file.html', 'filename': 'code.html', 'content_disposition_type': 'attachment'}
@router.get('/stream')
@file(media_type='text/html', streaming=True)
def file_stream():
return slow_numbers(1, 4)Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.4...0.2.6
- Update mkdocs-material requirement from <8.0.0,>=7.1.9 to >=7.1.9,<9.0.0 by @dependabot in #37
- Update pytest-cov requirement from <4.0.0,>=2.12.0 to >=2.12.0,<5.0.0 by @dependabot in #35
- Pydependencies upgrade by @eadwinCode in #32
- Bump types-orjson from 3.6.0 to 3.6.2 by @dependabot in #34
- Made CLI tool an optional requirement by @eadwinCode in #38
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.2...0.2.4
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.2.0...0.2.2
- Project dependency fix by @eadwinCode in #29
- Python 3.6 support ends here
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.8...0.2.0
- starlette dependencies fix by @eadwinCode in #28
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.6...0.1.8
- package stats update by @eadwinCode in #17
- fixed static package type by @eadwinCode in #18
- Doc Preparation by @eadwinCode in #19
- Moved Configuration From File To Class Based by @eadwinCode in #21
- Bump codecov/codecov-action from 3.1.0 to 3.1.1 by @dependabot in #25
- CLI Commands And Basic Project Scaffolding by @eadwinCode in #20
- Quick-Start Doc by @eadwinCode in #27
To scaffold ellar project
ellar create-project `project-name`To scaffold ellar app
ellar create-module `app-name`To start application server
ellar runserverFull Changelog: https://github.com/eadwinCode/ellar/compare/0.1.4...0.1.6
- Bump actions/setup-python from 3 to 4 by @dependabot in #8
- Starlette Class Renames by @eadwinCode in #9
- Common Package Testing by @eadwinCode in #10
- Constant Value All Caps by @eadwinCode in #11
- Openapi Module Test by @eadwinCode in #12
- Guard Module Testing by @eadwinCode in #13
- Configuration Module Test by @eadwinCode in #14
- App Test by @eadwinCode in #15
- AppFactory and TestClientFactory Test by @eadwinCode in #16
Full Changelog: https://github.com/eadwinCode/ellar/compare/0.1.2...0.1.4
- Refactored route operation functions @eadwinCode in #7
- Pydantic integration
- DI Container
- Templating with Jinja2
- OpenAPI Documentation (Swagger and ReDoc)
- Controller (MVC)
- Guards (Authentications, roles and permissions)
- Modularization (eg: flask blueprint)
- Websocket support
- Session and Cookie support
- CORS, GZip, Static Files, Streaming responses
- Test client built on requests
- In-process background tasks.
- Startup and shutdown events.
- Application Events
- @eadwinCode made their first contribution in #6