Skip to main content

The unofficial SurrealDB library for Python, now working with Pydantic v2.0

Project description

SurrealDB Icon


SurrealDB Logo SurrealDB Logo

SurrealDB SurrealDB is the ultimate cloud
database for tomorrow's applications

Develop easier.   Build faster.   Scale quicker.


         

Blog   Github	  LinkedIn   Twitter   Youtube   Dev   Discord   StackOverflow

surrealdb.py

The official SurrealDB library for Python.

See the documentation here

Getting Started

First install SurrealDB if you haven't already.

Install the python library

pip install surrealdb

Alternatively, you can use install it using Poetry

from surrealdb import Surreal

async def main():
    """Example of how to use the SurrealDB client."""
    async with Surreal("ws://localhost:8000/rpc") as db:
        await db.signin({"user": "root", "pass": "root"})
        await db.use("test", "test")
        await db.create(
            "person",
            {
                "user": "me",
                "pass": "safe",
                "marketing": True,
                "tags": ["python", "documentation"],
            },
        )
        print(await db.select("person"))
        print(await db.update("person", {
            "user":"you",
            "pass":"very_safe",
            "marketing": False,
            "tags": ["Awesome"]
        }))
        print(await db.delete("person"))

        # You can also use the query method 
        # doing all of the above and more in SurrealQl
        
        # In SurrealQL you can do a direct insert 
        # and the table will be created if it doesn't exist
        await db.query("""
        insert into person {
            user: 'me',
            pass: 'very_safe',
            tags: ['python', 'documentation']
        };
        
        """)
        print(await db.query("select * from person"))
        
        print(await db.query("""
        update person content {
            user: 'you',
            pass: 'more_safe',
            tags: ['awesome']
        };
        
        """))
        print(await db.query("delete person"))

if __name__ == "__main__":
    import asyncio

    asyncio.run(main())

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

surrealdb2-0.3.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

surrealdb2-0.3.2-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file surrealdb2-0.3.2.tar.gz.

File metadata

  • Download URL: surrealdb2-0.3.2.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.12.0 Linux/6.2.0-36-generic

File hashes

Hashes for surrealdb2-0.3.2.tar.gz
Algorithm Hash digest
SHA256 cf7cced60654059cfc73e1f82a242bf2323b70aa00eaa19fa6f2774631908c44
MD5 bd0789cee8e2615efc383650d0db6e78
BLAKE2b-256 395488edf3f0ae1499010495271e56a09b858b4f608c48c315701b695c08d2c5

See more details on using hashes here.

File details

Details for the file surrealdb2-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: surrealdb2-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.12.0 Linux/6.2.0-36-generic

File hashes

Hashes for surrealdb2-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0c11697824f39b59964f7050a7f21b2c6e561d8c9e56b65043002e38b3c6aa44
MD5 3fa5cdc43f5501a9c51d0625058553b3
BLAKE2b-256 da676692b92dd2f71ae5eb0937d05685e6ced257f26f9324ebb1678b1fe41635

See more details on using hashes here.

Supported by

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