Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/p403n1x87/sibilla

Python ORM for the Oracle database
https://github.com/p403n1x87/sibilla

hacktoberfest oracle-database orm-framework python

Last synced: 29 days ago
JSON representation

Python ORM for the Oracle database

Awesome Lists containing this project

README

        


Sibilla

Python ORM for the Oracle Database



Travis CI Build Status

Test coverage at 99%

PyPI version


PyPI Downloads

Version 0.1.0

LICENSE


Synopsis •
Installation •
Examples •
Documentation

## Synopsis

Sibilla is a Python ORM solution for the Oracle Database. It has been designed
with the goal of making database access as Pythonic as possible. SQL queries
and PL/SQL code blocks are _aliens_ in Python sources. With Sibilla you can
access table content and call PL/SQL code in a Pythonic way.

Internally, Sibilla relies on the
[cx_Oracle](https://oracle.github.io/python-cx_Oracle/) package to perform
queries against the Oracle Data Dictionaries to retrieve stored objects and the
data they contain.

## Installation

Sibilla can be installed directly from PyPI

~~~~ bash
python3 -m pip install sibilla --upgrade
~~~~

Alternatively, it can be installed with pip from GitHub with

~~~ bash
python3 -m pip install git+https://github.com/P403n1x87/sibilla
~~~

## Examples

A minimal example to connect to a database and access a table called `CUSTOMER`
is

~~~~ python
from sibilla import Database

db = Database("username", "password", dsn="dsn")
customer_table = db.customer
~~~~

If the customer table has a primary key on a column named `ID`, and a column
`NAME`, we can get the value of the latter on a row with ID 42 (assuming it
exists in the database) with

~~~~ python
>>> customer = customer_table[42]
>>> customer.name
'John Smith'
~~~~

## Documentation

For more examples and customisation details, please refer to the official
[Sibilla Documentation](https://p403n1x87.github.io/sibilla/).

---

## License

GPLv3.