SQLAlchemy support for aiohttp.

Overview

aiohttp-sqlalchemy

Read The Docs build Release PyPI downloads count Python version support MIT License GitHub continuous integration codecov.io status for master branch Codacy

SQLAlchemy 1.4 / 2.0 support for AIOHTTP.

The library provides the next features:

  • initializing asynchronous sessions through a middlewares;
  • initializing asynchronous sessions through a decorators;
  • simple access to one asynchronous session by default key;
  • preventing attributes from being expired after commit by default;
  • support different types of request handlers;
  • support nested applications.

Documentation

https://aiohttp-sqlalchemy.readthedocs.io

Installation

pip install aiohttp-sqlalchemy

Simple example

Install aiosqlite for work with sqlite3:

pip install aiosqlite

Copy and paste this code in a file and run:

from datetime import datetime

import sqlalchemy as sa
from aiohttp import web
from sqlalchemy import orm

import aiohttp_sqlalchemy as ahsa

metadata = sa.MetaData()
Base = orm.declarative_base(metadata=metadata)


class MyModel(Base):
    __tablename__ = 'my_table'

    pk = sa.Column(sa.Integer, primary_key=True)
    timestamp = sa.Column(sa.DateTime(), default=datetime.now)


async def main(request):
    sa_session = ahsa.get_session(request)

    async with sa_session.begin():
        sa_session.add(MyModel())
        result = await sa_session.execute(sa.select(MyModel))
        result = result.scalars()

    data = {
        instance.pk: instance.timestamp.isoformat()
        for instance in result
    }
    return web.json_response(data)


async def app_factory():
    app = web.Application()

    ahsa.setup(app, [
        ahsa.bind('sqlite+aiosqlite:///'),
    ])
    await ahsa.init_db(app, metadata)

    app.add_routes([web.get('/', main)])
    return app


if __name__ == '__main__':
    web.run_app(app_factory())
