Python small, little, mini, tiny, micro Object-Relational Mapping (ORM)
Project description
Perseus MicrORM
Majormode Perseus MicrORM Python Library is a small, little, mini, tiny, micro Object-Relational Mapping (ORM).
MicrORM is not a object-relational mapping in the sense it maps Pyth objects to a Relational DataBase Management System (RDBMS), but in the sense it maps results of SQL queries, executed on a RDBMS, to Python objects.
Installation
To install Perseus MicrORM Python Library, simply enter the follow command line:
pip install perseus-microrm-library
Usage
import uuid
from majormode.perseus.utils import cast
from majormode.perseus.utils.rdbms import RdbmsConnection
RDBMS_CONNECTION_PROPERTIES = {
None: {
'rdbms_hostname': 'localhost',
'rdbms_port': 5432,
'rdbms_database_name': 'foo',
'rdbms_account_username': 'dbo',
'rdbms_account_password': ''
}
}
PLACE_IDS = [
uuid.UUID('54879ffc-a1ec-11e8-85bd-0008a20c190f'),
uuid.UUID('9025d1c8-a1ec-11e8-9e29-0007cb040bcc')
]
with RdbmsConnection.acquire_connection(
RDBMS_CONNECTION_PROPERTIES,
auto_commit=False,
connection=None) as connection:
cursor = connection.execute(
"""
SELECT place_id,
ST_X(location) AS longitude,
ST_Y(location) AS latitude,
ST_Z(location) AS altitude,
accuracy,
creation_time
FROM place
WHERE place_id IN %[place_ids]s
""",
{
'place_ids': PLACE_IDS
})
rows = cursor.fetch_all()
places = [
row.get_object({
'place_id': cast.string_to_uuid,
'creation_time': cast.string_to_timestamp})
for row in cursor.fetch_all()]
for place in places:
print(place.place_id, place.longitude, place.latitude)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for perseus-microrm-library-1.2.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7e2f9aa1b7b7b3eddfc50fc92df19b61873d590d5c8ac3837227593e7c7a6a2 |
|
MD5 | 365df8751e279ca6ce104c8300432927 |
|
BLAKE2b-256 | 37eab70120560c6b24ff24ba6aa8b2ded2582a71ed9a5ff9cbba263ad1887e3c |
Close
Hashes for perseus_microrm_library-1.2.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f99f2b5c795de8f2fa22530d15556f7c1eb7434523f93dbb12688256af3a6eef |
|
MD5 | 5293933a2a8e88bbde703d3c9f3751dd |
|
BLAKE2b-256 | aa17ad948817a445de73eb5b337c3eed295eab8518d96ed5e71de7a20bfc103f |