Skip to main content
logo

logo

Build Status PyPI version Python License: MIT Waffle.io - Issues in progress Gitter chat

TBone makes it easy to develop full-duplex RESTful APIs on top of your asyncio web application or webservice. It uses a nonblocking asynchronous web server and provides the neccesary infrastructure to build asynchronous web apps and services. TBone is web-server agnostic and can be added on top of your Sanic or Aiohttp app.

TBone is comprised of 4 major modules:

  1. Data Structure - an ODM-like modeling mechanism for schema declaration, data validation and serialization

  2. Data Persistency - Persistency mixin classes for document stores with a full implementation over MongoDB

  3. Resources - Mechanism for creating full-duplex RESTful APIs over HTTP and Websockets

  4. Dispatch - Classes for managing internal and external events.

Combining the usage of these 4 modules makes it extremely easy to build full-duplex RESTful APIs on top of your MongoDB datastore.

Disclaimer

TBone is currently in Alpha stage. It may still have some bugs in the code, and some typos in the documentation. The APIs may change before an official release is made.

Example

The following example demonstrates the creation of a model schema and the corresponding RESTful resource

class Book(Model, MongoCollectionMixin):
    _id = ObjecIdField(primary_key=True)
    title = StringField(required=True)
    author = StringField(required=True)
    publication_date = DateTimeField()


class BookResource(AioHttpResource, MongoResource):
    class Meta:
        object_class = Book

Nonblocking

TBone was designed to develop asynchorous web applications and web services. The entire infrastructure was built around coroutines. TBone utilizes only asynchronous 3rd party components to make sure that your app is truly nonblocking.

Requirements

TBone uses the async/await syntax and is limited to Python version 3.5 and up.

Furthermore, TBone has some very few basic requirements. However, depending on its usage requires additional packages may be required.

Documentation

Documentation can be found here

Release files for tbone 0.5.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tbone 0.5.0.4
File Size Uploaded
tbone-0.5.0.4.tar.gz 39.2 kB Details

Release files / tbone-0.5.0.4.tar.gz

Download URL tbone-0.5.0.4.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
84a9172ffc39821cddf1535cd32f50a654e44859344ee5aa4c9e7b6d14a5e042
BLAKE2b-256 checksum
How to use checksums
27771b68f1001a098438f618a4b9db283eb923769d640b4f1145e13c9d082940
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.0.4 This release

1 release file

0.5.0.3

1 release file

0.5.0.2

1 release file

0.5.0.1

1 release file

0.0.1.2

1 release file

0.0.1.1

1 release file

0.0.1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page