Skip to main content

A library to connect to SurrealDB.

Project description

PySurrealDB

Join the chat at https://gitter.im/pysurrealdb/community

An unofficial library to connect to SurrealDB.

Minimal dependencies, easy to use.


Getting Started

If you don't already have it, install SurrealDB

Linux:

$ curl -sSf https://install.surrealdb.com | sh
# then
$ surreal start --user test --pass test

Install PySurrealDB

pip install pysurrealdb

Examples

import pysurrealdb as surreal

conn = surreal.connect(user='test', password='test')

conn.create('person', {'name': 'Mike'})
conn.query('select * from person')

To connect to a live SurrealDB server, you can specify the connection info either in the connect call, or in a config file.

import pysurrealdb as surreal
conn = surreal.connect(host='surreal.com', port=8000, user='user', password='pass', database='db', namespace='ns')

Optional Config file:

# use a configured connection. 
conn = surreal.connection('default')
# Requires pysurrealdb.json file. Place it in your root directory, or specify the file location with the env variable 'PYSURREALDB_CONFIG'.

Example pysurrealdb.json:
{
    "connections": {
        "default": {
            "host": "localhost",
            "port": 8000,
            "user": "test",
            "password": "test"
            "database": "test",
            "namespace": "test",
        }
    }
}

# when using a config file, you do not even need to connect, you can access most functions directly:
import pysurrealdb as surreal

surreal.query('select * from test') # uses the last connection from connect() or the default connection if connect() has not been called.

Query Builder

You can write queries using Laravel and Orator style syntax:

import pysurrealdb as surreal
conn = surreal.connection()

# setup data
conn.drop('person')
conn.insert('person', [{'name': 'Mike', 'age': 31}, {'name':'Mr P'}])

# query builder examples
first_person = conn.table('person').where('name', 'Mike').first()

adults = conn.table('person').where('age', '>=', 18).order_by('age', 'desc').limit(10).get()

This project is a work in progress. Questions and feedback are welcome! Please create an issue or use the gitter chat link at the top. Thanks!

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

PySurrealDB-0.2.2.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

PySurrealDB-0.2.2-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file PySurrealDB-0.2.2.tar.gz.

File metadata

  • Download URL: PySurrealDB-0.2.2.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.2 Linux/5.15.0-56-generic

File hashes

Hashes for PySurrealDB-0.2.2.tar.gz
Algorithm Hash digest
SHA256 bb792c7729e0b7bb6489b05e03282046b6b5812ff559757ecd48cbbc9c5d60ae
MD5 e4b3f9c6f82b0fc8c52f43c44b59e03a
BLAKE2b-256 a283be538fac2e37a8496cdef2d87f740641f00bd256feed50e583c0cc072351

See more details on using hashes here.

File details

Details for the file PySurrealDB-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: PySurrealDB-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.2 Linux/5.15.0-56-generic

File hashes

Hashes for PySurrealDB-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 248ac7ebf2bc955932f56b32404a15ef44a752eefe29dc0c6e3e0279f3664246
MD5 c2dd92c1055f977b9d07721a2db6c047
BLAKE2b-256 ab956446dc91cc81293bfb3d5aef7d33a43a811812a9ccd1f7d0fdeda0b9d74e

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