The Python micro framework for building web applications.

Overview

Flask

Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks.

Flask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy.

Installing

Install and update using pip:

$ pip install -U Flask

A Simple Example

# save this as app.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"
$ flask run
  * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Contributing

For guidance on setting up a development environment and how to make a contribution to Flask, see the contributing guidelines.

Donate

The Pallets organization develops and supports Flask and the libraries it uses. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, please donate today.

Links

Comments
  • Method `render_template` does not use blueprint specified `template_folder`

    Method `render_template` does not use blueprint specified `template_folder`

    1. File structure:
    project -
          - templates \
                    - a \
                          search.html
                    - b \
                          search.html
          - start.py
          - myapplication \
                    - test.py 
    
    1. Start file:
    # start.py
    from flask import Flask
    from myapplication.test import test_blueprint
    
    app = Flask(__name__)
    app.register_blueprint(test_blueprint)
    
    1. my application
    # test.py
    from flask import Blueprint, render_template, abort
    from jinja2 import TemplateNotFound
    
    test_blueprint = Blueprint('test_blueprint', __name__,
                            template_folder='absolute_path_to_project/templates/a')  
                            # YES, I specified the absolute path to the template a
    
    @test_blueprint.route('/test')
    def show():
        try:
            return render_template(''search.html") # HERE is the problem
        except TemplateNotFound:
            abort(404)
    

    Is this a problem? # Actually, I want to render a/search.html # But, render_template() does not use test_blueprint's template_folder # render_template() search the template list, find the first search.html, then render # So, maybe render a/search.html or b/search.html # This depend on the sequence of the template list

    blueprints 
    opened by Kevin922 57
  • What is the release schedule for 1.0?

    What is the release schedule for 1.0?

    What are the plans for the 1.0 release. This was brought up last year and there hasn't been any announcements since then. What progress is being made and what still remains?

    opened by lipis 46
  • BUG in

    BUG in "send_file" and "send_from_directory"

    L496 in helpers.py If i use flask as a package instead of a module, I want to expose a file which is not in package. checks in send_from_directory will be passed because of rel path. However, in send_file, added abs folder, it occur an error.

    bug 
    opened by baisk 40
  • allow using alternative json library

    allow using alternative json library

    It looks like flask.json does not allow the user to specify an alternative json library (such as rapidjson). Instead it just does this:

    try:
        from itsdangerous import simplejson as _json
    except ImportError:
        from itsdangerous import json as _json
    

    This currently un-overridable behavior also means that, due to differences in when default(..) is called between simplejson and json, bugs can mysteriously appear when simplejson is installed that didn't appear without it.

    Would you consider giving the user some control over which json library is used?

    json 
    opened by jab 39
  • send_file fails when filename contains unicode symbols

    send_file fails when filename contains unicode symbols

    Hi.

    I've detected an issue with supporting unicode filenames in send_file. If send_file attempts to respond with utf-8 in http headers, the answer is empty, the log contains something like "http-headers should containbe latin-1". I know that browser support IS A MESS, but it seems, that sending two filenames (filename= and filename*=) separated by semicolon should work.

    I'd like this to be handled by flask or werkzeug. Will you accept such pull request?

    opened by georgthegreat 38
  • host_matching is in Werkzeug since 0.7 but not in Flask

    host_matching is in Werkzeug since 0.7 but not in Flask

    having 'example.com' and 'example.org' running on the same server with the same data backend I thought it would be simple to serve both from a single Flask app, especially since Werkzeug has host_matching but it isn't.

    I currently workaround this by 'injecting' hostname into urls with nginx's url rewrites but this is a bit too hackish, you know.

    I would like to have syntax like this:

    @app.route("/", host="example.org")
    def hello():
        return "Hello World!"
    
    opened by constb 37
  • Message Flashing's implementation is broken and should be removed anyway

    Message Flashing's implementation is broken and should be removed anyway

    Message flashing as implemented in Flask is currently broken, under certain conditions it's possible for messages to be flashed to the wrong tab or in extreme cases the wrong device/browser.

    A correct implementation would require functionality beyond Flask's scope, message flashing itself is arguably beyond Flask's scope already.

    Why not make a piss-poor user account system that exists solely in session cookies? It seems like the same logic behind Flask's message flashing functionality.

    opened by mcilrain 35
  • Incomplete mod_wsgi documentation

    Incomplete mod_wsgi documentation

    I have been having issues for 3-4 days now to get a hello world up and running on the remote server. I figured out that it would be nice if there was a documentation from A-Z how to get that done and working.

    http://flask.pocoo.org/docs/deploying/mod_wsgi/

    The current documentation does not provide an example what to put into an exact python file, and what url to open up in the web browser to get the desired python module running on the remote server. It is okay to have references to other places if that is more logical, but the idea is to have a self-contained page which I can start reading, and by I reach the end, I will have a working remote hello world.

    This would be well appreciated.

    opened by lpapp 35
  • Add `async` support

    Add `async` support

    This will require Python 2 support to be dropped, which as I understand isn't likely to happen till 2020. Which is a bonus as it gives time to consider this change and the implications of it. (I also need to spend some time cleaning up this implementation, yet it serves as a proof of concept).

    I've written this blog post to add some extra context, but I see a key aspect to this change is that whilst it adds async support it does not do so throughout and specifically does not support ASGI. This means that Flask is constrained (when using async) to have worse performance than the ASGI equivalents. This is necessary as I don't think Flask can be async throughout (or support ASGI) whilst being backwards compatible. Yet this change is good overall, in that users would be able to add some async usage to their existing codebases. I would also like to note that they can switch to Quart if their usage becomes mostly async.

    This allows for async functions to be passed to the Flask class instance, for example as a view function,

    @app.route("/")
    async def index():
        return "Async hello"
    

    this comes with a cost though of poorer performance than using the sync equivalent.

    async 
    opened by pgjones 34
  • Nestable blueprints

    Nestable blueprints

    I'd like to be able to register "sub-blueprints" using Blueprint.register_blueprint(*args, **kwargs). This would register the nested blueprints with an app when the "parent" is registered with it. All parameters are preserved, other than url_prefix, which is handled similarly to in add_url_rule. A naíve implementation could look like this:

    class Blueprint(object):
        ...
    
        def register_blueprint(self, blueprint, **options):
            def deferred(state):
                url_prefix = options.get('url_prefix')
                if url_prefix is None:
                    url_prefix = blueprint.url_prefix
                if 'url_prefix' in options:
                    del options['url_prefix']
    
                state.app.register_blueprint(blueprint, url_prefix, **options)
            self.record(deferred)
    
    blueprints 
    opened by teozkr 33
  • Flask Multi-Server Development Hooks

    Flask Multi-Server Development Hooks

    I don't have a good description for the issue yet but one of the issues I keep running into myself in 2017 is that it's not convenient to marry Flask and webpack. The issue here is that one wants to both have a server app as well as a client app and each uses a hot reloader for code.

    There is a lot of boilerplate to make two services work and there is absolutely no support on the side of Flask to make it work. So here is what Flask most likely should do:

    Environment Awareness

    Flask needs to know about environments. For now I would propose to mirror the node model where we have an environment flag and depending on the environment flag some flags get flipped automatically. In development for instance we would turn on debug by default. This discourages apps to make too many assumptions about the debug flag but instead use an environment flag instead.

    This means debug can be flipped on and off in development mode. A potential webpack integration extension can then forward that flag to webpack.

    Proxy or be-proxied Capabilities

    Right now one either needs front/backend to be running different servers on different ports or use some manual proxy setup to make this work. Right now the webpack server can pass through to the Flask server but it's quite hacky and non trivial.

    In an ideal case Flask in development mode can spawn another process (like a webpack server, ngrok etc.) and manage this process. It would work independently of the Flask reloader but shut down together.

    If it spawns a process on a different port Flask should itself be proxied through that other server or proxy to another server if that's easier. This would most likely require that the Werkzeug server learns HTTP proxying as we might not be able to do this on the WSGI level.

    opened by mitsuhiko 31
  • Bump dessant/lock-threads from 3 to 4

    Bump dessant/lock-threads from 3 to 4

    Bumps dessant/lock-threads from 3 to 4.

    Release notes

    Sourced from dessant/lock-threads's releases.

    v4.0.0

    Learn more about this release from the changelog.

    Changelog

    Sourced from dessant/lock-threads's changelog.

    4.0.0 (2022-12-04)

    ⚠ BREAKING CHANGES

    • the action now requires Node.js 16

    Bug Fixes

    3.0.0 (2021-09-27)

    ⚠ BREAKING CHANGES

    • input parameter names have changed

      Rename the following input parameters when upgrading from v2 to v3:

      • issue-lock-inactive-days --> issue-inactive-days
      • issue-exclude-created-before --> exclude-issue-created-before
      • issue-exclude-labels --> exclude-any-issue-labels
      • issue-lock-labels --> add-issue-labels
      • issue-lock-comment --> issue-comment
      • pr-lock-inactive-days --> pr-inactive-days
      • pr-exclude-created-before --> exclude-pr-created-before
      • pr-exclude-labels --> exclude-any-pr-labels
      • pr-lock-labels --> add-pr-labels
      • pr-lock-comment --> pr-comment

    Features

    • add new filtering and labeling options, update input parameter names (26fd836)
    • allow manual triggering (a0c7da3)

    2.1.2 (2021-08-17)

    Bug Fixes

    • ignore error when commenting on issue converted to discussion (60d2a1a), closes #24

    2.1.1 (2021-07-09)

    Bug Fixes

    • update GitHub API calls (a3ccc71)

    ... (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 github_actions 
    opened by dependabot[bot] 0
  • Type of SessionMixin underspecified, flask.session.get() fails strict type-check

    Type of SessionMixin underspecified, flask.session.get() fails strict type-check

    To reproduce:

    from flask import session
    
    session.get("foo")
    

    Produces a pyright/Pylance error in VSCode in strict typing mode:

    Type of "get" is partially unknown
      Type of "get" is "Overload[(__key: Unknown, /) -> (Unknown | None), (__key: Unknown, /, default: Unknown | [email protected]) -> (Unknown | [email protected])]"Pylance[reportUnknownMemberType]
    

    mypy --strict doesn't seem to mind, but it also accepts session.get({"a": 7}) without complaint, so perhaps not a good measure.

    Changing the offending line like this fixes the problem:

    cast(MutableMapping[str, Any], session).get("foo")
    

    Based on this observation I changing this line in the SessionMixin declaration, which also fixes the problem: https://github.com/pallets/flask/blob/main/src/flask/sessions.py#L21

    # --- from ---
    class SessionMixin(MutableMapping):
    
    # --- to ---
    class SessionMixin(MutableMapping[t.Hashable, t.Any]):
    

    I'm not sure if I've gotten those types exactly right, I believe they are the broadest possible types, but perhaps keys are limited to str or values could be narrowed.

    Happy to submit a pull request if that's a help. Thanks so much for Flask, it is an immensely important contribution to the Python ecosystem I make my living in :)

    Environment:

    • Python version: 3.10.7
    • Flask version: 2.2.2
    typing 
    opened by scanny 1
  • docs should explain the `@setupmethod` behavior

    docs should explain the `@setupmethod` behavior

    The appcontext documentation should explain the new @setupmethod 'shell_context_process' behavior, linked to https://github.com/pallets/flask/pull/4577.

    Flask raises an Assertion Error.

    AssertionError: The setup method 'shell_context_processor' can no longer be called on the application. It has already handled its first request, any changes will not be applied consistently. Make sure all imports, decorators, functions, etc. needed to set up the application are done before running it.

    The error should be documented, and a correct implementation should be provided.

    docs 
    opened by HLFH 1
  • Fix subdomain inheritance for nested blueprints.

    Fix subdomain inheritance for nested blueprints.

    When child blueprints are mounted onto parents, they don't inherit the subdomain set by the parent.

    This PR ensures that routes in child blueprint will be available at the same subdomain set by the parent.

    However, children can also specify their own subdomain if necessary.

    • fixes #4834

    Checklist:

    • [x] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
    • [x] Add or update relevant docs, in the docs folder and in code.
    • [x] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
    • [x] Add .. versionchanged:: entries in any relevant code docs.
    • [x] Run pre-commit hooks and fix any issues.
    • [x] Run pytest and tox, no tests failed.
    opened by confuzeus 0
  • Celery Background Tasks: Property

    Celery Background Tasks: Property "Task" defined in "Celery" is read-only

    Currently, the documentation says to replace celery.Task with a custom ContextTask. But this raises an error using mypy:

    $ cat minimal.py 
    from flask import Flask
    from celery import Celery, Task
    
    def make_celery(app: Flask):
        celery = Celery(app.import_name)
        celery.conf.update(app.config["CELERY_CONFIG"])
    
        class ContextTask(Task):
            def __call__(self, *args, **kwargs):
                with app.app_context():
                    return self.run(*args, **kwargs)
    
        celery.Task = ContextTask
        return celery
    $ mypy minimal.py
    minimal.py:13: error: Property "Task" defined in "Celery" is read-only
    minimal.py:13: error: Incompatible types in assignment (expression has type "Type[ContextTask]", variable has type "Task[Any]")
    

    Instead one should initialize Celery with a string of the desired Task class. See Celery docs.

    $ cat minimal.py 
    from flask import Flask
    from celery import Celery, Task
    
    
    class ContextTask(Task):
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return self.run(*args, **kwargs)
    
    
    def make_celery(app: Flask):
        celery = Celery(app.import_name, task_cls="minimal.minimal:ContextTask")
        celery.conf.update(app.config["CELERY_CONFIG"])
    
        return celery
    $ mypy minimal.py
    Success: no issues found in 1 source file
    
    docs 
    opened by sr-verde 0
Releases(2.2.2)
  • 2.2.2(Aug 8, 2022)

    This is a fix release for the 2.2.0 feature release.

    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-1
    • Milestone: https://github.com/pallets/flask/milestone/25?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Aug 3, 2022)

    This is a fix release for the 2.2.0 feature release.

    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-1
    • Milestone: https://github.com/pallets/flask/milestone/23?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Aug 2, 2022)

    This is a feature release, which includes new features and removes previously deprecated code. The 2.2.x branch is now the supported bug fix branch, the 2.1.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.

    • Changes: https://flask.palletsprojects.com/en/2.2.x/changes/#version-2-2-0
    • Milestone: https://github.com/pallets/flask/milestone/19?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.1.3(Jul 13, 2022)

    • Changes: https://flask.palletsprojects.com/en/2.1.x/changes/#version-2-1-3
    • Milestone: https://github.com/pallets/flask/milestone/22?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.1.2(Apr 28, 2022)

    This is a fix release for the 2.1.0 feature release.

    • Changes: https://flask.palletsprojects.com/en/2.1.x/changes/#version-2-1-2
    • Milestone: https://github.com/pallets/flask/milestone/21?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Mar 30, 2022)

    This is a fix release for the 2.1.0 feature release.

    • Changes: https://flask.palletsprojects.com/en/2.1.x/changes/#version-2-1-1
    • Milestone: https://github.com/pallets/flask/milestone/18?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Mar 28, 2022)

    This is a feature release, which includes new features and removes previously deprecated features. The 2.1.x branch is now the supported bugfix branch, the 2.0.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.

    • Changes: https://flask.palletsprojects.com/en/2.1.x/changes/#version-2-1-0
    • Milestone: https://github.com/pallets/flask/milestone/13?closed=1

    We also encourage upgrading to the latest versions of the other Pallets projects as well.

    • Werkzeug 2.1 changes: https://werkzeug.palletsprojects.com/en/2.1.x/changes/#version-2-1-0
    • Jinja 3.1 changes: https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-1
    • Click 8.1 changes: https://click.palletsprojects.com/en/8.1.x/changes/#version-8-1-0
    • MarkupSafe 2.1 changes: https://markupsafe.palletsprojects.com/en/2.1.x/changes/#version-2-1-1
    • ItsDangerous 2.1 changes: https://itsdangerous.palletsprojects.com/en/2.1.x/changes/#version-2-1-2
    Source code(tar.gz)
    Source code(zip)
  • 2.0.3(Feb 14, 2022)

    • Changes: https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-3
    • Milestone: https://github.com/pallets/flask/milestone/17?closed=1
    Source code(tar.gz)
    Source code(zip)
  • 2.0.2(Oct 4, 2021)

  • 2.0.1(May 21, 2021)

  • 2.0.0(May 12, 2021)

    New major versions of all the core Pallets libraries, including Flask 2.0, have been released! :tada:

    • Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
    • Read the full list of changes: https://flask.palletsprojects.com/changes/#version-2-0-0
    • Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
    • Follow our blog, Twitter, or GitHub to see future announcements.

    This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0rc2(May 3, 2021)

  • 2.0.0rc1(Apr 16, 2021)

  • 1.1.2(Apr 3, 2020)

    1.1.x is the last version to support Python 2.7 and Python 3.5. It also contains deprecation warnings for code that will be removed in 2.0. Please pay attention to deprecation warnings in your project!

    This release contains a couple bug fixes.

    • Changelog: https://flask.palletsprojects.com/en/1.1.x/changelog/#version-1-1-2
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Jul 9, 2019)

  • 1.1.0(Jul 9, 2019)

  • 1.0.4(Jul 9, 2019)

  • 1.0.3(Jul 9, 2019)

  • 1.0.2(May 2, 2018)

  • 1.0.1(Apr 30, 2018)

  • 0.12.4(Apr 30, 2018)

  • 1.0(Apr 26, 2018)

    The Pallets team is pleased to release Flask 1.0. [Read the announcement on our blog.](https://www.palletsprojects.com/blog/flask-1-0-released/

    There are over a year's worth of changes in this release. Many features have been improved or changed. Read the changelog to understand how your project's code will be affected.

    JSON Security Fix

    Flask previously decoded incoming JSON bytes using the content type of the request. Although JSON should only be encoded as UTF-8, Flask was more lenient. However, Python includes non-text related encodings that could result in unexpected memory use by a request.

    Flask will now detect the encoding of incoming JSON data as one of the supported UTF encodings, and will not allow arbitrary encodings from the request.

    Install or Upgrade

    Install from PyPI with pip:

    pip install -U Flask
    
    Source code(tar.gz)
    Source code(zip)
    Flask-1.0-py2.py3-none-any.whl(95.49 KB)
    Flask-1.0-py2.py3-none-any.whl.asc(488 bytes)
    Flask-1.0.tar.gz(628.36 KB)
    Flask-1.0.tar.gz.asc(488 bytes)
  • 0.12.3(Apr 26, 2018)

    This release includes an important security fix for JSON and a minor backport for CLI support in PyCharm. It is provided for projects that cannot update to Flask 1.0 immediately. See the 1.0 announcement and update to it instead if possible.

    JSON Security Fix

    Flask previously decoded incoming JSON bytes using the content type of the request. Although JSON should only be encoded as UTF-8, Flask was more lenient. However, Python includes non-text related encodings that could result in unexpected memory use by a request.

    Flask will now detect the encoding of incoming JSON data as one of the supported UTF encodings, and will not allow arbitrary encodings from the request.

    Upgrade

    Upgrade from PyPI with pip. Use a version identifier if you want to stay at 0.12:

    pip install -U 'Flask~=0.12.3'
    

    Or upgrade to 1.0:

    pip install -U Flask
    
    Source code(tar.gz)
    Source code(zip)
    Flask-0.12.3-py2.py3-none-any.whl(86.29 KB)
    Flask-0.12.3-py2.py3-none-any.whl.asc(488 bytes)
    Flask-0.12.3.tar.gz(518.92 KB)
    Flask-0.12.3.tar.gz.asc(488 bytes)
A python application to log QSOs directly to QRZ.com from the command line

qrzlogger This script is a QRZ.com command line QSO logger. It does the following: asks the user for a call sign displays available call sign info pul

Michael Clemens 15 Jul 16, 2021
A simple todo app using flask and sqlachemy

TODO app This is a simple TODO app made using Flask. Packages used: DoodleCSS Special thanks to Chris McCormick (@mccrmx) :) Flask Flask-SQLAlchemy Fl

Lenin 1 Dec 26, 2021
An easy-to-use high-performance asynchronous web framework.

中文 | English 一个易用的高性能异步 web 框架。 Index.py 文档 Index.py 实现了 ASGI3 接口,并使用 Radix Tree 进行路由查找。是最快的 Python web 框架之一。一切特性都服务于快速开发高性能的 Web 服务。 大量正确的类型注释 灵活且高效的

Index.py 264 Dec 31, 2022
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.

Tornado Web Server Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking ne

20.9k Jan 01, 2023
An effective, simple, and async security library for the Sanic framework.

Sanic Security An effective, simple, and async security library for the Sanic framework. Table of Contents About the Project Getting Started Prerequis

Sunset Dev 72 Nov 30, 2022
Quiz Web App with Flask and MongoDB as the Databases

quiz-app Quiz Web Application made with flask and mongodb as the Databases Before you run this application, change the inside MONGODB_URI ( in config.

gibran abdillah 7 Dec 14, 2022
Asynchronous HTTP client/server framework for asyncio and Python

Async http client/server framework Key Features Supports both client and server side of HTTP protocol. Supports both client and server Web-Sockets out

aio-libs 13.2k Jan 05, 2023
The source code to the Midnight project

MidnightSniper Started: 24/08/2021 Ended: 24/10/2021 What? This is the source code to a project developed to snipe minecraft names Why release? The ad

Kami 2 Dec 03, 2021
Lemon is an async and lightweight API framework for python

Lemon is an async and lightweight API framework for python . Inspired by Koa and Sanic .

Joway 29 Nov 20, 2022
The Python micro framework for building web applications.

Flask Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to co

The Pallets Projects 61.5k Jan 06, 2023
The lightning-fast ASGI server. ?

The lightning-fast ASGI server. Documentation: https://www.uvicorn.org Community: https://discuss.encode.io/c/uvicorn Requirements: Python 3.6+ (For P

Encode 6k Jan 03, 2023
A public API written in Python using the Flask web framework to determine the direction of a road sign using AI

python-public-API This repository is a public API for solving the problem of the final of the AIIJC competition. The task is to create an AI for the c

Lev 1 Nov 08, 2021
Trame let you weave various components and technologies into a Web Application solely written in Python.

Trame Trame aims to be a framework for building interactive applications using a web front-end in plain Python. Such applications can be used locally

Kitware, Inc. 85 Dec 29, 2022
A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs.

cx_Oracle_async A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. Easy to use , buy may not

36 Dec 21, 2022
Django Ninja - Fast Django REST Framework

Django Ninja is a web framework for building APIs with Django and Python 3.6+ type hints.

Vitaliy Kucheryaviy 3.8k Jan 02, 2023
A microservice written in Python detecting nudity in images/videos

py-nudec py-nudec (python nude detector) is a microservice, which scans all the images and videos from the multipart/form-data request payload and sen

Michael Grigoryan 8 Jul 09, 2022
Full duplex RESTful API for your asyncio web apps

TBone TBone makes it easy to develop full-duplex RESTful APIs on top of your asyncio web application or webservice. It uses a nonblocking asynchronous

TBone Framework 37 Aug 07, 2022
Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.

Readme web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applic

2k Dec 31, 2022
Pulumi-checkly - Checkly Pulumi Provider With Python

🚨 This project is still in very early stages and is not stable, use at your own

Checkly 16 Dec 15, 2022
Pyrin is an application framework built on top of Flask micro-framework to make life easier for developers who want to develop an enterprise application using Flask

Pyrin A rich, fast, performant and easy to use application framework to build apps using Flask on top of it. Pyrin is an application framework built o

Mohamad Nobakht 10 Jan 25, 2022