purest architecture
Project description
Epure
Epure is agnostic ORM - you can store and retrieve data having no idea about database, table and columns. All technical details hidden from you. Care only about your business logic.
Installing
Install and update using pip
:
$ pip install -U epure
Install and update using poetry
:
$ poetry add epure
Connecting Epure to database
Create example class with Epure, create instance of it and read it from DB.
# import connection functions from Epure
from epure import GresDb
from epure import connect
# First way to connect database to epure
# Format of string to connect ('database://user:password@host:port')
connect(GresDb('postgres://postgres:postgres@localhost:5432',
log_level=3))
# Alternative way of connection
db = GresDb('postgres://postgres:postgres@localhost:32',
# host="localhost",
port="5432",
# database="postgres",
# user="postgres",
password="postgres",
log_level=3)
connect(db)
# log_level defines level of description of opertaions with DB in auto-generated file epure_db.log
A Simple Example
# save this as epure_example.py
from epure import epure
# different types hints avalible
import types
# In order to save attributes of class to db, type hints is required!
# decorate class by @epure() wrap function
@epure()
class Example:
int_attr:int
bool_attr:bool
str_attr:str
complex_attr:complex
list_attr:list
dict_attr:Dict[int, str]
str_attr_with_default_val:str = 'example_str'
epure_cls_attr:SomeEpureCls
NoneType_attr:types.NoneType
# creating instance of epurized Example class
obj = Example()
# assigning vals to instance
obj.int_attr = 1
obj.str_attr = "example"
obj.list_attr = [1,2,3,4]
#saving obj instance to database
obj.save()
# saved instance has attribute of node_id that is unique
node_id = epure.node_id
# node_id is used to search epure objects and retrive them from DB via read() method
res = epure.table.read(node_id=node_id)
Developers
Nikita Umarov (Pichugin), Pavel Pichugin
Links
- Documentation: https://github.com/nagvalhm/epure/blob/main/README.md
- Changes: https://github.com/nagvalhm/epure
- PyPI Releases: https://pypi.org/project/epure/
- Source Code: https://github.com/nagvalhm/epure
- Issue Tracker: https://github.com/nagvalhm/epure/issues
- Website: https://pypi.org/project/epure/
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
epure-0.2.6.tar.gz
(33.2 kB
view details)
Built Distribution
epure-0.2.6-py3-none-any.whl
(45.4 kB
view details)
File details
Details for the file epure-0.2.6.tar.gz
.
File metadata
- Download URL: epure-0.2.6.tar.gz
- Upload date:
- Size: 33.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.1 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7333d6d6dc31148ef3d3be2e6153d073eb8ffd57ada5a5407d3ef80d91f1b8af |
|
MD5 | 9c39e21c61c7c178bb9587c61b3ce632 |
|
BLAKE2b-256 | ac8768cf1d1f2f8bb9501f9fc3a4de6907eeffb762c474e51b48d47fcd5e0d35 |
File details
Details for the file epure-0.2.6-py3-none-any.whl
.
File metadata
- Download URL: epure-0.2.6-py3-none-any.whl
- Upload date:
- Size: 45.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.1 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91c21eaadfc69feb3c882de6291ffb625f5765233b26c685b5bc8a03b1c57b7a |
|
MD5 | 16b26d5fd0af032154b9d966872f5a18 |
|
BLAKE2b-256 | fb966cb9c8512ab45db0d7a3de2e55464e6c676e398f8c07083bd6bb4d38b9f5 |