Skip to main content

@themost-framework alternative for python

Project description

pycentroid

pycentroid logo

@themost-framework for Python

@themost-framework is a fully-featured end-to-end framework for building scalable data-driven web applications and services under node.js. It consists of a wide set of server-side libraries and client-side tools for helping developers creating scalable and configurable production environments. pycentroid is a @themost-framework alternative for python.

pycentroid.client

A client-side library of @themost-framework application for python

from typing import List
from pycentroid.client import ClientDataContext, ClientContextOptions
from pycentroid.query import select

async def get_products():
    context = ClientDataContext(ClientContextOptions('http://localhost:3000/api/'))
    # get products
    items: List = await context.model('Products').as_queryable().select(
            lambda x: select(id=x.id, name=x.name, product_model=x.model,)
        ).where(
            lambda x: x.category == 'Laptops'
        ).get_items()
    return items

Read more at pycentroid.client

pycentroid.query

A database-agnostic query module which for writing SQL expressions of any kind

from pycentroid.query import QueryExpression, QueryEntity, SqlFormatter, select


products = QueryEntity('ProductData')
query = QueryExpression(products).select(
        lambda x: select(id=x.id, name=x.name, price=round(x.price, 2))
    ).where(
        lambda x: round(x.price, 2) < 800 and x.category == 'Laptops'
    )
sql = SqlFormatter().format(query)
# sql > SELECT id,name,ROUND(price,2) AS price FROM ProductData WHERE ((ROUND(price,2)<800) AND (category='Laptops'))

pycentroid.data

A next-generation ORM data module for developing data-driven application and services.

from pycentroid.data.application import DataApplication
from os.path import abspath, join, dirname
APP_PATH = abspath(join(dirname(__file__), '..'))


async def main():
    app = DataApplication(cwd=APP_PATH)
    context = app.create_context()
    results = await context.model('Order').where(
        lambda x: x.orderedItem.category == 'Desktops'
        ).get_items()
    print(results)

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

pycentroid-2.0.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

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

pycentroid-2.0.0-py3-none-any.whl (75.0 kB view details)

Uploaded Python 3

File details

Details for the file pycentroid-2.0.0.tar.gz.

File metadata

  • Download URL: pycentroid-2.0.0.tar.gz
  • Upload date:
  • Size: 59.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for pycentroid-2.0.0.tar.gz
Algorithm Hash digest
SHA256 dc0defb20001ff683fcd3153988113a5f934ef22e4ff7d22e2fea32eebe6a773
MD5 3e76af863cda4a192216a3630cc0efd9
BLAKE2b-256 3edfdbf8cdc212210a2085ee039915cd5c287c6ff4bc6b0746a235df29d5bb0d

See more details on using hashes here.

File details

Details for the file pycentroid-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: pycentroid-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 75.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.21

File hashes

Hashes for pycentroid-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cfe0d871c20be8838256684d9b8e3ba70d17d24c3ce40b9ba71735f070a3e039
MD5 cac59113c5738abaaeb7303696ff41f6
BLAKE2b-256 f70fe2a2ebf6d0eaf33c7b9c2a5168fa1665e1a28e8cb4dbc32344e241d1d8d8

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