fastapi-sqlalchemy-ease 0.1.5__py3-none-any.whl → 0.1.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  from .core import SQLAlchemy
2
2
  from .exceptions import DatabaseError, DatabaseNotInitializedError
3
3
 
4
- __version__='0.1.5'
4
+ __version__='0.1.7'
5
5
 
6
6
  # when someone call: from fastapi_sqlalchemy import SQLAlchemy
7
7
  # only these things are available
@@ -1,11 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-sqlalchemy-ease
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: A reusable SQLAlchemy extension for FastAPI
5
+ Author: Hardik soni
6
+ Author-email: imailhr1k@gmail.com
5
7
  Requires-Python: >=3.8
6
8
  Description-Content-Type: text/markdown
7
9
  License-File: LICENSE
8
10
  Requires-Dist: sqlalchemy>=2.0.0
11
+ Dynamic: author
12
+ Dynamic: author-email
9
13
  Dynamic: description
10
14
  Dynamic: description-content-type
11
15
  Dynamic: license-file
@@ -61,7 +65,7 @@ No need to import types from SQLAlchemy; use the db instance directly.
61
65
 
62
66
  id = db.Column(db.Integer, primary_key=True)
63
67
  username = db.Column(db.String, unique=True, nullable=False)
64
- created_at = db.Column(db.DateTime)
68
+ created_at = db.Column(db.DateTime, default_server=db.func.now())
65
69
 
66
70
 
67
71
 
@@ -73,17 +77,25 @@ You can trigger table creation easily.
73
77
 
74
78
 
75
79
  ### 3. Database Operations in Routes
76
- Use db.Session with FastAPI's Depends to get a clean session for every request.
80
+ The extension provides a thread-safe db.Session for FastAPI dependencies and a Flask-like query property on models.
77
81
 
78
82
  from fastapi import FastAPI, Depends
79
83
  from .. import db
80
84
 
81
85
  app = FastAPI()
82
86
 
83
- @app.get("/users")
84
- def read_users(session: Session = Depends(db.Session)):
85
- users = session.query(User).all()
86
- return users
87
+ # Best for Reads
88
+ @app.get("/users")
89
+ def get_users():
90
+ return User.query.all()
91
+
92
+ # Best for Writes (Auto-cleanup)
93
+ @app.post("/users")
94
+ def create_user(user_data: UserSchema, session=Depends(db.Session)):
95
+ user = User(**user_data.dict())
96
+ session.add(user)
97
+ session.commit()
98
+ return user
87
99
 
88
100
 
89
101
 
@@ -95,7 +107,10 @@ Category - Available Attributes
95
107
  Data Types - String, Integer, Float, Boolean, Text, Date, DateTime, JSON, Numeric
96
108
  Constraints - ForeignKey, UniqueConstraint, CheckConstraint, Index
97
109
  ORM - relationship, Table, Column
98
-
110
+ Logic and Boolean operators = and_, or_, not_
111
+ SQL Functions (count, now, max, min, etc.) = func
112
+ Query Execution Utilities = select, update, delete
113
+ ordering = desc, asc
99
114
 
100
115
 
101
116
  ## ◽ Error Handling
@@ -0,0 +1,8 @@
1
+ fastapi_sqlalchemy_ease/__init__.py,sha256=B_1u8eTbj4PgoldvjW84O60UMPrFsb-1QUCq5AtiqDY,303
2
+ fastapi_sqlalchemy_ease/core.py,sha256=Uc6rbLLZ6gTCetkzX0a9VqVvafJQm5eyTOw_02dIM1g,4470
3
+ fastapi_sqlalchemy_ease/exceptions.py,sha256=6YU6mJvOGXC9D0mPH99GjMWpj21NA5jD8II7DWEcHaA,222
4
+ fastapi_sqlalchemy_ease-0.1.7.dist-info/licenses/LICENSE,sha256=jVnW2ZK4LFNHmDZE-xj0EyVpbHVMpwO7FcTk_We8qrA,1068
5
+ fastapi_sqlalchemy_ease-0.1.7.dist-info/METADATA,sha256=22IMg9_Ei84gX0Ie4ZZzCUI-vQuVNboOIuKhtEgDMZE,3662
6
+ fastapi_sqlalchemy_ease-0.1.7.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
7
+ fastapi_sqlalchemy_ease-0.1.7.dist-info/top_level.txt,sha256=Y9kRilavMJot8bwOZymZ0cRjiBNIzsVqx9EwvXGiq-8,24
8
+ fastapi_sqlalchemy_ease-0.1.7.dist-info/RECORD,,
@@ -1,8 +0,0 @@
1
- fastapi_sqlalchemy_ease/__init__.py,sha256=bJALhusgwO6bgq3Y1y9FwT1TfSiRYO4zh10SlFK-D8s,303
2
- fastapi_sqlalchemy_ease/core.py,sha256=Uc6rbLLZ6gTCetkzX0a9VqVvafJQm5eyTOw_02dIM1g,4470
3
- fastapi_sqlalchemy_ease/exceptions.py,sha256=6YU6mJvOGXC9D0mPH99GjMWpj21NA5jD8II7DWEcHaA,222
4
- fastapi_sqlalchemy_ease-0.1.5.dist-info/licenses/LICENSE,sha256=jVnW2ZK4LFNHmDZE-xj0EyVpbHVMpwO7FcTk_We8qrA,1068
5
- fastapi_sqlalchemy_ease-0.1.5.dist-info/METADATA,sha256=2XnxNnRUxd7Ge_TKeDGCM7c_Yhs7l1N6SvJU4kFNceU,3144
6
- fastapi_sqlalchemy_ease-0.1.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
7
- fastapi_sqlalchemy_ease-0.1.5.dist-info/top_level.txt,sha256=Y9kRilavMJot8bwOZymZ0cRjiBNIzsVqx9EwvXGiq-8,24
8
- fastapi_sqlalchemy_ease-0.1.5.dist-info/RECORD,,