python-ppa 0.1.5__tar.gz → 0.1.6__tar.gz

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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-ppa
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: JPA-like ORM for Python
5
5
  Author: Pratyush Kumar
6
6
  License-Expression: MIT
@@ -20,9 +20,9 @@ Requires-Dist: typing-inspection==0.4.2
20
20
  Requires-Dist: typing_extensions==4.15.0
21
21
  Dynamic: license-file
22
22
 
23
- # python-jpa
23
+ # python-ppa
24
24
 
25
- `python-jpa` is a lightweight, Spring Data JPA-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
25
+ `python-ppa` is a lightweight, Spring Data ppa-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
26
26
 
27
27
  It uses advanced Python metaprogramming (`metaclass`) to dynamically generate MongoDB queries at runtime based on method naming conventions or explicit query declarations, drastically reducing boilerplate code.
28
28
 
@@ -30,7 +30,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
30
30
 
31
31
  ## 🚀 Features
32
32
 
33
- * **JPA-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
33
+ * **ppa-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
34
34
  * **Query Naming Conventions:** Instantly supports `find_by_*`, `find_all_by_*`, `exists_by_*`, and `count_by_*` pattern resolutions.
35
35
  * **Custom Query Annotations:** Bind complex MongoDB query templates with custom parameter injections using the `@query` decorator.
36
36
  * **Data Validation:** Fully powered by Pydantic v2 for robust runtime type checking and parsing.
@@ -44,7 +44,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
44
44
  ```text
45
45
  .
46
46
  ├── README.md
47
- ├── jpa
47
+ ├── ppa
48
48
  │ ├── __init__.py
49
49
  │ ├── config.py # App bootstrapping, YAML parsing & environment mapping
50
50
  │ └── mongo
@@ -57,7 +57,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
57
57
  Prerequisites
58
58
  • Python 3.13 or higher
59
59
  Installation & Virtual Env Setup
60
- 1. Clone the repository and navigate to its root: cd python-jpa
60
+ 1. Clone the repository and navigate to its root: cd python-ppa
61
61
  2. Spin up a virtual environment and update your pip core dependencies: python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate pip install --upgrade pip
62
62
  3. Install the project library dependencies: pip install -r requirements.txt
63
63
  ⚙️ Configuration Management
@@ -70,7 +70,7 @@ app:
70
70
  2. Environment Profile Configuration (resources/settings-dev.yml)
71
71
  mongodb:
72
72
  uri: ${MONGO_URI:mongodb://localhost:27017}
73
- database: ${MONGO_DB_NAME:jpa_database}
73
+ database: ${MONGO_DB_NAME:ppa_database}
74
74
 
75
75
  framework:
76
76
  logging:
@@ -81,7 +81,7 @@ framework:
81
81
  Here is a quick overview of how you can configure a domain entity and generate auto-implemented interface pipelines:
82
82
  1. Define your Document Model
83
83
  from pydantic import Field
84
- from jpa.mongo.interface import DocumentModel, document
84
+ from ppa.mongo.interface import DocumentModel, document
85
85
 
86
86
  @document(name="users")
87
87
  class User(DocumentModel):
@@ -92,7 +92,7 @@ class User(DocumentModel):
92
92
 
93
93
  2. Declare your Interface Repository
94
94
  By extending IRepository[T], method naming patterns are captured and converted into database interactions seamlessly.
95
- from jpa.mongo.interface import IRepository, query
95
+ from ppa.mongo.interface import IRepository, query
96
96
  from typing import List, Optional
97
97
 
98
98
  class UserRepository(IRepository[User]):
@@ -107,7 +107,7 @@ class UserRepository(IRepository[User]):
107
107
  def find_by_email_and_min_age(self, email: str, min_age: int) -> List[User]: ...
108
108
 
109
109
  3. Execute CRUD Actions
110
- from jpa.config import close_db_connection
110
+ from ppa.config import close_db_connection
111
111
 
112
112
  # Initialize repository instance
113
113
  user_repo = UserRepository()
@@ -1,6 +1,6 @@
1
- # python-jpa
1
+ # python-ppa
2
2
 
3
- `python-jpa` is a lightweight, Spring Data JPA-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
3
+ `python-ppa` is a lightweight, Spring Data ppa-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
4
4
 
5
5
  It uses advanced Python metaprogramming (`metaclass`) to dynamically generate MongoDB queries at runtime based on method naming conventions or explicit query declarations, drastically reducing boilerplate code.
6
6
 
@@ -8,7 +8,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
8
8
 
9
9
  ## 🚀 Features
10
10
 
11
- * **JPA-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
11
+ * **ppa-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
12
12
  * **Query Naming Conventions:** Instantly supports `find_by_*`, `find_all_by_*`, `exists_by_*`, and `count_by_*` pattern resolutions.
13
13
  * **Custom Query Annotations:** Bind complex MongoDB query templates with custom parameter injections using the `@query` decorator.
14
14
  * **Data Validation:** Fully powered by Pydantic v2 for robust runtime type checking and parsing.
@@ -22,7 +22,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
22
22
  ```text
