openframe-adapters 1.0.0__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.
@@ -0,0 +1,204 @@
1
+ Metadata-Version: 2.4
2
+ Name: openframe-adapters
3
+ Version: 1.0.0
4
+ Summary: OpenFrame Microservice Suite — adapter meta-package. Install adapters by name or group.
5
+ License: MIT
6
+ Keywords: openframe,hexagonal,microservice,postgres,mongodb,redis,kafka,vector-database
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ Provides-Extra: postgres
10
+ Requires-Dist: openframe-adapters-db-postgres<2,>=1.0; extra == "postgres"
11
+ Provides-Extra: mysql
12
+ Requires-Dist: openframe-adapters-db-mysql<2,>=1.0; extra == "mysql"
13
+ Provides-Extra: redis
14
+ Requires-Dist: openframe-adapters-db-redis<2,>=1.0; extra == "redis"
15
+ Provides-Extra: dynamodb
16
+ Requires-Dist: openframe-adapters-db-dynamodb<2,>=1.0; extra == "dynamodb"
17
+ Provides-Extra: mongo
18
+ Requires-Dist: openframe-adapters-db-mongo<2,>=1.0; extra == "mongo"
19
+ Provides-Extra: cassandra
20
+ Requires-Dist: openframe-adapters-db-cassandra<2,>=1.0; extra == "cassandra"
21
+ Provides-Extra: influxdb
22
+ Requires-Dist: openframe-adapters-db-influxdb<2,>=1.0; extra == "influxdb"
23
+ Provides-Extra: milvus
24
+ Requires-Dist: openframe-adapters-db-milvus<2,>=1.0; extra == "milvus"
25
+ Provides-Extra: chromadb
26
+ Requires-Dist: openframe-adapters-db-chromadb<2,>=1.0; extra == "chromadb"
27
+ Provides-Extra: qdrant
28
+ Requires-Dist: openframe-adapters-db-qdrant<2,>=1.0; extra == "qdrant"
29
+ Provides-Extra: faiss
30
+ Requires-Dist: openframe-adapters-db-faiss<2,>=1.0; extra == "faiss"
31
+ Provides-Extra: falkordb
32
+ Requires-Dist: openframe-adapters-db-falkordb<2,>=1.0; extra == "falkordb"
33
+ Provides-Extra: kafka
34
+ Requires-Dist: openframe-adapters-queue-kafka<2,>=1.0; extra == "kafka"
35
+ Provides-Extra: nats
36
+ Requires-Dist: openframe-adapters-queue-nats<2,>=1.0; extra == "nats"
37
+ Provides-Extra: rabbitmq
38
+ Requires-Dist: openframe-adapters-queue-rabbitmq<2,>=1.0; extra == "rabbitmq"
39
+ Provides-Extra: db
40
+ Requires-Dist: openframe-adapters[postgres]; extra == "db"
41
+ Requires-Dist: openframe-adapters[mysql]; extra == "db"
42
+ Requires-Dist: openframe-adapters[redis]; extra == "db"
43
+ Requires-Dist: openframe-adapters[dynamodb]; extra == "db"
44
+ Requires-Dist: openframe-adapters[mongo]; extra == "db"
45
+ Requires-Dist: openframe-adapters[cassandra]; extra == "db"
46
+ Requires-Dist: openframe-adapters[influxdb]; extra == "db"
47
+ Provides-Extra: vector
48
+ Requires-Dist: openframe-adapters[milvus]; extra == "vector"
49
+ Requires-Dist: openframe-adapters[chromadb]; extra == "vector"
50
+ Requires-Dist: openframe-adapters[qdrant]; extra == "vector"
51
+ Requires-Dist: openframe-adapters[faiss]; extra == "vector"
52
+ Requires-Dist: openframe-adapters[falkordb]; extra == "vector"
53
+ Provides-Extra: queue
54
+ Requires-Dist: openframe-adapters[kafka]; extra == "queue"
55
+ Requires-Dist: openframe-adapters[nats]; extra == "queue"
56
+ Requires-Dist: openframe-adapters[rabbitmq]; extra == "queue"
57
+ Provides-Extra: all
58
+ Requires-Dist: openframe-adapters[db]; extra == "all"
59
+ Requires-Dist: openframe-adapters[vector]; extra == "all"
60
+ Requires-Dist: openframe-adapters[queue]; extra == "all"
61
+ Provides-Extra: rest-min
62
+ Requires-Dist: openframe-adapters[postgres]; extra == "rest-min"
63
+ Requires-Dist: openframe-adapters[redis]; extra == "rest-min"
64
+ Provides-Extra: rag-stack
65
+ Requires-Dist: openframe-adapters[milvus]; extra == "rag-stack"
66
+ Requires-Dist: openframe-adapters[falkordb]; extra == "rag-stack"
67
+ Requires-Dist: openframe-adapters[redis]; extra == "rag-stack"
68
+ Provides-Extra: research-min
69
+ Requires-Dist: openframe-adapters[mongo]; extra == "research-min"
70
+ Requires-Dist: openframe-adapters[redis]; extra == "research-min"
71
+
72
+ # openframe-adapters
73
+
74
+ A metadata-only package that provides named install shortcuts for the entire
75
+ `openframe-adapters` ecosystem. Install one adapter, a category, or everything
76
+ — all with a single `pip install` command.
77
+
78
+ ---
79
+
80
+ ## Install surface
81
+
82
+ ### Individual adapters
83
+
84
+ ```bash
85
+ # Relational
86
+ pip install openframe-adapters[postgres] # PostgreSQL via asyncpg
87
+ pip install openframe-adapters[mysql] # MySQL via aiomysql
88
+
89
+ # Key-value
90
+ pip install openframe-adapters[redis] # Redis via redis-py
91
+ pip install openframe-adapters[dynamodb] # DynamoDB via aiobotocore
92
+
93
+ # Document
94
+ pip install openframe-adapters[mongo] # MongoDB via Motor
95
+
96
+ # Columnar
97
+ pip install openframe-adapters[cassandra] # Cassandra via cassandra-driver
98
+
99
+ # Time-series
100
+ pip install openframe-adapters[influxdb] # InfluxDB via influxdb-client
101
+
102
+ # Vector
103
+ pip install openframe-adapters[milvus] # Milvus via pymilvus
104
+ pip install openframe-adapters[chromadb] # Chroma via chromadb
105
+ pip install openframe-adapters[qdrant] # Qdrant via qdrant-client
106
+ pip install openframe-adapters[faiss] # FAISS via faiss-cpu
107
+ pip install openframe-adapters[falkordb] # FalkorDB via falkordb
108
+
109
+ # Queues
110
+ pip install openframe-adapters[kafka] # Kafka via aiokafka
111
+ pip install openframe-adapters[nats] # NATS via nats-py
112
+ pip install openframe-adapters[rabbitmq] # RabbitMQ via aio-pika
113
+ ```
114
+
115
+ ### Groups — one category
116
+
117
+ ```bash
118
+ pip install openframe-adapters[db] # all 7 DB adapters (relational + document + specialist)
119
+ pip install openframe-adapters[vector] # all 5 vector DB adapters
120
+ pip install openframe-adapters[queue] # all 3 queue adapters
121
+ ```
122
+
123
+ ### Everything
124
+
125
+ ```bash
126
+ pip install openframe-adapters[all] # all 15 individual adapter packages
127
+ ```
128
+
129
+ ### Convenience combinations
130
+
131
+ ```bash
132
+ pip install openframe-adapters[rest-min] # postgres + redis (REST API minimum)
133
+ pip install openframe-adapters[rag-stack] # milvus + falkordb + redis (RAG / inference)
134
+ pip install openframe-adapters[research-min] # mongo + redis (Research Vault Phase 1)
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Import paths
140
+
141
+ The import path is identical regardless of how you installed:
142
+
143
+ ```python
144
+ # Whether you ran:
145
+ # pip install openframe-adapters[postgres]
146
+ # or:
147
+ # pip install openframe-adapters[all]
148
+ # the import is always the same:
149
+ from openframe.adapters.db.postgres import PostgresRepository
150
+ from openframe.adapters.db.mongo import MongoRepository
151
+ ```
152
+
153
+ Each individual adapter package uses Python namespace packages under
154
+ `openframe.adapters.*`, so all adapters share the same top-level namespace
155
+ without any conflicts.
156
+
157
+ ---
158
+
159
+ ## Package inventory
160
+
161
+ | Extra | `pip install` | Package installed | Async driver |
162
+ |---|---|---|---|
163
+ | `postgres` | `openframe-adapters[postgres]` | `openframe-adapters-db-postgres` | `asyncpg` |
164
+ | `mysql` | `openframe-adapters[mysql]` | `openframe-adapters-db-mysql` | `aiomysql` |
165
+ | `redis` | `openframe-adapters[redis]` | `openframe-adapters-db-redis` | `redis-py` (asyncio) |
166
+ | `dynamodb` | `openframe-adapters[dynamodb]` | `openframe-adapters-db-dynamodb` | `aiobotocore` |
167
+ | `mongo` | `openframe-adapters[mongo]` | `openframe-adapters-db-mongo` | `Motor` |
168
+ | `cassandra` | `openframe-adapters[cassandra]` | `openframe-adapters-db-cassandra` | `cassandra-driver` |
169
+ | `influxdb` | `openframe-adapters[influxdb]` | `openframe-adapters-db-influxdb` | `influxdb-client` |
170
+ | `milvus` | `openframe-adapters[milvus]` | `openframe-adapters-db-milvus` | `pymilvus` |
171
+ | `chromadb` | `openframe-adapters[chromadb]` | `openframe-adapters-db-chromadb` | `chromadb` |
172
+ | `qdrant` | `openframe-adapters[qdrant]` | `openframe-adapters-db-qdrant` | `qdrant-client` |
173
+ | `faiss` | `openframe-adapters[faiss]` | `openframe-adapters-db-faiss` | `faiss-cpu` |
174
+ | `falkordb` | `openframe-adapters[falkordb]` | `openframe-adapters-db-falkordb` | `falkordb` |
175
+ | `kafka` | `openframe-adapters[kafka]` | `openframe-adapters-queue-kafka` | `aiokafka` |
176
+ | `nats` | `openframe-adapters[nats]` | `openframe-adapters-queue-nats` | `nats-py` |
177
+ | `rabbitmq` | `openframe-adapters[rabbitmq]` | `openframe-adapters-queue-rabbitmq` | `aio-pika` |
178
+ | `db` | `openframe-adapters[db]` | all 7 DB adapters above | — |
179
+ | `vector` | `openframe-adapters[vector]` | all 5 vector adapters above | — |
180
+ | `queue` | `openframe-adapters[queue]` | all 3 queue adapters above | — |
181
+ | `all` | `openframe-adapters[all]` | all 15 adapter packages | — |
182
+
183
+ ---
184
+
185
+ ## Core dependency
186
+
187
+ [`openframe-core`](https://pypi.org/project/openframe-core/) is installed
188
+ automatically as a transitive dependency — you never need to declare it
189
+ separately. Every individual adapter package pins `openframe-core>=1.0,<2`,
190
+ so installing any extra brings core in as part of the resolution.
191
+
192
+ ---
193
+
194
+ ## Versioning
195
+
196
+ Each adapter package is versioned independently and published to PyPI under
197
+ its own name (e.g. `openframe-adapters-db-postgres`). This meta-package pins
198
+ all of them at `>=1.0,<2`, so patch and minor releases are picked up
199
+ automatically the next time you run `pip install --upgrade`. Only a major
200
+ version bump in an individual adapter requires a meta-package update.
201
+
202
+ When a new adapter is added to the ecosystem, only this `pyproject.toml`
203
+ changes — one new line in `[project.optional-dependencies]` and an update to
204
+ the relevant group. No other file in the monorepo is touched.
@@ -0,0 +1,133 @@
1
+ # openframe-adapters
2
+
3
+ A metadata-only package that provides named install shortcuts for the entire
4
+ `openframe-adapters` ecosystem. Install one adapter, a category, or everything
5
+ — all with a single `pip install` command.
6
+
7
+ ---
8
+
9
+ ## Install surface
10
+
11
+ ### Individual adapters
12
+
13
+ ```bash
14
+ # Relational
15
+ pip install openframe-adapters[postgres] # PostgreSQL via asyncpg
16
+ pip install openframe-adapters[mysql] # MySQL via aiomysql
17
+
18
+ # Key-value
19
+ pip install openframe-adapters[redis] # Redis via redis-py
20
+ pip install openframe-adapters[dynamodb] # DynamoDB via aiobotocore
21
+
22
+ # Document
23
+ pip install openframe-adapters[mongo] # MongoDB via Motor
24
+
25
+ # Columnar
26
+ pip install openframe-adapters[cassandra] # Cassandra via cassandra-driver
27
+
28
+ # Time-series
29
+ pip install openframe-adapters[influxdb] # InfluxDB via influxdb-client
30
+
31
+ # Vector
32
+ pip install openframe-adapters[milvus] # Milvus via pymilvus
33
+ pip install openframe-adapters[chromadb] # Chroma via chromadb
34
+ pip install openframe-adapters[qdrant] # Qdrant via qdrant-client
35
+ pip install openframe-adapters[faiss] # FAISS via faiss-cpu
36
+ pip install openframe-adapters[falkordb] # FalkorDB via falkordb
37
+
38
+ # Queues
39
+ pip install openframe-adapters[kafka] # Kafka via aiokafka
40
+ pip install openframe-adapters[nats] # NATS via nats-py
41
+ pip install openframe-adapters[rabbitmq] # RabbitMQ via aio-pika
42
+ ```
43
+
44
+ ### Groups — one category
45
+
46
+ ```bash
47
+ pip install openframe-adapters[db] # all 7 DB adapters (relational + document + specialist)
48
+ pip install openframe-adapters[vector] # all 5 vector DB adapters
49
+ pip install openframe-adapters[queue] # all 3 queue adapters
50
+ ```
51
+
52
+ ### Everything
53
+
54
+ ```bash
55
+ pip install openframe-adapters[all] # all 15 individual adapter packages
56
+ ```
57
+
58
+ ### Convenience combinations
59
+
60
+ ```bash
61
+ pip install openframe-adapters[rest-min] # postgres + redis (REST API minimum)
62
+ pip install openframe-adapters[rag-stack] # milvus + falkordb + redis (RAG / inference)
63
+ pip install openframe-adapters[research-min] # mongo + redis (Research Vault Phase 1)
64
+ ```
65
+
66
+ ---
67
+
68
+ ## Import paths
69
+
70
+ The import path is identical regardless of how you installed:
71
+
72
+ ```python
73
+ # Whether you ran:
74
+ # pip install openframe-adapters[postgres]
75
+ # or:
76
+ # pip install openframe-adapters[all]
77
+ # the import is always the same:
78
+ from openframe.adapters.db.postgres import PostgresRepository
79
+ from openframe.adapters.db.mongo import MongoRepository
80
+ ```
81
+
82
+ Each individual adapter package uses Python namespace packages under
83
+ `openframe.adapters.*`, so all adapters share the same top-level namespace
84
+ without any conflicts.
85
+
86
+ ---
87
+
88
+ ## Package inventory
89
+
90
+ | Extra | `pip install` | Package installed | Async driver |
91
+ |---|---|---|---|
92
+ | `postgres` | `openframe-adapters[postgres]` | `openframe-adapters-db-postgres` | `asyncpg` |
93
+ | `mysql` | `openframe-adapters[mysql]` | `openframe-adapters-db-mysql` | `aiomysql` |
94
+ | `redis` | `openframe-adapters[redis]` | `openframe-adapters-db-redis` | `redis-py` (asyncio) |
95
+ | `dynamodb` | `openframe-adapters[dynamodb]` | `openframe-adapters-db-dynamodb` | `aiobotocore` |
96
+ | `mongo` | `openframe-adapters[mongo]` | `openframe-adapters-db-mongo` | `Motor` |
97
+ | `cassandra` | `openframe-adapters[cassandra]` | `openframe-adapters-db-cassandra` | `cassandra-driver` |
98
+ | `influxdb` | `openframe-adapters[influxdb]` | `openframe-adapters-db-influxdb` | `influxdb-client` |
99
+ | `milvus` | `openframe-adapters[milvus]` | `openframe-adapters-db-milvus` | `pymilvus` |
100
+ | `chromadb` | `openframe-adapters[chromadb]` | `openframe-adapters-db-chromadb` | `chromadb` |
101
+ | `qdrant` | `openframe-adapters[qdrant]` | `openframe-adapters-db-qdrant` | `qdrant-client` |
102
+ | `faiss` | `openframe-adapters[faiss]` | `openframe-adapters-db-faiss` | `faiss-cpu` |
103
+ | `falkordb` | `openframe-adapters[falkordb]` | `openframe-adapters-db-falkordb` | `falkordb` |
104
+ | `kafka` | `openframe-adapters[kafka]` | `openframe-adapters-queue-kafka` | `aiokafka` |
105
+ | `nats` | `openframe-adapters[nats]` | `openframe-adapters-queue-nats` | `nats-py` |
106
+ | `rabbitmq` | `openframe-adapters[rabbitmq]` | `openframe-adapters-queue-rabbitmq` | `aio-pika` |
107
+ | `db` | `openframe-adapters[db]` | all 7 DB adapters above | — |
108
+ | `vector` | `openframe-adapters[vector]` | all 5 vector adapters above | — |
109
+ | `queue` | `openframe-adapters[queue]` | all 3 queue adapters above | — |
110
+ | `all` | `openframe-adapters[all]` | all 15 adapter packages | — |
111
+
112
+ ---
113
+
114
+ ## Core dependency
115
+
116
+ [`openframe-core`](https://pypi.org/project/openframe-core/) is installed
117
+ automatically as a transitive dependency — you never need to declare it
118
+ separately. Every individual adapter package pins `openframe-core>=1.0,<2`,
119
+ so installing any extra brings core in as part of the resolution.
120
+
121
+ ---
122
+
123
+ ## Versioning
124
+
125
+ Each adapter package is versioned independently and published to PyPI under
126
+ its own name (e.g. `openframe-adapters-db-postgres`). This meta-package pins
127
+ all of them at `>=1.0,<2`, so patch and minor releases are picked up
128
+ automatically the next time you run `pip install --upgrade`. Only a major
129
+ version bump in an individual adapter requires a meta-package update.
130
+
131
+ When a new adapter is added to the ecosystem, only this `pyproject.toml`
132
+ changes — one new line in `[project.optional-dependencies]` and an update to
133
+ the relevant group. No other file in the monorepo is touched.
@@ -0,0 +1,204 @@
1
+ Metadata-Version: 2.4
2
+ Name: openframe-adapters
3
+ Version: 1.0.0
4
+ Summary: OpenFrame Microservice Suite — adapter meta-package. Install adapters by name or group.
5
+ License: MIT
6
+ Keywords: openframe,hexagonal,microservice,postgres,mongodb,redis,kafka,vector-database
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ Provides-Extra: postgres
10
+ Requires-Dist: openframe-adapters-db-postgres<2,>=1.0; extra == "postgres"
11
+ Provides-Extra: mysql
12
+ Requires-Dist: openframe-adapters-db-mysql<2,>=1.0; extra == "mysql"
13
+ Provides-Extra: redis
14
+ Requires-Dist: openframe-adapters-db-redis<2,>=1.0; extra == "redis"
15
+ Provides-Extra: dynamodb
16
+ Requires-Dist: openframe-adapters-db-dynamodb<2,>=1.0; extra == "dynamodb"
17
+ Provides-Extra: mongo
18
+ Requires-Dist: openframe-adapters-db-mongo<2,>=1.0; extra == "mongo"
19
+ Provides-Extra: cassandra
20
+ Requires-Dist: openframe-adapters-db-cassandra<2,>=1.0; extra == "cassandra"
21
+ Provides-Extra: influxdb
22
+ Requires-Dist: openframe-adapters-db-influxdb<2,>=1.0; extra == "influxdb"
23
+ Provides-Extra: milvus
24
+ Requires-Dist: openframe-adapters-db-milvus<2,>=1.0; extra == "milvus"
25
+ Provides-Extra: chromadb
26
+ Requires-Dist: openframe-adapters-db-chromadb<2,>=1.0; extra == "chromadb"
27
+ Provides-Extra: qdrant
28
+ Requires-Dist: openframe-adapters-db-qdrant<2,>=1.0; extra == "qdrant"
29
+ Provides-Extra: faiss
30
+ Requires-Dist: openframe-adapters-db-faiss<2,>=1.0; extra == "faiss"
31
+ Provides-Extra: falkordb
32
+ Requires-Dist: openframe-adapters-db-falkordb<2,>=1.0; extra == "falkordb"
33
+ Provides-Extra: kafka
34
+ Requires-Dist: openframe-adapters-queue-kafka<2,>=1.0; extra == "kafka"
35
+ Provides-Extra: nats
36
+ Requires-Dist: openframe-adapters-queue-nats<2,>=1.0; extra == "nats"
37
+ Provides-Extra: rabbitmq
38
+ Requires-Dist: openframe-adapters-queue-rabbitmq<2,>=1.0; extra == "rabbitmq"
39
+ Provides-Extra: db
40
+ Requires-Dist: openframe-adapters[postgres]; extra == "db"
41
+ Requires-Dist: openframe-adapters[mysql]; extra == "db"
42
+ Requires-Dist: openframe-adapters[redis]; extra == "db"
43
+ Requires-Dist: openframe-adapters[dynamodb]; extra == "db"
44
+ Requires-Dist: openframe-adapters[mongo]; extra == "db"
45
+ Requires-Dist: openframe-adapters[cassandra]; extra == "db"
46
+ Requires-Dist: openframe-adapters[influxdb]; extra == "db"
47
+ Provides-Extra: vector
48
+ Requires-Dist: openframe-adapters[milvus]; extra == "vector"
49
+ Requires-Dist: openframe-adapters[chromadb]; extra == "vector"
50
+ Requires-Dist: openframe-adapters[qdrant]; extra == "vector"
51
+ Requires-Dist: openframe-adapters[faiss]; extra == "vector"
52
+ Requires-Dist: openframe-adapters[falkordb]; extra == "vector"
53
+ Provides-Extra: queue
54
+ Requires-Dist: openframe-adapters[kafka]; extra == "queue"
55
+ Requires-Dist: openframe-adapters[nats]; extra == "queue"
56
+ Requires-Dist: openframe-adapters[rabbitmq]; extra == "queue"
57
+ Provides-Extra: all
58
+ Requires-Dist: openframe-adapters[db]; extra == "all"
59
+ Requires-Dist: openframe-adapters[vector]; extra == "all"
60
+ Requires-Dist: openframe-adapters[queue]; extra == "all"
61
+ Provides-Extra: rest-min
62
+ Requires-Dist: openframe-adapters[postgres]; extra == "rest-min"
63
+ Requires-Dist: openframe-adapters[redis]; extra == "rest-min"
64
+ Provides-Extra: rag-stack
65
+ Requires-Dist: openframe-adapters[milvus]; extra == "rag-stack"
66
+ Requires-Dist: openframe-adapters[falkordb]; extra == "rag-stack"
67
+ Requires-Dist: openframe-adapters[redis]; extra == "rag-stack"
68
+ Provides-Extra: research-min
69
+ Requires-Dist: openframe-adapters[mongo]; extra == "research-min"
70
+ Requires-Dist: openframe-adapters[redis]; extra == "research-min"
71
+
72
+ # openframe-adapters
73
+
74
+ A metadata-only package that provides named install shortcuts for the entire
75
+ `openframe-adapters` ecosystem. Install one adapter, a category, or everything
76
+ — all with a single `pip install` command.
77
+
78
+ ---
79
+
80
+ ## Install surface
81
+
82
+ ### Individual adapters
83
+
84
+ ```bash
85
+ # Relational
86
+ pip install openframe-adapters[postgres] # PostgreSQL via asyncpg
87
+ pip install openframe-adapters[mysql] # MySQL via aiomysql
88
+
89
+ # Key-value
90
+ pip install openframe-adapters[redis] # Redis via redis-py
91
+ pip install openframe-adapters[dynamodb] # DynamoDB via aiobotocore
92
+
93
+ # Document
94
+ pip install openframe-adapters[mongo] # MongoDB via Motor
95
+
96
+ # Columnar
97
+ pip install openframe-adapters[cassandra] # Cassandra via cassandra-driver
98
+
99
+ # Time-series
100
+ pip install openframe-adapters[influxdb] # InfluxDB via influxdb-client
101
+
102
+ # Vector
103
+ pip install openframe-adapters[milvus] # Milvus via pymilvus
104
+ pip install openframe-adapters[chromadb] # Chroma via chromadb
105
+ pip install openframe-adapters[qdrant] # Qdrant via qdrant-client
106
+ pip install openframe-adapters[faiss] # FAISS via faiss-cpu
107
+ pip install openframe-adapters[falkordb] # FalkorDB via falkordb
108
+
109
+ # Queues
110
+ pip install openframe-adapters[kafka] # Kafka via aiokafka
111
+ pip install openframe-adapters[nats] # NATS via nats-py
112
+ pip install openframe-adapters[rabbitmq] # RabbitMQ via aio-pika
113
+ ```
114
+
115
+ ### Groups — one category
116
+
117
+ ```bash
118
+ pip install openframe-adapters[db] # all 7 DB adapters (relational + document + specialist)
119
+ pip install openframe-adapters[vector] # all 5 vector DB adapters
120
+ pip install openframe-adapters[queue] # all 3 queue adapters
121
+ ```
122
+
123
+ ### Everything
124
+
125
+ ```bash
126
+ pip install openframe-adapters[all] # all 15 individual adapter packages
127
+ ```
128
+
129
+ ### Convenience combinations
130
+
131
+ ```bash
132
+ pip install openframe-adapters[rest-min] # postgres + redis (REST API minimum)
133
+ pip install openframe-adapters[rag-stack] # milvus + falkordb + redis (RAG / inference)
134
+ pip install openframe-adapters[research-min] # mongo + redis (Research Vault Phase 1)
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Import paths
140
+
141
+ The import path is identical regardless of how you installed:
142
+
143
+ ```python
144
+ # Whether you ran:
145
+ # pip install openframe-adapters[postgres]
146
+ # or:
147
+ # pip install openframe-adapters[all]
148
+ # the import is always the same:
149
+ from openframe.adapters.db.postgres import PostgresRepository
150
+ from openframe.adapters.db.mongo import MongoRepository
151
+ ```
152
+
153
+ Each individual adapter package uses Python namespace packages under
154
+ `openframe.adapters.*`, so all adapters share the same top-level namespace
155
+ without any conflicts.
156
+
157
+ ---
158
+
159
+ ## Package inventory
160
+
161
+ | Extra | `pip install` | Package installed | Async driver |
162
+ |---|---|---|---|
163
+ | `postgres` | `openframe-adapters[postgres]` | `openframe-adapters-db-postgres` | `asyncpg` |
164
+ | `mysql` | `openframe-adapters[mysql]` | `openframe-adapters-db-mysql` | `aiomysql` |
165
+ | `redis` | `openframe-adapters[redis]` | `openframe-adapters-db-redis` | `redis-py` (asyncio) |
166
+ | `dynamodb` | `openframe-adapters[dynamodb]` | `openframe-adapters-db-dynamodb` | `aiobotocore` |
167
+ | `mongo` | `openframe-adapters[mongo]` | `openframe-adapters-db-mongo` | `Motor` |
168
+ | `cassandra` | `openframe-adapters[cassandra]` | `openframe-adapters-db-cassandra` | `cassandra-driver` |
169
+ | `influxdb` | `openframe-adapters[influxdb]` | `openframe-adapters-db-influxdb` | `influxdb-client` |
170
+ | `milvus` | `openframe-adapters[milvus]` | `openframe-adapters-db-milvus` | `pymilvus` |
171
+ | `chromadb` | `openframe-adapters[chromadb]` | `openframe-adapters-db-chromadb` | `chromadb` |
172
+ | `qdrant` | `openframe-adapters[qdrant]` | `openframe-adapters-db-qdrant` | `qdrant-client` |
173
+ | `faiss` | `openframe-adapters[faiss]` | `openframe-adapters-db-faiss` | `faiss-cpu` |
174
+ | `falkordb` | `openframe-adapters[falkordb]` | `openframe-adapters-db-falkordb` | `falkordb` |
175
+ | `kafka` | `openframe-adapters[kafka]` | `openframe-adapters-queue-kafka` | `aiokafka` |
176
+ | `nats` | `openframe-adapters[nats]` | `openframe-adapters-queue-nats` | `nats-py` |
177
+ | `rabbitmq` | `openframe-adapters[rabbitmq]` | `openframe-adapters-queue-rabbitmq` | `aio-pika` |
178
+ | `db` | `openframe-adapters[db]` | all 7 DB adapters above | — |
179
+ | `vector` | `openframe-adapters[vector]` | all 5 vector adapters above | — |
180
+ | `queue` | `openframe-adapters[queue]` | all 3 queue adapters above | — |
181
+ | `all` | `openframe-adapters[all]` | all 15 adapter packages | — |
182
+
183
+ ---
184
+
185
+ ## Core dependency
186
+
187
+ [`openframe-core`](https://pypi.org/project/openframe-core/) is installed
188
+ automatically as a transitive dependency — you never need to declare it
189
+ separately. Every individual adapter package pins `openframe-core>=1.0,<2`,
190
+ so installing any extra brings core in as part of the resolution.
191
+
192
+ ---
193
+
194
+ ## Versioning
195
+
196
+ Each adapter package is versioned independently and published to PyPI under
197
+ its own name (e.g. `openframe-adapters-db-postgres`). This meta-package pins
198
+ all of them at `>=1.0,<2`, so patch and minor releases are picked up
199
+ automatically the next time you run `pip install --upgrade`. Only a major
200
+ version bump in an individual adapter requires a meta-package update.
201
+
202
+ When a new adapter is added to the ecosystem, only this `pyproject.toml`
203
+ changes — one new line in `[project.optional-dependencies]` and an update to
204
+ the relevant group. No other file in the monorepo is touched.
@@ -0,0 +1,7 @@
1
+ README.md
2
+ pyproject.toml
3
+ openframe_adapters.egg-info/PKG-INFO
4
+ openframe_adapters.egg-info/SOURCES.txt
5
+ openframe_adapters.egg-info/dependency_links.txt
6
+ openframe_adapters.egg-info/requires.txt
7
+ openframe_adapters.egg-info/top_level.txt
@@ -0,0 +1,84 @@
1
+
2
+ [all]
3
+ openframe-adapters[db]
4
+ openframe-adapters[vector]
5
+ openframe-adapters[queue]
6
+
7
+ [cassandra]
8
+ openframe-adapters-db-cassandra<2,>=1.0
9
+
10
+ [chromadb]
11
+ openframe-adapters-db-chromadb<2,>=1.0
12
+
13
+ [db]
14
+ openframe-adapters[postgres]
15
+ openframe-adapters[mysql]
16
+ openframe-adapters[redis]
17
+ openframe-adapters[dynamodb]
18
+ openframe-adapters[mongo]
19
+ openframe-adapters[cassandra]
20
+ openframe-adapters[influxdb]
21
+
22
+ [dynamodb]
23
+ openframe-adapters-db-dynamodb<2,>=1.0
24
+
25
+ [faiss]
26
+ openframe-adapters-db-faiss<2,>=1.0
27
+
28
+ [falkordb]
29
+ openframe-adapters-db-falkordb<2,>=1.0
30
+
31
+ [influxdb]
32
+ openframe-adapters-db-influxdb<2,>=1.0
33
+
34
+ [kafka]
35
+ openframe-adapters-queue-kafka<2,>=1.0
36
+
37
+ [milvus]
38
+ openframe-adapters-db-milvus<2,>=1.0
39
+
40
+ [mongo]
41
+ openframe-adapters-db-mongo<2,>=1.0
42
+
43
+ [mysql]
44
+ openframe-adapters-db-mysql<2,>=1.0
45
+
46
+ [nats]
47
+ openframe-adapters-queue-nats<2,>=1.0
48
+
49
+ [postgres]
50
+ openframe-adapters-db-postgres<2,>=1.0
51
+
52
+ [qdrant]
53
+ openframe-adapters-db-qdrant<2,>=1.0
54
+
55
+ [queue]
56
+ openframe-adapters[kafka]
57
+ openframe-adapters[nats]
58
+ openframe-adapters[rabbitmq]
59
+
60
+ [rabbitmq]
61
+ openframe-adapters-queue-rabbitmq<2,>=1.0
62
+
63
+ [rag-stack]
64
+ openframe-adapters[milvus]
65
+ openframe-adapters[falkordb]
66
+ openframe-adapters[redis]
67
+
68
+ [redis]
69
+ openframe-adapters-db-redis<2,>=1.0
70
+
71
+ [research-min]
72
+ openframe-adapters[mongo]
73
+ openframe-adapters[redis]
74
+
75
+ [rest-min]
76
+ openframe-adapters[postgres]
77
+ openframe-adapters[redis]
78
+
79
+ [vector]
80
+ openframe-adapters[milvus]
81
+ openframe-adapters[chromadb]
82
+ openframe-adapters[qdrant]
83
+ openframe-adapters[faiss]
84
+ openframe-adapters[falkordb]
@@ -0,0 +1,123 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "openframe-adapters"
7
+ version = "1.0.0"
8
+ description = "OpenFrame Microservice Suite — adapter meta-package. Install adapters by name or group."
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = { text = "MIT" }
12
+ keywords = [
13
+ "openframe",
14
+ "hexagonal",
15
+ "microservice",
16
+ "postgres",
17
+ "mongodb",
18
+ "redis",
19
+ "kafka",
20
+ "vector-database",
21
+ ]
22
+
23
+ # The meta-package has no runtime dependencies of its own.
24
+ # openframe-core is a transitive dependency — every individual
25
+ # adapter package already pins it. Installing any extra pulls
26
+ # openframe-core in automatically.
27
+ dependencies = []
28
+
29
+ [project.optional-dependencies]
30
+
31
+ # ── Individual adapters ────────────────────────────────────────────────────
32
+
33
+ # Relational
34
+ postgres = ["openframe-adapters-db-postgres>=1.0,<2"]
35
+ mysql = ["openframe-adapters-db-mysql>=1.0,<2"]
36
+
37
+ # Key-value
38
+ redis = ["openframe-adapters-db-redis>=1.0,<2"]
39
+ dynamodb = ["openframe-adapters-db-dynamodb>=1.0,<2"]
40
+
41
+ # Document
42
+ mongo = ["openframe-adapters-db-mongo>=1.0,<2"]
43
+
44
+ # Columnar
45
+ cassandra = ["openframe-adapters-db-cassandra>=1.0,<2"]
46
+
47
+ # Time-series
48
+ influxdb = ["openframe-adapters-db-influxdb>=1.0,<2"]
49
+
50
+ # Vector
51
+ milvus = ["openframe-adapters-db-milvus>=1.0,<2"]
52
+ chromadb = ["openframe-adapters-db-chromadb>=1.0,<2"]
53
+ qdrant = ["openframe-adapters-db-qdrant>=1.0,<2"]
54
+ faiss = ["openframe-adapters-db-faiss>=1.0,<2"]
55
+ falkordb = ["openframe-adapters-db-falkordb>=1.0,<2"]
56
+
57
+ # Queues
58
+ kafka = ["openframe-adapters-queue-kafka>=1.0,<2"]
59
+ nats = ["openframe-adapters-queue-nats>=1.0,<2"]
60
+ rabbitmq = ["openframe-adapters-queue-rabbitmq>=1.0,<2"]
61
+
62
+ # ── Group extras ───────────────────────────────────────────────────────────
63
+
64
+ # All relational + document + columnar + time-series DB adapters (7 packages)
65
+ db = [
66
+ "openframe-adapters[postgres]",
67
+ "openframe-adapters[mysql]",
68
+ "openframe-adapters[redis]",
69
+ "openframe-adapters[dynamodb]",
70
+ "openframe-adapters[mongo]",
71
+ "openframe-adapters[cassandra]",
72
+ "openframe-adapters[influxdb]",
73
+ ]
74
+
75
+ # All vector DB adapters (5 packages)
76
+ vector = [
77
+ "openframe-adapters[milvus]",
78
+ "openframe-adapters[chromadb]",
79
+ "openframe-adapters[qdrant]",
80
+ "openframe-adapters[faiss]",
81
+ "openframe-adapters[falkordb]",
82
+ ]
83
+
84
+ # All message queue adapters (3 packages)
85
+ queue = [
86
+ "openframe-adapters[kafka]",
87
+ "openframe-adapters[nats]",
88
+ "openframe-adapters[rabbitmq]",
89
+ ]
90
+
91
+ # Everything — all 15 individual adapter packages
92
+ all = [
93
+ "openframe-adapters[db]",
94
+ "openframe-adapters[vector]",
95
+ "openframe-adapters[queue]",
96
+ ]
97
+
98
+ # ── Convenience combinations ───────────────────────────────────────────────
99
+ # Common pairings used by specific templates or applications.
100
+
101
+ # REST API template minimum (postgres + redis)
102
+ rest-min = [
103
+ "openframe-adapters[postgres]",
104
+ "openframe-adapters[redis]",
105
+ ]
106
+
107
+ # RAG / inference stack (vector search + graph + cache)
108
+ rag-stack = [
109
+ "openframe-adapters[milvus]",
110
+ "openframe-adapters[falkordb]",
111
+ "openframe-adapters[redis]",
112
+ ]
113
+
114
+ # Research Vault Phase 1 (document store + cache)
115
+ research-min = [
116
+ "openframe-adapters[mongo]",
117
+ "openframe-adapters[redis]",
118
+ ]
119
+
120
+ [tool.setuptools]
121
+ # No Python source — this is a metadata-only package.
122
+ # setuptools builds an empty wheel containing only the package metadata.
123
+ packages = []
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+