
# Laboratoire de recherche en sécurité autorisé : reproduction de CVE-2024-42370 / GHSA-4hq2-rpgc-r8r7 (injection d'environnement dans docs-preview.yml) — instantané de litestar-org/litestar@18d84d84
Artéfact de recherche automatisé — pas le projet en amont.
Ce dépôt est un laboratoire jetable construit par un harnais automatisé pour un mémoire de maîtrise à l'Université Laval sur la reproduction de vulnérabilités publiées dans les workflows GitHub Actions. Il s'agit d'un instantané verbatim de
litestar-org/litestarau commit18d84d846b782ccaab06f550a4defce22b3082e8(2024-07-27), redistribué sous la licence propre de ce projet, dont le fichier est inclus inchangé dans cet instantané.Le projet en amont n'est pas impliqué, n'est jamais ciblé, et la vulnérabilité étudiée ici est déjà publique. Chaque secret et variable dans ce dépôt est une valeur factice générée aléatoirement — aucun identifiant réel n'est présent. Les références d'actions et les images d'exécuteurs sont épinglées à ce qu'elles résolvaient le 2024-07-27 ; voir
pinning.mddans la sortie du harnais pour chaque modification apportée à l'instantané.Questions ou objections : [email protected]
| Project | Status |
|---|
| CI/CD | ||
| Quality | ||
| Package | ||
| Community | ||
| Meta |
Litestar est un framework ASGI puissant, flexible mais néanmoins opinionné, axé sur la création d'API, et offrant une validation et un parsing de données haute performance, l'injection de dépendances, une intégration ORM de premier ordre, des primitives d'autorisation, et bien plus encore pour faire tourner des applications rapidement.
Consultez la documentation 📚 pour un aperçu détaillé de ses fonctionnalités !
De plus, le dépôt fullstack Litestar peut vous donner une bonne idée de ce à quoi peut ressembler une application Litestar complète.
pip install litestar
## Démarrage rapide```python
from litestar import Litestar, get
@get("/")
def hello_world() -> dict[str, str]:
"""Keeping the tradition alive with hello world."""
return {"hello": "world"}
app = Litestar(route_handlers=[hello_world])
dataclasses, TypedDict, pydantic version 1 et version 2,
msgspec et attrsLitestar est un projet open-source, et nous bénéficions du soutien de nos sponsors pour financer le travail passionnant que nous accomplissons.
Un immense merci à nos sponsors :
Si vous souhaitez soutenir le travail que nous accomplissons, pensez à devenir sponsor via Polar.sh (préféré), GitHub ou Open Collective.
De plus, exclusivement avec Polar, vous pouvez participer à des parrainages basés sur des engagements.
Tout en prenant en charge les gestionnaires de routes basés sur les fonctions, Litestar prend également en charge et promeut la POO python à l'aide de contrôleurs basés sur les classes :
from litestar import Controller, get, post, put, patch, delete from litestar.dto import DTOData from pydantic import UUID4
from my_app.models import User, PartialUserDTO
class UserController(Controller): path = "/users"
@post()
async def create_user(self, data: User) -> User: ...
@get()
async def list_users(self) -> List[User]: ...
@get(path="/{date:int}")
async def list_new_users(self, date: datetime) -> List[User]: ...
@patch(path="/{user_id:uuid}", dto=PartialUserDTO)
async def partial_update_user(
self, user_id: UUID4, data: DTOData[PartialUserDTO]
) -> User: ...
@put(path="/{user_id:uuid}")
async def update_user(self, user_id: UUID4, data: User) -> User: ...
@get(path="/{user_name:str}")
async def get_user_by_name(self, user_name: str) -> Optional[User]: ...
@get(path="/{user_id:uuid}")
async def get_user(self, user_id: UUID4) -> User: ...
@delete(path="/{user_id:uuid}")
async def delete_user(self, user_id: UUID4) -> None: ...
</details>
### Analyse des données, annotations de type et Msgspec
Litestar est rigoureusement typé et impose le typage. Par exemple, si vous oubliez de typer une valeur de retour pour un
gestionnaire de route, une exception sera levée. La raison en est que Litestar utilise les données de typage pour générer
les spécifications OpenAPI, ainsi que pour valider et analyser les données. Le typage est donc essentiel au framework.
De plus, Litestar permet d'étendre sa prise en charge à l'aide de plugins.
### Système de plugins, prise en charge des ORM et DTO
Litestar dispose d'un système de plugins qui permet à l'utilisateur d'étendre la sérialisation/désérialisation, la
génération OpenAPI et d'autres fonctionnalités.
Il est fourni avec un plugin intégré pour SQL Alchemy, qui permet à l'utilisateur d'utiliser les classes déclaratives
SQLAlchemy « nativement », c'est-à-dire comme paramètres de type qui seront sérialisés/désérialisés et de les renvoyer
comme valeurs depuis les gestionnaires de route.
Litestar prend également en charge la création programmatique de DTO avec une classe `DTOFactory`, qui prend également en
charge l'utilisation de plugins.
### OpenAPI
Litestar dispose d'une logique personnalisée pour générer le schéma OpenAPI 3.1.0, y compris la génération facultative
d'exemples à l'aide de la bibliothèque [`polyfactory`](https://pypi.org/project/polyfactory/).
#### Documentation API ReDoc, Swagger-UI et Stoplight Elements
Litestar sert la documentation à partir du schéma OpenAPI généré avec :
- [ReDoc](https://redoc.ly/)
- [Swagger-UI](https://swagger.io/tools/swagger-ui/)
- [Stoplight Elements](https://github.com/stoplightio/elements)
- [RapiDoc](https://rapidocweb.com/)
Tous ces éléments sont disponibles et activés par défaut.
### Injection de dépendances
Litestar dispose d'un système d'injection de dépendances simple mais puissant, inspiré de pytest. Vous pouvez définir des
dépendances nommées — synchrones ou asynchrones — à différents niveaux de l'application, puis les utiliser de manière
sélective ou les remplacer.
<details>
<summary>Exemple pour l'injection de dépendances</summary>```python
from litestar import Litestar, get
from litestar.di import Provide
async def my_dependency() -> str: ...
@get("/")
async def index(injected: str) -> str:
return injected
app = Litestar([index], dependencies={"injected": Provide(my_dependency)})
Litestar prend en charge les middlewares ASGI typiques et fournit des middlewares pour gérer des éléments tels que
Litestar dispose d'un mécanisme d'autorisation appelé guards, qui permet à l'utilisateur de définir des fonctions de garde à différents
niveaux de l'application (app, routeur, contrôleur, etc.) et de valider la requête avant d'atteindre la fonction
du gestionnaire de route.
from litestar.connection import ASGIConnection from litestar.handlers.base import BaseRouteHandler from litestar.exceptions import NotAuthorizedException
async def is_authorized(connection: ASGIConnection, handler: BaseRouteHandler) -> None: # validate authorization # if not authorized, raise NotAuthorizedException raise NotAuthorizedException()
@get("/", guards=[is_authorized]) async def index() -> None: ...
app = Litestar([index])
</details>
### Hooks de cycle de vie des requêtes
Litestar prend en charge les hooks de cycle de vie des requêtes, de manière similaire à Flask — c'est-à-dire `before_request` et `after_request`
## Performances
Litestar est rapide. Il est au niveau, ou nettement plus rapide, que les frameworks ASGI comparables.
Vous pouvez consulter et exécuter les benchmarks [ici](https://github.com/litestar-org/api-performance-tests),
ou en savoir plus [ici](https://docs.litestar.dev/latest/benchmarks) dans notre documentation.
## Contribuer
Litestar est ouvert aux contributions, grandes et petites. Vous pouvez toujours [rejoindre notre serveur discord](https://discord.gg/X3FJqy8d2j)
ou [rejoindre notre espace Matrix](https://matrix.to/#/#litestar:matrix.org)
pour discuter des contributions et de la maintenance du projet. Pour les directives sur la façon de contribuer, veuillez
consulter [le guide de contribution](https://github.com/pvharmo2/gha-lab-ba8e0c4217/blob/main/CONTRIBUTING.rst).
<!-- contributors-start -->
## Contributeurs ✨
<details>
<summary>Merci à ces merveilleuses personnes :</summary>
<a href="https://allcontributors.org/docs/en/emoji-key">Clé des emojis </a><!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/nhirschfeld/"><img src="https://assets.kitploit.com/production/public/readmes/54125/f4402f9bd55d0c38153c6130da7580c4e2691fd34453865a204f75b6a444edb1/86c6c5b903d105fc174017914eb2a96c53cf9082818df2e263dc47eb339960ce-display-v1.webp" width="100px;" alt="Na'aman Hirschfeld"/><br /><sub><b>Na'aman Hirschfeld</b></sub></a><br /><a href="#maintenance-Goldziher" title="Maintenance">🚧</a> <a href="https://github.com/litestar-org/litestar/commits?author=Goldziher" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=Goldziher" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=Goldziher" title="Tests">⚠️</a> <a href="#ideas-Goldziher" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-Goldziher" title="Examples">💡</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3AGoldziher" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/peterschutt"><img src="https://assets.kitploit.com/production/public/readmes/54125/a56e82cb821c908545d0067dc50df5817eca319879f78f8779aca13ebefa362b/a65c715a3e245969f1105298df74193398638e471b4ce9a2768dfb0c0b4cb548-display-v1.webp" width="100px;" alt="Peter Schutt"/><br /><sub><b>Peter Schutt</b></sub></a><br /><a href="#maintenance-peterschutt" title="Maintenance">🚧</a> <a href="https://github.com/litestar-org/litestar/commits?author=peterschutt" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=peterschutt" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=peterschutt" title="Tests">⚠️</a> <a href="#ideas-peterschutt" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-peterschutt" title="Examples">💡</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3Apeterschutt" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://ashwinvin.github.io"><img src="https://assets.kitploit.com/production/public/readmes/54125/23adb745982227a24fff8903555abc8f53dfd3d63ff2eff1767b9df30462013e/e0bdeef951eeaf745ca738e8bf159cbd312f30e5433da5caee6fc3629216f698-display-v1.webp" width="100px;" alt="Ashwin Vinod"/><br /><sub><b>Ashwin Vinod</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=ashwinvin" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=ashwinvin" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.damiankress.de"><img src="https://assets.kitploit.com/production/public/readmes/54125/56aabd4ee6987dcba68c0c2e3e822e22caec36a9e25e32686201548596933f2b/85cf56592dc0e33a04cec96dd36a158919d7f325d6a919a3341f501c84dc6a91-display-v1.webp" width="100px;" alt="Damian"/><br /><sub><b>Damian</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=dkress59" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://remotepixel.ca"><img src="https://assets.kitploit.com/production/public/readmes/54125/512f419b221227c898b114dc66d89bf66b406460bd38838863884133ff9b6dee/14af457a3d67003240a217a6ebb8b493e24e997fae3b0cc3bc73b67ecbd72577-display-v1.webp" width="100px;" alt="Vincent Sarago"/><br /><sub><b>Vincent Sarago</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=vincentsarago" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://hotfix.guru"><img src="https://assets.kitploit.com/production/public/readmes/54125/5e658468df586304500ab4fb705fad107f912833cd1da627d6af7019454b4928/945a0bdf0061a1504bc8cab05fd83d1fb25dda7a176c645e8867ba2b5a1c54dc-display-v1.webp" width="100px;" alt="Jonas Krüger Svensson"/><br /><sub><b>Jonas Krüger Svensson</b></sub></a><br /><a href="#platform-JonasKs" title="Packaging/porting to new platform">📦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sondrelg"><img src="https://assets.kitploit.com/production/public/readmes/54125/59c8e74211247a6ac94f9a475b94b43d6657f744326449f6dc1d7ea4d2526930/801354eece401f0ed46bf97f5397fd8895b3146a7432bff450081f80ece257de-display-v1.webp" width="100px;" alt="Sondre Lillebø Gundersen"/><br /><sub><b>Sondre Lillebø Gundersen</b></sub></a><br /><a href="#platform-sondrelg" title="Packaging/porting to new platform">📦</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/vrslev"><img src="https://assets.kitploit.com/production/public/readmes/54125/cc22f022ad70cbda21c9eab68c9a4103f3045af11c021a23a827d8977414cc08/fe418f8315719b14d304c49b420541b623a53e4749b442069b27b6532991f1c6-display-v1.webp" width="100px;" alt="Lev"/><br /><sub><b>Lev</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=vrslev" title="Code">💻</a> <a href="#ideas-vrslev" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/timwedde"><img src="https://assets.kitploit.com/production/public/readmes/54125/61a82f76e834ab13c2532e4d16e19ab0c5ff3f23ce25dc53f280545a384a2edc/6ab0765190429abfab3c086110c7391f72dd9df06236fa542cc9627027c34758-display-v1.webp" width="100px;" alt="Tim Wedde"/><br /><sub><b>Tim Wedde</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=timwedde" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/tclasen"><img src="https://assets.kitploit.com/production/public/readmes/54125/d177e4e767a2a010e9e20c7e2ccd9049e674e8304cf0c6cf4ff9c8271a0e4055/c738cd1040be71e3b8aaa4b00cdf90fc617008242df406112bef8aaddf8388af-display-v1.webp" width="100px;" alt="Tory Clasen"/><br /><sub><b>Tory Clasen</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=tclasen" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://t.me/Bobronium"><img src="https://assets.kitploit.com/production/public/readmes/54125/e243fe927ef2701ff5f5b3a1e1c256a60f9605efd2aa13546ee6159892dab0bd/ea0b5418d9bf6dd1d6b1649fb0d9665770ccf8f4957c9906739464a9559c4595-display-v1.webp" width="100px;" alt="Arseny Boykov"/><br /><sub><b>Arseny Boykov</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Bobronium" title="Code">💻</a> <a href="#ideas-Bobronium" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/yudjinn"><img src="https://assets.kitploit.com/production/public/readmes/54125/f9881b5fd8f0203bd0fd4f0e638fc94553549aa2cbe7d3c7ef611764f2536be6/eade801852501b32e36fefa04ba3b0281a5c21383fc2c719481abf1229dee817-display-v1.webp" width="100px;" alt="Jacob Rodgers"/><br /><sub><b>Jacob Rodgers</b></sub></a><br /><a href="#example-yudjinn" title="Examples">💡</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/danesolberg"><img src="https://assets.kitploit.com/production/public/readmes/54125/ff569c2184bc300aa94a1011d161546e5b16720fa68d9120f2e00e1803b6f2bd/930e1b583d50cb8bfaa20c91fd96f5c90465332bc5fa84d1c0bd5b788fa4260a-display-v1.webp" width="100px;" alt="Dane Solberg"/><br /><sub><b>Dane Solberg</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=danesolberg" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/madlad33"><img src="https://assets.kitploit.com/production/public/readmes/54125/e792b8e7ecbe26c41feca6d0aa7466b8187207db435f352fef7fff88681dcfba/29407ae8b4fe1fd1bb27f485fbe1c8799a10e73253e8d5d29ac52d85492f378b-display-v1.webp" width="100px;" alt="madlad33"/><br /><sub><b>madlad33</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=madlad33" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://matthewtyleraylward.com"><img src="https://assets.kitploit.com/production/public/readmes/54125/3bffac7af746f12af08fd46f1106a575d8adf376f30d788685a54c11d07e17a8/5f5eaa03eeba82c8408eefed01ea3068228dc7751e0cd34a05e256cfc33c7359-display-v1.webp" width="100px;" alt="Matthew Aylward "/><br /><sub><b>Matthew Aylward </b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Butch78" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Joko013"><img src="https://assets.kitploit.com/production/public/readmes/54125/3f089fbc0ddb0b31316b21ebde7275cc1308b63f0cfed4a81b2b651bf938c71b/90efaf18ab51b61dba8bc7aed12dfda70d209b44731271d50b7202c5d3ab6e59-display-v1.webp" width="100px;" alt="Jan Klima"/><br /><sub><b>Jan Klima</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Joko013" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/i404788"><img src="https://assets.kitploit.com/production/public/readmes/54125/e1aba1dd1fe0bc19a9a8c6d657afa3359ebf0a1f8720ff2cc370e4ca83c37012/0a7cfa4b1466d8e4805dd58e799d61375a4784bbeb2b1bda749bce8468fd9bad-display-v1.webp" width="100px;" alt="C2D"/><br /><sub><b>C2D</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=i404788" title="Tests">⚠️</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/to-ph"><img src="https://assets.kitploit.com/production/public/readmes/54125/3d184bed6a07b3d5d2b9274629ad8bf36b96bd63d8c66e54cd55cb5820e8524f/b8a2533dfe6785389a3bffc1173283b8edc5c81d3b80d6ecfcc2f1f28d0d1d93-display-v1.webp" width="100px;" alt="to-ph"/><br /><sub><b>to-ph</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=to-ph" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://imbev.gitlab.io/site"><img src="https://assets.kitploit.com/production/public/readmes/54125/6146ea265b16d445dfc88dbe6f970a0d5dcfff350224ff0fea8e36f7662679c1/48cb0289d06635fccc0c1c805b9361dc0ab2f8eabb53cace7dc3726274ec6e67-display-v1.webp" width="100px;" alt="imbev"/><br /><sub><b>imbev</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=imbev" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://git.roboces.dev/catalin"><img src="https://assets.kitploit.com/production/public/readmes/54125/913f9392ff871b91d59b6bcca91528fabab38d7992889d22edb37e8659e3df3c/fda62032d3387fe68c6c8c282aedcaaf42b451b86f3b4f30af2fa36a26dbdf16-display-v1.webp" width="100px;" alt="cătălin"/><br /><sub><b>cătălin</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=185504a9" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Seon82"><img src="https://assets.kitploit.com/production/public/readmes/54125/cfa9e4a9e6bb3ab325a5ae7d344abc2acc8c52eee43dda34ee11d2907c07809d/b3235aba38c43779fe974eff543ef063002cd441f30d5ab2c448fd0e662be725-display-v1.webp" width="100px;" alt="Seon82"/><br /><sub><b>Seon82</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Seon82" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/slavugan"><img src="https://assets.kitploit.com/production/public/readmes/54125/4d61d40991d73b242c8678bab66e6809eb86780eeae8f9d8dc098f607d1d8397/28635b7caf2c773ff6320ba21445d4f8e2adf32546028c2a3a754d928e335c2c-display-v1.webp" width="100px;" alt="Slava"/><br /><sub><b>Slava</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=slavugan" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Harry-Lees"><img src="https://assets.kitploit.com/production/public/readmes/54125/33499f12e7d47b28a493d52a6a4ac736f500018e266e53b571f6ff23610daa8e/31f7396f695381480e26ac0bfc7667371fc6e418a77c3e3e7f83bb7c0cb2312c-display-v1.webp" width="100px;" alt="Harry"/><br /><sub><b>Harry</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Harry-Lees" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=Harry-Lees" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/cofin"><img src="https://assets.kitploit.com/production/public/readmes/54125/6ef102acb41490655c7c9587ad7f36b6562f966dd89fc4982fb22486c1684d20/f97d2595c751f55d34a5fb0250ab84caf8f7393056949f58b28c4e753fc5ef97-display-v1.webp" width="100px;" alt="Cody Fincher"/><br /><sub><b>Cody Fincher</b></sub></a><br /><a href="#maintenance-cofin" title="Maintenance">🚧</a> <a href="https://github.com/litestar-org/litestar/commits?author=cofin" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=cofin" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=cofin" title="Tests">⚠️</a> <a href="#ideas-cofin" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-cofin" title="Examples">💡</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3Acofin" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.patreon.com/cclauss"><img src="https://assets.kitploit.com/production/public/readmes/54125/8d82b5728fc94ab53f624e2c8030ee4a2036c94f98c6da7b1d9c496eb187b102/774b146cc9cc159b7fd2300276cfb853b8413fbaeaa363d138f23c7e697d6327-display-v1.webp" width="100px;" alt="Christian Clauss"/><br /><sub><b>Christian Clauss</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=cclauss" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/josepdaniel"><img src="https://assets.kitploit.com/production/public/readmes/54125/f8d1f00190ffed5913cb3aabbb7f08dbe8f9375cdc3c701318931da057103417/f9be2313751956bef69d44e36ed66bf1564ca3ee0b6563507a60c6daead8f2af-display-v1.webp" width="100px;" alt="josepdaniel"/><br /><sub><b>josepdaniel</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=josepdaniel" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/devtud"><img src="https://assets.kitploit.com/production/public/readmes/54125/c0135f136b1a1f1c1a0640f6953a16aff2785c5effb38313b920a916742266ed/570a2960b77e4f7edef89356434ba90d6c6c722dcf14456695875273a452e0ed-display-v1.webp" width="100px;" alt="devtud"/><br /><sub><b>devtud</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/issues?q=author%3Adevtud" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nramos0"><img src="https://assets.kitploit.com/production/public/readmes/54125/5b85e16e6bfee6b545b15a661b1d66aa9304116b8df66545514d624676a8d021/9e7beafe62f0b08dca4bf4c5279a04a4c307fa658e87dfc73ee1e33b82941f8d-display-v1.webp" width="100px;" alt="Nicholas Ramos"/><br /><sub><b>Nicholas Ramos</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=nramos0" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://twitter.com/seladb"><img src="https://assets.kitploit.com/production/public/readmes/54125/2af4fa910e71cfe05fcdac37928cf9f17ad7c3185c71d253b5cb7b06d27ed1a3/b6f3ba6d554e1dbfa9bb909343782a4a05039fbbe2b7bcb72dd2650ad4ab91d8-display-v1.webp" width="100px;" alt="seladb"/><br /><sub><b>seladb</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=seladb" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=seladb" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/aedify-swi"><img src="https://assets.kitploit.com/production/public/readmes/54125/8c0872af366dc5a9851a937ec499caf05db8b6ed4c2553a9fac3d070db82674d/f3a4b6abf7ea4ae7b8ca6661fec61f5e4a1013f4ee471f0b4f38b73114af1e8f-display-v1.webp" width="100px;" alt="Simon Wienhöfer"/><br /><sub><b>Simon Wienhöfer</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=aedify-swi" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mobiusxs"><img src="https://assets.kitploit.com/production/public/readmes/54125/9537c6790725f4c569ae38dea7722e2bc489dea3556c729cfd043bf82338564e/ef1fedf62de9f5ed4a5438aea376000a95c3e15b5edfc15d380ad4841a543993-display-v1.webp" width="100px;" alt="MobiusXS"/><br /><sub><b>MobiusXS</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=mobiusxs" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://aidansimard.dev"><img src="https://assets.kitploit.com/production/public/readmes/54125/d14a554c0f827c023783d3cb807c914786e35d25f027c6270272b732a07d67f5/ef4f3e588785bc83696f79ab32a7a30c104cfe6b9a94ffc40da79ec0e9c35ce2-display-v1.webp" width="100px;" alt="Aidan Simard"/><br /><sub><b>Aidan Simard</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Aidan-Simard" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/waweber"><img src="https://assets.kitploit.com/production/public/readmes/54125/799eac68f18be48f8a3483e7653c701eba5c52c825c7062764c09c59f3ef081b/53a00939563838e56c04a538851f7d85ed576dd531760a08a39add8d450d4b9c-display-v1.webp" width="100px;" alt="wweber"/><br /><sub><b>wweber</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=waweber" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://scolvin.com"><img src="https://assets.kitploit.com/production/public/readmes/54125/bc42fe32b39302fbcf13562b19638e7e59cff31974853c51ee5cc0bb8efa4ff5/04666b66ec55df891db00d981661d6ed77977de9cef79a2a97b9d817d19d3ca7-display-v1.webp" width="100px;" alt="Samuel Colvin"/><br /><sub><b>Samuel Colvin</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=samuelcolvin" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/toudi"><img src="https://assets.kitploit.com/production/public/readmes/54125/d055bffdb1356f03cf1c705520a66954685f3fe2c5aa56724dcef05fb3fc59da/01a7f723600e146eec6240d03a03d2ef87bf46ebe119b119a1e3df532ad0f581-display-v1.webp" width="100px;" alt="Mateusz Mikołajczyk"/><br /><sub><b>Mateusz Mikołajczyk</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=toudi" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Alex-CodeLab"><img src="https://assets.kitploit.com/production/public/readmes/54125/b0e7cfded6e188e909a9c8afd217149f6f0f59ac48135787f327a0e55a8b2ba1/7878d36b0ecd8b27b7d11008af0f52b8ebce6d513faaf4294a5ba9ca9f567c81-display-v1.webp" width="100px;" alt="Alex "/><br /><sub><b>Alex </b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Alex-CodeLab" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/odiseo0"><img src="https://assets.kitploit.com/production/public/readmes/54125/407f9f7cc9b26e885eff5ddcbea4fdc5fa038d45356c05e74683a6cd97e0f46e/17bfa919793f0eb02c325f728c34b5a954947dc9f4c21585354ac05a1697525c-display-v1.webp" width="100px;" alt="Odiseo"/><br /><sub><b>Odiseo</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=odiseo0" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ingjavierpinilla"><img src="https://assets.kitploit.com/production/public/readmes/54125/b9ce53fa990a97d55ce9bee6f169f0d5f0bbe81e2fe5205e90a133032cd88e31/2eb978885808a2b1564aa994135aec297138a705dc824b18388283a1f65e6add-display-v1.webp" width="100px;" alt="Javier Pinilla"/><br /><sub><b>Javier Pinilla</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=ingjavierpinilla" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Chaoyingz"><img src="https://assets.kitploit.com/production/public/readmes/54125/3654b2d0e656d882bb46c857babf531c145da4ec1773a9c772b8a5ea341966ec/ccd0a26030990b44d19086aba69842cd082ac751a950fa7c93f04a522a611e1b-display-v1.webp" width="100px;" alt="Chaoying"/><br /><sub><b>Chaoying</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Chaoyingz" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/infohash"><img src="https://assets.kitploit.com/production/public/readmes/54125/f6b5e7f95d76b915f13f8609b584af60c01a5b2ad69e0031f6e944a5271db313/6e1d199b58013fc6a70cad8436ebaadf8b29b1b6ca70037ff990e064aaf18d12-display-v1.webp" width="100px;" alt="infohash"/><br /><sub><b>infohash</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=infohash" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/john-ingles/"><img src="https://assets.kitploit.com/production/public/readmes/54125/9e80945cab5f42788d689f76c32879ede4d1483752105b04ec9d3401f04731b1/2fc96eb80e409fb0f5def65cff12dbc8cf75c9eb6ad8525ce9c8ffaf5516e719-display-v1.webp" width="100px;" alt="John Ingles"/><br /><sub><b>John Ingles</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=john-ingles" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/h0rn3t"><img src="https://assets.kitploit.com/production/public/readmes/54125/071053a9f88579959c8e3116947dbdbf2c591e6623843e6001d315e70121fd76/a382054902c78cb33066e03dc2f923c520e40424deabba72332e9f3dc16feba2-display-v1.webp" width="100px;" alt="Eugene"/><br /><sub><b>Eugene</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=h0rn3t" title="Tests">⚠️</a> <a href="https://github.com/litestar-org/litestar/commits?author=h0rn3t" title="Code">💻</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jonadaly"><img src="https://assets.kitploit.com/production/public/readmes/54125/2b3aca23fca599c12469ea5857b1692da95409f1d13e1036b092cc3627210e42/7a5ae2f5445c667223debb63d552c71eb6d497f065b32a25c94bf019b4056372-display-v1.webp" width="100px;" alt="Jon Daly"/><br /><sub><b>Jon Daly</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=jonadaly" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=jonadaly" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://harshallaheri.me/"><img src="https://assets.kitploit.com/production/public/readmes/54125/3c7bd08c351c87f04f7f1e96b7c502d03eb4bbabd3711a8fbe0e1c3fb9c269c3/089e52b164250e79eaefdc33a26054611be3faf706fff7f203b3164c81389a35-display-v1.webp" width="100px;" alt="Harshal Laheri"/><br /><sub><b>Harshal Laheri</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=Harshal6927" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=Harshal6927" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/sorasful"><img src="https://assets.kitploit.com/production/public/readmes/54125/e157f46d2bf0ffeddd420f76470d9c368d449b2a9a4365b1efc9e654ca2321ea/270e16f701964a41c7b3571c2168dadeba26b414e91c62915e74a8539113cf5d-display-v1.webp" width="100px;" alt="Téva KRIEF"/><br /><sub><b>Téva KRIEF</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=sorasful" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jtraub"><img src="https://assets.kitploit.com/production/public/readmes/54125/26d68d19df7c59d1f6b34127f9ae6b117ebeb20b0efec63bd2f025db7c08298e/491e76647af1f081ede8f3e4573b8b59854d63623e171c55586c97a687feeeef-display-v1.webp" width="100px;" alt="Konstantin Mikhailov"/><br /><sub><b>Konstantin Mikhailov</b></sub></a><br /><a href="#maintenance-jtraub" title="Maintenance">🚧</a> <a href="https://github.com/litestar-org/litestar/commits?author=jtraub" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=jtraub" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=jtraub" title="Tests">⚠️</a> <a href="#ideas-jtraub" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-jtraub" title="Examples">💡</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3Ajtraub" title="Bug reports">🐛</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://linkedin.com/in/mitchell-henry334/"><img src="https://assets.kitploit.com/production/public/readmes/54125/3eace07ea9f88dcb5bb568453b1b53c8d79f55957196187b37e5097888f9e7d8/4b9bf9bfd301ee4e1dac9cb1905f67f99d516db19f464033b7689df0249af4af-display-v1.webp" width="100px;" alt="Mitchell Henry"/><br /><sub><b>Mitchell Henry</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=devmitch" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/chbndrhnns"><img src="https://assets.kitploit.com/production/public/readmes/54125/1a8ff0e0a6293fdb3ec02d6c890abd2764dc9e205eb52ac7e22e1c844b570ee7/4f303c19deed9a40b78b42615560ec615d655a21866d72cf953a6fbf3f1b4254-display-v1.webp" width="100px;" alt="chbndrhnns"/><br /><sub><b>chbndrhnns</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=chbndrhnns" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nielsvanhooy"><img src="https://assets.kitploit.com/production/public/readmes/54125/6f57ae6137cf78f77351821487e56fd3853e8d853a5f40cb5fd7979f8b0b7a5e/b1e40b10f75cb577e769e8a6cb11796cd6729e84fdd44c401a87d9622d71254c-display-v1.webp" width="100px;" alt="nielsvanhooy"/><br /><sub><b>nielsvanhooy</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=nielsvanhooy" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3Anielsvanhooy" title="Bug reports">🐛</a> <a href="https://github.com/litestar-org/litestar/commits?author=nielsvanhooy" title="Tests">⚠️</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/provinzkraut"><img src="https://assets.kitploit.com/production/public/readmes/54125/30f9f97c03cbdc20acc50e66245044ba71e960aac3ebe32e8a9df9e147e144f6/8a04ea0f923c34bce2790c40700b048bd6bb92a0b9efe7fbb65f138813c7b68f-display-v1.webp" width="100px;" alt="provinzkraut"/><br /><sub><b>provinzkraut</b></sub></a><br /><a href="#maintenance-provinzkraut" title="Maintenance">🚧</a> <a href="https://github.com/litestar-org/litestar/commits?author=provinzkraut" title="Code">💻</a> <a href="https://github.com/litestar-org/litestar/commits?author=provinzkraut" title="Documentation">📖</a> <a href="https://github.com/litestar-org/litestar/commits?author=provinzkraut" title="Tests">⚠️</a> <a href="#ideas-provinzkraut" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-provinzkraut" title="Examples">💡</a> <a href="https://github.com/litestar-org/litestar/issues?q=author%3Aprovinzkraut" title="Bug reports">🐛</a> <a href="#design-provinzkraut" title="Design">🎨</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jab"><img src="https://assets.kitploit.com/production/public/readmes/54125/b3f23149939f25bbbd8ff5eae26ca95b2e1c7b85d8a4bde050caa9627143eb78/73ebb63ac1c5820dd44c5a5c688e137c0bdeedc9290c5a1a8b6350099a6e80c9-display-v1.webp" width="100px;" alt="Joshua Bronson"/><br /><sub><b>Joshua Bronson</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=jab" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://linkedin.com/in/roman-reznikov"><img src="https://assets.kitploit.com/production/public/readmes/54125/fc987fa88c9684526eba83cd638453d9a16f095c2148074a0d1c07b791db2403/583b811c83fd8eb8daf43251c1b60a797f0d8aa96b5e780afe5c9f91abd68492-display-v1.webp" width="100px;" alt="Roman Reznikov"/><br /><sub><b>Roman Reznikov</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=ReznikovRoman" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://mookrs.com"><img src="https://assets.kitploit.com/production/public/readmes/54125/6a812dd51ac82f47c37bf9fe17c34f52b2e6caac09acbf126cf7438ca1cf6df2/7f8a81180b7ab8669e065528f6e7d5b5e989614f2705173795d8475d305fbbc1-display-v1.webp" width="100px;" alt="mookrs"/><br /><sub><b>mookrs</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=mookrs" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://mike.depalatis.net"><img src="https://assets.kitploit.com/production/public/readmes/54125/8aeffd009d5d563daf68d4fc3f33a06e836d7326b179d52093f6f1d7f0e419a4/55397ec632090452a1ea25ee6d353e39468dba64147db00abf9c96d71054347e-display-v1.webp" width="100px;" alt="Mike DePalatis"/><br /><sub><b>Mike DePalatis</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=mivade" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pemocarlo"><img src="https://assets.kitploit.com/production/public/readmes/54125/48a9ecccf55b3fa7657f2912f928c9356b3a96a9bac1aa1d016a945496fc6a17/fef75afa6c573bd6200c6480acf50fd5f02116d996f035fd603334c3d11decf0-display-v1.webp" width="100px;" alt="Carlos Alberto Pérez-Molano"/><br /><sub><b>Carlos Alberto Pérez-Molano</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=pemocarlo" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.bestcryptocodes.com"><img src="https://assets.kitploit.com/production/public/readmes/54125/e5f1a415e4d776bc0cc867d3555f77eee48bb688c386cf1bd8e69f423c5e0c4c/6aa060a7d18e76f5e676da579e8ba6d814900836933c7f12722c78d5f452e938-display-v1.webp" width="100px;" alt="ThinksFast"/><br /><sub><b>ThinksFast</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=ThinksFast" title="Tests">⚠️</a> <a href="https://github.com/litestar-org/litestar/commits?author=ThinksFast" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/ottermata"><img src="https://assets.kitploit.com/production/public/readmes/54125/46c30ce09312a87901d38ee4bf9d43aa2c00d91ce7051d325ffef44db3b9053c/6ff18845272a7069b7bebe9a3b282b6ac5638ca67f2e2d48f86d04488e2ea580-display-v1.webp" width="100px;" alt="Christopher Krause"/><br /><sub><b>Christopher Krause</b></sub></a><br /><a href="https://github.com/litestar-org/litestar/commits?author=ottermata" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="http<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
Ce projet suit la spécification [all-contributors](https://github.com/all-contributors/all-contributors).
Toutes les contributions, quel qu'en soit le type, sont les bienvenues !
</details>
<!-- contributors-end -->