Comments
  • Bump sphinx from 4.0.3 to 4.1.0

    Bump sphinx from 4.0.3 to 4.1.0

    Bumps sphinx from 4.0.3 to 4.1.0.

    Changelog

    Sourced from sphinx's changelog.

    Release 4.1.0 (released Jul 12, 2021)

    Dependencies

    • Support jinja2-3.0

    Deprecated

    • The app argument of sphinx.environment.BuildEnvironment becomes required
    • sphinx.application.Sphinx.html_theme
    • sphinx.ext.autosummary._app
    • sphinx.util.docstrings.extract_metadata()

    Features added

    • #8107: autodoc: Add class-doc-from option to :rst:dir:autoclass directive to control the content of the specific class like :confval:autoclass_content
    • #8588: autodoc: :confval:autodoc_type_aliases now supports dotted name. It allows you to define an alias for a class with module name like foo.bar.BazClass
    • #9175: autodoc: Special member is not documented in the module
    • #9195: autodoc: The arguments of typing.Literal are wrongly rendered
    • #9185: autodoc: :confval:autodoc_typehints allows 'both' setting to allow typehints to be included both in the signature and description
    • #4257: autodoc: Add :confval:autodoc_class_signature to separate the class entry and the definition of __init__() method
    • #8061, #9218: autodoc: Support variable comment for alias classes
    • #3014: autodoc: Add :event:autodoc-process-bases to modify the base classes of the class definitions
    • #9272: autodoc: Render enum values for the default argument value better
    • #9384: autodoc: autodoc_typehints='none' now erases typehints for variables, attributes and properties
    • #3257: autosummary: Support instance attributes for classes
    • #9358: html: Add "heading" role to the toctree items
    • #9225: html: Add span tag to the return typehint of method/function
    • #9129: html search: Show search summaries when html_copy_source = False
    • #9307: html search: Prevent corrections and completions in search field
    • #9120: html theme: Eliminate prompt characters of code-block from copyable text
    • #9176: i18n: Emit a debug message if message catalog file not found under :confval:locale_dirs
    • #9414: LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents
    • #9016: linkcheck: Support checking anchors on github.com
    • #9016: linkcheck: Add a new event :event:linkcheck-process-uri to modify

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump isort from 5.9.1 to 5.9.2

    Bump isort from 5.9.1 to 5.9.2

    Bumps isort from 5.9.1 to 5.9.2.

    Release notes

    Sourced from isort's releases.

    5.9.2 July 8th 2021

    • Improved behavior of isort --check --atomic against Cython files.
    • Fixed #1769: Future imports added below assignments when no other imports present.
    • Fixed #1772: skip-gitignore will check files not in the git repository.
    • Fixed #1762: in some cases when skip-gitignore is set, isort fails to skip any files.
    • Fixed #1767: Encoding issues surfacing when invalid characters set in __init__.py files during placement.
    • Fixed #1771: Improved handling of skips against named streamed in content.
    Changelog

    Sourced from isort's changelog.

    5.9.2 July 8th 2021

    • Improved behavior of isort --check --atomic against Cython files.
    • Fixed #1769: Future imports added below assignments when no other imports present.
    • Fixed #1772: skip-gitignore will check files not in the git repository.
    • Fixed #1762: in some cases when skip-gitignore is set, isort fails to skip any files.
    • Fixed #1767: Encoding issues surfacing when invalid characters set in __init__.py files during placement.
    • Fixed #1771: Improved handling of skips against named streamed in content.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  •  The aiohttp-sqlalchemy is not tagged with

    The aiohttp-sqlalchemy is not tagged with "Framework :: Aiohttp" classifier on Pypi

    Hello,

    A MR on the pypa repository to add the classifier "Framework :: Aiohttp" is opened.

    The PyPI moderators ask to have 10 (or more) other project maintainers submit comments on the requesting issue about their desire to use the "Framework :: Aiohttp" classifier on their already-published project.

    Please could you add a comment with a link to your package on pypi:

    https://github.com/pypa/trove-classifiers/issues/54

    Thanks

    opened by Maillol 1
  • Bump sphinx from 4.0.2 to 4.0.3

    Bump sphinx from 4.0.2 to 4.0.3

    Bumps sphinx from 4.0.2 to 4.0.3.

    Changelog

    Sourced from sphinx's changelog.

    Release 4.0.3 (released Jul 05, 2021)

    Features added

    • C, add C23 keywords _Decimal32, _Decimal64, and _Decimal128.
    • #9354: C, add :confval:c_extra_keywords to allow user-defined keywords during parsing.
    • Revert the removal of sphinx.util:force_decode() to become some 3rd party extensions available again during 5.0

    Bugs fixed

    • #9330: changeset domain: :rst:dir:versionchanged with contents being a list will cause error during pdf build
    • #9313: LaTeX: complex table with merged cells broken since 4.0
    • #9305: LaTeX: backslash may cause Improper discretionary list pdf build error with Japanese engines
    • #9354: C, remove special macro names from the keyword list. See also :confval:c_extra_keywords.
    • #9322: KeyError is raised on PropagateDescDomain transform
    Commits
    • 007795d Bump to 4.0.3 final
    • 779d902 Merge pull request #9326 from tk0miya/rebirth_of_force_decode
    • a1994ac Merge branch '4.0.x' into rebirth_of_force_decode
    • 723ad78 Merge pull request #9334 from tk0miya/9322_KeyError_from_PropageteDescDomain
    • 072cdf2 Merge branch '4.0.x' into 9322_KeyError_from_PropageteDescDomain
    • df5764d Merge pull request #9356 from jakobandersen/c_extra_keywords
    • 50f5280 C, keyword changes
    • 8939a75 Merge pull request #9335 from jfbu/9305_platex_backslash_upquote
    • ef9b55c Fix #9305 LaTeX: backslash in sphinxupquote error with Japanese
    • 7673cd6 Merge pull request #9333 from tk0miya/9330_versionchanged_breaks_list
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sqlalchemy from 1.4.19 to 1.4.20

    Bump sqlalchemy from 1.4.19 to 1.4.20

    Bumps sqlalchemy from 1.4.19 to 1.4.20.

    Release notes

    Sourced from sqlalchemy's releases.

    1.4.20

    Released: June 28, 2021

    orm

    • [orm] [bug] [regression] Fixed regression in ORM regarding an internal reconstitution step for the _orm.with_polymorphic() construct, when the user-facing object is garbage collected as the query is processed. The reconstitution was not ensuring the sub-entities for the "polymorphic" case were handled, leading to an AttributeError.

      References: #6680

    • [orm] [bug] [regression] Adjusted _orm.Query.union() and similar set operations to be correctly compatible with the new capabilities just added in #6661, with SQLAlchemy 1.4.19, such that the SELECT statements rendered as elements of the UNION or other set operation will include directly mapped columns that are mapped as deferred; this both fixes a regression involving unions with multiple levels of nesting that would produce a column mismatch, and also allows the _orm.undefer() option to be used at the top level of such a _orm.Query without having to apply the option to each of the elements within the UNION.

      References: #6678

    • [orm] [bug] Adjusted the check in the mapper for a callable object that is used as a @validates validator function or a @reconstructor reconstruction function, to check for "callable" more liberally such as to accommodate objects based on fundamental attributes like __func__ and __call___, rather than testing for MethodType / FunctionType, allowing things like cython functions to work properly. Pull request courtesy Miłosz Stypiński.

      References: #6538

    engine

    • [engine] [bug] Fixed an issue in the C extension for the _result.Row class which could lead to a memory leak in the unlikely case of a _result.Row object which referred to an ORM object that then was mutated to refer back to the Row itself, creating a cycle. The Python C APIs for tracking GC cycles has been added to the native _result.Row implementation to accommodate for this case.

      References: #5348

    • [engine] [bug] Fixed old issue where a _sql.select() made against the token "*",

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sqlalchemy from 1.4.18 to 1.4.19

    Bump sqlalchemy from 1.4.18 to 1.4.19

    Bumps sqlalchemy from 1.4.18 to 1.4.19.

    Release notes

    Sourced from sqlalchemy's releases.

    1.4.19

    Released: June 22, 2021

    orm

    • [orm] [bug] [regression] Fixed further regressions in the same area as that of #6052 where loader options as well as invocations of methods like _orm.Query.join() would fail if the left side of the statement for which the option/join depends upon were replaced by using the _orm.Query.with_entities() method, or when using 2.0 style queries when using the _sql.Select.with_only_columns() method. A new set of state has been added to the objects which tracks the "left" entities that the options / join were made against which is memoized when the lead entities are changed.

      References: #6253, #6503

    • [orm] [bug] Refined the behavior of ORM subquery rendering with regards to deferred columns and column properties to be more compatible with that of 1.3 while also providing for 1.4's newer features. As a subquery in 1.4 does not make use of loader options, including _orm.undefer(), a subquery that is against an ORM entity with deferred attributes will now render those deferred attributes that refer directly to mapped table columns, as these are needed in the outer SELECT if that outer SELECT makes use of these columns; however a deferred attribute that refers to a composed SQL expression as we normally do with _orm.column_property() will not be part of the subquery, as these can be selected explicitly if needed in the subquery. If the entity is being SELECTed from this subquery, the column expression can still render on "the outside" in terms of the derived subquery columns. This produces essentially the same behavior as when working with 1.3. However in this case the fix has to also make sure that the .selected_columns collection of an ORM-enabled _sql.select() also follows these rules, which in particular allows recursive CTEs to render correctly in this scenario, which were previously failing to render correctly due to this issue.

      References: #6661

    sql

    • [sql] [bug] Fixed issue in CTE constructs mostly relevant to ORM use cases where a recursive CTE against "anonymous" labels such as those seen in ORM column_property() mappings would render in the WITH RECURSIVE xyz(...) section as their raw internal label and not a cleanly anonymized name.

      References: #6663

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump sqlalchemy from 1.4.17 to 1.4.18

    Bump sqlalchemy from 1.4.17 to 1.4.18

    Bumps sqlalchemy from 1.4.17 to 1.4.18.

    Release notes

    Sourced from sqlalchemy's releases.

    1.4.18

    Released: June 10, 2021

    orm

    • [orm] [performance] [bug] [regression] Fixed regression involving how the ORM would resolve a given mapped column to a result row, where under cases such as joined eager loading, a slightly more expensive "fallback" could take place to set up this resolution due to some logic that was removed since 1.3. The issue could also cause deprecation warnings involving column resolution to be emitted when using a 1.4 style query with joined eager loading.

      References: #6596

    • [orm] [bug] Clarified the current purpose of the _orm.relationship.bake_queries flag, which in 1.4 is to enable or disable "lambda caching" of statements within the "lazyload" and "selectinload" loader strategies; this is separate from the more foundational SQL query cache that is used for most statements. Additionally, the lazy loader no longer uses its own cache for many-to-one SQL queries, which was an implementation quirk that doesn't exist for any other loader scenario. Finally, the "lru cache" warning that the lazyloader and selectinloader strategies could emit when handling a wide array of class/relationship combinations has been removed; based on analysis of some end-user cases, this warning doesn't suggest any significant issue. While setting bake_queries=False for such a relationship will remove this cache from being used, there's no particular performance gain in this case as using no caching vs. using a cache that needs to refresh often likely still wins out on the caching being used side.

      References: #6072, #6487

    • [orm] [bug] [regression] Adjusted the means by which classes such as _orm.scoped_session and _asyncio.AsyncSession are generated from the base _orm.Session class, such that custom _orm.Session subclasses such as that used by Flask-SQLAlchemy don't need to implement positional arguments when they call into the superclass method, and can continue using the same argument styles as in previous releases.

      References: #6285

    • [orm] [bug] [regression] Fixed issue where query production for joinedload against a complex left hand side involving joined-table inheritance could fail to produce a correct query, due to a clause adaption issue.

      References: #6595

    • [orm] [bug] Fixed issue in experimental "select ORM objects from INSERT/UPDATE" use

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump mypy from 0.901 to 0.902

    Bump mypy from 0.901 to 0.902

    Bumps mypy from 0.901 to 0.902.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Adds SQLAlchemy support to Flask

