All Projects → edgedb → Edgedb Python

edgedb / Edgedb Python

Licence: apache-2.0
EdgeDB Python Driver

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Edgedb Python

Tornado Sqlalchemy
SQLAlchemy support for Tornado
Stars: ✭ 112 (-0.88%)
Mutual labels:  asyncio, asynchronous
Uvloop
Ultra fast asyncio event loop.
Stars: ✭ 8,246 (+7197.35%)
Mutual labels:  asyncio, high-performance
Chili
Chili: HTTP Served Hot
Stars: ✭ 7 (-93.81%)
Mutual labels:  asyncio, asynchronous
Backoff
Python library providing function decorators for configurable backoff and retry
Stars: ✭ 1,670 (+1377.88%)
Mutual labels:  asyncio, asynchronous
Vibe Core
Repository for the next generation of vibe.d's core package.
Stars: ✭ 56 (-50.44%)
Mutual labels:  asyncio, asynchronous
Yappi
Yet Another Python Profiler, but this time thread&coroutine&greenlet aware.
Stars: ✭ 595 (+426.55%)
Mutual labels:  asyncio, asynchronous
Mofuw
mofuw is *MO*re *F*aster, *U*ltra minimal *W*ebserver.
Stars: ✭ 107 (-5.31%)
Mutual labels:  asynchronous, high-performance
Firefly
Firefly is an asynchronous web framework for rapid development of high-performance web application.
Stars: ✭ 277 (+145.13%)
Mutual labels:  asynchronous, high-performance
Zanphp
PHP开发面向C10K+的高并发SOA服务 和RPC服务首选框架
Stars: ✭ 1,451 (+1184.07%)
Mutual labels:  asyncio, high-performance
Beanie
Micro ODM for MongoDB
Stars: ✭ 56 (-50.44%)
Mutual labels:  asyncio, asynchronous
Tornado Celery
Non-blocking Celery client for Tornado
Stars: ✭ 561 (+396.46%)
Mutual labels:  asyncio, asynchronous
Workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. PHP>=5.3.
Stars: ✭ 9,617 (+8410.62%)
Mutual labels:  asynchronous, high-performance
Asyncpg
A fast PostgreSQL Database Client Library for Python/asyncio.
Stars: ✭ 5,216 (+4515.93%)
Mutual labels:  asyncio, high-performance
Async Reduce
Reducer for similar simultaneously coroutines
Stars: ✭ 17 (-84.96%)
Mutual labels:  asyncio, asynchronous
Bocadillo
(UNMAINTAINED) Fast, scalable and real-time capable web APIs for everyone
Stars: ✭ 401 (+254.87%)
Mutual labels:  asyncio, asynchronous
Asyncio
asyncio historical repository
Stars: ✭ 952 (+742.48%)
Mutual labels:  asyncio, high-performance
asynchronous
A D port of Python's asyncio library
Stars: ✭ 35 (-69.03%)
Mutual labels:  asynchronous, asyncio
Aiotutorial
code snippets for asyncio tutorial
Stars: ✭ 257 (+127.43%)
Mutual labels:  asyncio, asynchronous
Halive
A fast http and https prober, to check which URLs are alive
Stars: ✭ 47 (-58.41%)
Mutual labels:  asyncio, asynchronous
Peony Twitter
An asynchronous Twitter API client for Python 3.5+
Stars: ✭ 62 (-45.13%)
Mutual labels:  asyncio, asynchronous

The Python driver for EdgeDB

.. image:: https://github.com/edgedb/edgedb-python/workflows/Tests/badge.svg?event=push&branch=master :target: https://github.com/edgedb/edgedb-python/actions

.. image:: https://img.shields.io/pypi/v/edgedb.svg :target: https://pypi.python.org/pypi/edgedb

.. image:: https://img.shields.io/badge/join-github%20discussions-green :target: https://github.com/edgedb/edgedb/discussions

edgedb-python is the official EdgeDB driver for Python. It provides both blocking IO and asyncio implementations.

The library requires Python 3.6 or later.

Documentation

The project documentation can be found here <https://edgedb.com/docs/clients/00_python/index>_.

Installation

The library is available on PyPI. Use pip to install it::

$ pip install edgedb

Basic Usage

.. code-block:: python

import datetime
import edgedb

def main():
    # Establish a connection to an existing database named "test"
    # as an "edgedb" user.
    conn = edgedb.connect('edgedb://[email protected]/test')
    # Create a User object type
    conn.execute('''
        CREATE TYPE User {
            CREATE REQUIRED PROPERTY name -> str;
            CREATE PROPERTY dob -> cal::local_date;
        }
    ''')

    # Insert a new User object
    conn.query('''
        INSERT User {
            name := <str>$name,
            dob := <cal::local_date>$dob
        }
    ''', name='Bob', dob=datetime.date(1984, 3, 1))

    # Select User objects.
    user_set = conn.query(
        'SELECT User {name, dob} FILTER .name = <str>$name', name='Bob')
    # *user_set* now contains
    # Set{Object{name := 'Bob', dob := datetime.date(1984, 3, 1)}}

    # Close the connection.
    conn.close()

if __name__ == '__main__':
    main()

Development

Instructions for installing EdgeDB and edgedb-python locally can be found at edgedb.com/docs/internals/dev/ <https://edgedb.com/docs/internals/dev/>_.

To run the test suite, run $ python setup.py test.

License

edgedb-python is developed and distributed under the Apache 2.0 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].