https://github.com/p403n1x87/sibilla
Python ORM for the Oracle database
https://github.com/p403n1x87/sibilla
hacktoberfest oracle-database orm-framework python
Last synced: 9 months ago
JSON representation
Python ORM for the Oracle database
- Host: GitHub
- URL: https://github.com/p403n1x87/sibilla
- Owner: P403n1x87
- License: gpl-3.0
- Created: 2019-02-12T20:27:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-03T10:02:37.000Z (almost 7 years ago)
- Last Synced: 2025-03-27T19:54:30.489Z (about 1 year ago)
- Topics: hacktoberfest, oracle-database, orm-framework, python
- Language: Python
- Homepage:
- Size: 508 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog
- Contributing: CONTRIBUTING.md
- License: COPYING
- Code of conduct: CODE-OF-CONDUCT.md
Awesome Lists containing this project
README

Python ORM for the Oracle Database
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.