Flask-SQLAlchemy Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It aims to simplify using SQLAlchemy

The Pallets Projects 3.9k Jan 9, 2023
A curated list of awesome tools for SQLAlchemy

Awesome SQLAlchemy A curated list of awesome extra libraries and resources for SQLAlchemy. Inspired by awesome-python. (See also other awesome lists!)

Hong Minhee (洪 民憙) 2.5k Dec 31, 2022
Global base classes for Pyramid SQLAlchemy applications.

pyramid_basemodel pyramid_basemodel is a thin, low level package that provides an SQLAlchemy declarative Base and a thread local scoped Session that c

Grzegorz Śliwiński 15 Jan 3, 2023
Sqlalchemy seeder that supports nested relationships.

sqlalchemyseed Sqlalchemy seeder that supports nested relationships. Supported file types json yaml csv Installation Default installation pip install

Jedy Matt Tabasco 10 Aug 13, 2022
Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.

dataset: databases for lazy people In short, dataset makes reading and writing data in databases as simple as reading and writing JSON files. Read the

Friedrich Lindenberg 4.2k Dec 26, 2022
MongoEngine flask extension with WTF model forms support

Flask-MongoEngine Info: MongoEngine for Flask web applications. Repository: https://github.com/MongoEngine/flask-mongoengine About Flask-MongoEngine i

