Skip to main content

Falcon Core Inspired by Django for Falcon API Framework.

Project description

falcon Core

Falcon Core Inspired by Django for Falcon API Framework.

Installation

pip install falcon-core

User guide

Starting project

falcon-core startproject api

Create project api and folder api

  • api/
  • api/manage.py
  • apy/api/
  • apy/api/__init__.py
  • apy/api/settings.py
  • apy/api/routes.py
  • apy/api/wsgi.py
falcon-core startproject api .

Create project api in my location folder

  • my_location/manage.py
  • my_location/api/
  • my_location/api/__init__.py
  • my_location/api/settings.py
  • my_location/api/routes.py
  • my_location/api/wsgi.py
falcon-core startproject api folder

Create project api in folder

  • folder/manage.py
  • folder/api/
  • folder/api/__init__.py
  • folder/api/settings.py
  • folder/api/routes.py
  • folder/api/wsgi.py

Starting project app

python manage.py startapp example

Create app in project dir

  • example/__init__.py
  • example/resources.py
  • example/routes.py
python manage.py startapp example.example1

Create app in app

  • example/example1/__init__.py
  • example/example1/resources.py
  • example/example1/routes.py
python manage.py startapp example2.example3
  • example2/__init__.py
  • example2/example3/__init__.py
  • example2/example3/resources.py
  • example2/example3/routes.py

Create resource in example.resource.py

import falcon

from falcon_core.resources import Resource


class ExampleResource(Resource):
    def on_get(self, req, resp, **kwargs):
        resp.status = falcon.HTTP_OK
        resp.media = {'key': 'value'}

Add resource to routes

example.routes.py

from falcon_core.routes import route

from example.resources import ExampleResource

routes = [
    route('/example', ExampleResource()),
]

(1) api.resource.py

from falcon_core.routes import route, include

from example.routes import routes as example_routes

routes = [
    route('', include(example_routes)),
]

(2) api.routes.py

from falcon_core.routes import route, include

routes = [
    route('', include('example.routes')),
]

Add middleware

In api.settings.py

...
MIDDLEWARE = [
    'module.MiddlewareOrMiddlewareInstance'
]
...

Add router converters

In api.settings.py

...
ROUTER_CONVERTERS = [
    'name': 'module.Converter'
]
...

Change root routes

In api.settings.py

...
ROUTES = 'module.routes'  # must have routes list
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

falcon_core-0.0.28.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

falcon_core-0.0.28-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file falcon_core-0.0.28.tar.gz.

File metadata

  • Download URL: falcon_core-0.0.28.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for falcon_core-0.0.28.tar.gz
Algorithm Hash digest
SHA256 9962d282b601920be31f0ddd82356b235a8fd2de5cf27c4e6e7f04544632cad1
MD5 ef94766843db5e6fb605d750daf4ea83
BLAKE2b-256 40c0e256de1e14e93d620d5c6debd1dda186fb478d21a8c85bf4274bd229958e

See more details on using hashes here.

File details

Details for the file falcon_core-0.0.28-py3-none-any.whl.

File metadata

  • Download URL: falcon_core-0.0.28-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for falcon_core-0.0.28-py3-none-any.whl
Algorithm Hash digest
SHA256 ba3a2e2fddd9d108b348e8ca5acdb24d45b940c564b07c8e190269ad04d0985c
MD5 f06945cf04e1df606539389237ce14da
BLAKE2b-256 9865c389131e4d0436627c05aaab4ce6e146ceccc99c3b791c96af527046ac9f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page