23
23
  .
24
24
  ├── README.md
25
- ├── jpa
25
+ ├── ppa
26
26
  │ ├── __init__.py
27
27
  │ ├── config.py # App bootstrapping, YAML parsing & environment mapping
28
28
  │ └── mongo
@@ -35,7 +35,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
35
35
  Prerequisites
36
36
  • Python 3.13 or higher
37
37
  Installation & Virtual Env Setup
38
- 1. Clone the repository and navigate to its root: cd python-jpa
38
+ 1. Clone the repository and navigate to its root: cd python-ppa
39
39
  2. Spin up a virtual environment and update your pip core dependencies: python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate pip install --upgrade pip
40
40
  3. Install the project library dependencies: pip install -r requirements.txt
41
41
  ⚙️ Configuration Management
@@ -48,7 +48,7 @@ app:
48
48
  2. Environment Profile Configuration (resources/settings-dev.yml)
49
49
  mongodb:
50
50
  uri: ${MONGO_URI:mongodb://localhost:27017}
51
- database: ${MONGO_DB_NAME:jpa_database}
51
+ database: ${MONGO_DB_NAME:ppa_database}
52
52
 
53
53
  framework:
54
54
  logging:
@@ -59,7 +59,7 @@ framework:
59
59
  Here is a quick overview of how you can configure a domain entity and generate auto-implemented interface pipelines:
60
60
  1. Define your Document Model
61
61
  from pydantic import Field
62
- from jpa.mongo.interface import DocumentModel, document
62
+ from ppa.mongo.interface import DocumentModel, document
63
63
 
64
64
  @document(name="users")
65
65
  class User(DocumentModel):
@@ -70,7 +70,7 @@ class User(DocumentModel):
70
70
 
71
71
  2. Declare your Interface Repository
72
72
  By extending IRepository[T], method naming patterns are captured and converted into database interactions seamlessly.
73
- from jpa.mongo.interface import IRepository, query
73
+ from ppa.mongo.interface import IRepository, query
74
74
  from typing import List, Optional
75
75
 
76
76
  class UserRepository(IRepository[User]):
@@ -85,7 +85,7 @@ class UserRepository(IRepository[User]):
85
85
  def find_by_email_and_min_age(self, email: str, min_age: int) -> List[User]: ...
86
86
 
87
87
  3. Execute CRUD Actions
88
- from jpa.config import close_db_connection
88
+ from ppa.config import close_db_connection
89
89
 
90
90
  # Initialize repository instance
91
91
  user_repo = UserRepository()
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python-ppa"
7
- version = "0.1.5"
7
+ version = "0.1.6"
8
8
  description = "JPA-like ORM for Python"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-ppa
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: JPA-like ORM for Python
5
5
  Author: Pratyush Kumar
6
6
  License-Expression: MIT
@@ -20,9 +20,9 @@ Requires-Dist: typing-inspection==0.4.2
20
20
  Requires-Dist: typing_extensions==4.15.0
21
21
  Dynamic: license-file
22
22
 
23
- # python-jpa
23
+ # python-ppa
24
24
 
25
- `python-jpa` is a lightweight, Spring Data JPA-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
25
+ `python-ppa` is a lightweight, Spring Data ppa-inspired Object-Document Mapper (ODM) for MongoDB built on top of **Python 3.13+**, **Pydantic v2**, and **PyMongo**.
26
26
 
27
27
  It uses advanced Python metaprogramming (`metaclass`) to dynamically generate MongoDB queries at runtime based on method naming conventions or explicit query declarations, drastically reducing boilerplate code.
28
28
 
@@ -30,7 +30,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
30
30
 
31
31
  ## 🚀 Features
32
32
 
33
- * **JPA-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
33
+ * **ppa-Like Repository Pattern:** Declare an interface, and let the metaclass handle query assembly dynamically.
34
34
  * **Query Naming Conventions:** Instantly supports `find_by_*`, `find_all_by_*`, `exists_by_*`, and `count_by_*` pattern resolutions.
35
35
  * **Custom Query Annotations:** Bind complex MongoDB query templates with custom parameter injections using the `@query` decorator.
36
36
  * **Data Validation:** Fully powered by Pydantic v2 for robust runtime type checking and parsing.
@@ -44,7 +44,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
44
44
  ```text
45
45
  .
46
46
  ├── README.md
47
- ├── jpa
47
+ ├── ppa
48
48
  │ ├── __init__.py
49
49
  │ ├── config.py # App bootstrapping, YAML parsing & environment mapping
50
50
  │ └── mongo
@@ -57,7 +57,7 @@ It uses advanced Python metaprogramming (`metaclass`) to dynamically generate Mo
57
57
  Prerequisites
58
58
  • Python 3.13 or higher
59
59
  Installation & Virtual Env Setup
60
- 1. Clone the repository and navigate to its root: cd python-jpa
60
+ 1. Clone the repository and navigate to its root: cd python-ppa
61
61
  2. Spin up a virtual environment and update your pip core dependencies: python3 -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate pip install --upgrade pip
62
62
  3. Install the project library dependencies: pip install -r requirements.txt
63
63
  ⚙️ Configuration Management
@@ -70,7 +70,7 @@ app:
70
70
  2. Environment Profile Configuration (resources/settings-dev.yml)
71
71
  mongodb:
72
72
  uri: ${MONGO_URI:mongodb://localhost:27017}
73
- database: ${MONGO_DB_NAME:jpa_database}
73
+ database: ${MONGO_DB_NAME:ppa_database}
74
74
 
75
75
  framework:
76
76
  logging:
@@ -81,7 +81,7 @@ framework:
81
81
  Here is a quick overview of how you can configure a domain entity and generate auto-implemented interface pipelines:
82
82
  1. Define your Document Model
83
83
  from pydantic import Field
84
- from jpa.mongo.interface import DocumentModel, document
84
+ from ppa.mongo.interface import DocumentModel, document
85
85
 
86
86
  @document(name="users")
87
87
  class User(DocumentModel):
@@ -92,7 +92,7 @@ class User(DocumentModel):
92
92
 
93
93
  2. Declare your Interface Repository
94
94
  By extending IRepository[T], method naming patterns are captured and converted into database interactions seamlessly.
95
- from jpa.mongo.interface import IRepository, query
95
+ from ppa.mongo.interface import IRepository, query
96
96
  from typing import List, Optional
97
97
 
98
98
  class UserRepository(IRepository[User]):
@@ -107,7 +107,7 @@ class UserRepository(IRepository[User]):
107
107
  def find_by_email_and_min_age(self, email: str, min_age: int) -> List[User]: ...
108
108
 
109
109
  3. Execute CRUD Actions
110
- from jpa.config import close_db_connection
110
+ from ppa.config import close_db_connection
111
111
 
112
112
  # Initialize repository instance
113
113
  user_repo = UserRepository()
File without changes
File without changes
File without changes
File without changes