MongoEngine 815 Jan 3, 2023
Pydantic model support for Django ORM

Pydantic model support for Django ORM

Jordan Eremieff 318 Jan 3, 2023
The ormar package is an async mini ORM for Python, with support for Postgres, MySQL, and SQLite.

python async mini orm with fastapi in mind and pydantic validation

null 1.2k Jan 5, 2023
tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.

tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine. You can take a look at the Tartiflette API documentation. U

tartiflette 60 Nov 8, 2022
tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.

tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine. You can take a look at the Tartiflette API documentation. U

tartiflette 60 Nov 8, 2022
aiohttp admin is generator for admin interface based on aiohttp

aiohttp admin is generator for admin interface based on aiohttp

Mykhailo Havelia 17 Nov 16, 2022
aiohttp-ratelimiter is a rate limiter for the aiohttp.web framework.

aiohttp-ratelimiter aiohttp-ratelimiter is a rate limiter for the aiohttp.web fr

JGL Technologies 4 Dec 11, 2022
Aiohttp-openmetrics - OpenMetrics endpoint provider for aiohttp

aiohttp-openmetrics This project contains a simple middleware and /metrics route

Jelmer Vernooij 1 Dec 15, 2022
A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.

webargs Homepage: https://webargs.readthedocs.io/ webargs is a Python library for parsing and validating HTTP request objects, with built-in support f

marshmallow-code 1.3k Jan 1, 2023
PEP-484 typing stubs for SQLAlchemy 1.4 and SQLAlchemy 2.0

SQLAlchemy 2 Stubs These are PEP-484 typing stubs for SQLAlchemy 1.4 and 2.0. They are released concurrently along with a Mypy extension which is desi

SQLAlchemy 139 Dec 30, 2022
Sqlalchemy-databricks - SQLAlchemy dialect for Databricks

sqlalchemy-databricks A SQLAlchemy Dialect for Databricks using the officially s

Flynn 19 Nov 3, 2022
Adds SQLAlchemy support to Flask

Flask-SQLAlchemy Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It aims to simplify using SQLAlchemy

The Pallets Projects 3.9k Dec 29, 2022
Adds simple SQLAlchemy support to FastAPI

FastAPI-SQLAlchemy FastAPI-SQLAlchemy provides a simple integration between FastAPI and SQLAlchemy in your application. It gives access to useful help

Michael Freeborn 465 Jan 7, 2023
Adds SQLAlchemy support to Flask

Flask-SQLAlchemy Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It aims to simplify using SQLAlchemy

The Pallets Projects 3.9k Jan 9, 2023
cirrina is an opinionated asynchronous web framework based on aiohttp

cirrina cirrina is an opinionated asynchronous web framework based on aiohttp. Features: HTTP Server Websocket Server JSON RPC Server Shared sessions

André Roth 32 Mar 5, 2022