Skip to content

Commit be4d59f

Browse files
committed
Adding support for Cassandra and Scylla
This add the support for those cassandra based dbs and their drivers, cassandra-driver, scylla-driver Ref: https://cassandra.apache.org/ Ref: https://www.scylladb.com/ Ref: https://pypi.org/project/cassandra-driver/ Ref: https://pypi.org/project/scylla-driver/
1 parent 29629e2 commit be4d59f

File tree

12 files changed

+211
-15
lines changed

12 files changed

+211
-15
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ jobs:
6767
- keycloak.py
6868
- arangodb.py
6969
- azurite.py
70+
- scylla.py
71+
- cassandra.py
7072
runs-on: ubuntu-latest
7173
steps:
7274
- uses: actions/checkout@v2

docs/database.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ Allows to spin up database images such as MySQL, PostgreSQL, MariaDB, Oracle XE,
1212
.. autoclass:: testcontainers.clickhouse.ClickHouseContainer
1313
.. autoclass:: testcontainers.neo4j.Neo4jContainer
1414
.. autoclass:: testcontainers.arangodb.ArangoDbContainer
15+
.. autoclass:: testcontainers.cassandra.CassandraContainer
16+
.. autoclass:: testcontainers.scylla.ScyllaContainer

requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-e file:.[docker-compose,mysql,oracle,postgresql,selenium,google-cloud-pubsub,minio,mongo,redis,mssqlserver,neo4j,kafka,rabbitmq,clickhouse,keycloak,arangodb,azurite]
1+
-e file:.[docker-compose,mysql,oracle,postgresql,selenium,google-cloud-pubsub,minio,mongo,redis,mssqlserver,neo4j,kafka,rabbitmq,clickhouse,keycloak,arangodb,azurite,cassandra,scylla]
22
codecov>=2.1.0
33
cryptography<37
44
flake8<3.8.0 # 3.8.0 adds a dependency on importlib-metadata which conflicts with other packages.

requirements/3.10.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ bleach==5.0.1
3636
# via readme-renderer
3737
cachetools==5.2.0
3838
# via google-auth
39+
cassandra-driver==3.25.0
40+
# via testcontainers
3941
certifi==2022.12.7
4042
# via
4143
# minio
@@ -48,6 +50,8 @@ cffi==1.15.1
4850
# pynacl
4951
charset-normalizer==2.1.1
5052
# via requests
53+
click==8.1.3
54+
# via geomet
5155
clickhouse-driver==0.2.5
5256
# via testcontainers
5357
codecov==2.1.12
@@ -96,6 +100,10 @@ exceptiongroup==1.0.4
96100
# trio
97101
flake8==3.7.9
98102
# via -r requirements.in
103+
geomet==0.2.1.post1
104+
# via
105+
# cassandra-driver
106+
# scylla-driver
99107
google-api-core[grpc]==2.11.0
100108
# via google-cloud-pubsub
101109
google-auth==2.15.0
@@ -227,7 +235,7 @@ pytest==7.2.0
227235
# pytest-cov
228236
pytest-cov==4.0.0
229237
# via -r requirements.in
230-
python-arango==7.5.3
238+
python-arango==7.5.4
231239
# via testcontainers
232240
python-dateutil==2.8.2
233241
# via pg8000
@@ -245,7 +253,9 @@ pytz==2022.6
245253
pytz-deprecation-shim==0.1.0.post0
246254
# via tzlocal
247255
pyyaml==5.4.1
248-
# via docker-compose
256+
# via
257+
# docker-compose
258+
# scylla-driver
249259
readme-renderer==37.3
250260
# via twine
251261
redis==4.4.0
@@ -281,6 +291,8 @@ rsa==4.9
281291
# python-jose
282292
scramp==1.4.4
283293
# via pg8000
294+
scylla-driver==3.25.10
295+
# via testcontainers
284296
secretstorage==3.3.3
285297
# via keyring
286298
selenium==4.7.2
@@ -289,13 +301,16 @@ six==1.16.0
289301
# via
290302
# azure-core
291303
# bleach
304+
# cassandra-driver
292305
# dockerpty
293306
# ecdsa
307+
# geomet
294308
# google-auth
295309
# isodate
296310
# jsonschema
297311
# paramiko
298312
# python-dateutil
313+
# scylla-driver
299314
# websocket-client
300315
sniffio==1.3.0
301316
# via trio
@@ -317,7 +332,7 @@ sphinxcontrib-qthelp==1.0.3
317332
# via sphinx
318333
sphinxcontrib-serializinghtml==1.1.5
319334
# via sphinx
320-
sqlalchemy==1.4.44
335+
sqlalchemy==1.4.45
321336
# via testcontainers
322337
texttable==1.6.7
323338
# via docker-compose

requirements/3.7.txt

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ cached-property==1.5.2
4242
# via docker-compose
4343
cachetools==5.2.0
4444
# via google-auth
45+
cassandra-driver==3.25.0
46+
# via testcontainers
4547
certifi==2022.12.7
4648
# via
4749
# minio
@@ -54,6 +56,8 @@ cffi==1.15.1
5456
# pynacl
5557
charset-normalizer==2.1.1
5658
# via requests
59+
click==8.1.3
60+
# via geomet
5761
clickhouse-driver==0.2.5
5862
# via testcontainers
5963
codecov==2.1.12
@@ -102,6 +106,10 @@ exceptiongroup==1.0.4
102106
# trio
103107
flake8==3.7.9
104108
# via -r requirements.in
109+
geomet==0.2.1.post1
110+
# via
111+
# cassandra-driver
112+
# scylla-driver
105113
google-api-core[grpc]==2.11.0
106114
# via google-cloud-pubsub
107115
google-auth==2.15.0
@@ -135,6 +143,7 @@ imagesize==1.4.1
135143
# via sphinx
136144
importlib-metadata==5.1.0
137145
# via
146+
# click
138147
# jsonschema
139148
# keyring
140149
# pg8000
@@ -187,7 +196,7 @@ packaging==22.0
187196
# sphinx
188197
paramiko==2.12.0
189198
# via docker
190-
pg8000==1.29.3
199+
pg8000==1.29.4
191200
# via -r requirements.in
192201
pika==1.3.1
193202
# via testcontainers
@@ -241,15 +250,15 @@ pytest==7.2.0
241250
# pytest-cov
242251
pytest-cov==4.0.0
243252
# via -r requirements.in
244-
python-arango==7.5.3
253+
python-arango==7.5.4
245254
# via testcontainers
246255
python-dateutil==2.8.2
247256
# via pg8000
248257
python-dotenv==0.21.0
249258
# via docker-compose
250259
python-jose==3.3.0
251260
# via python-keycloak
252-
python-keycloak==2.6.0
261+
python-keycloak==2.6.1
253262
# via testcontainers
254263
pytz==2022.6
255264
# via
@@ -259,7 +268,9 @@ pytz==2022.6
259268
pytz-deprecation-shim==0.1.0.post0
260269
# via tzlocal
261270
pyyaml==5.4.1
262-
# via docker-compose
271+
# via
272+
# docker-compose
273+
# scylla-driver
263274
readme-renderer==37.3
264275
# via twine
265276
redis==4.4.0
@@ -295,6 +306,8 @@ rsa==4.9
295306
# python-jose
296307
scramp==1.4.4
297308
# via pg8000
309+
scylla-driver==3.25.10
310+
# via testcontainers
298311
secretstorage==3.3.3
299312
# via keyring
300313
selenium==4.7.2
@@ -303,13 +316,16 @@ six==1.16.0
303316
# via
304317
# azure-core
305318
# bleach
319+
# cassandra-driver
306320
# dockerpty
307321
# ecdsa
322+
# geomet
308323
# google-auth
309324
# isodate
310325
# jsonschema
311326
# paramiko
312327
# python-dateutil
328+
# scylla-driver
313329
# websocket-client
314330
sniffio==1.3.0
315331
# via trio
@@ -331,7 +347,7 @@ sphinxcontrib-qthelp==1.0.3
331347
# via sphinx
332348
sphinxcontrib-serializinghtml==1.1.5
333349
# via sphinx
334-
sqlalchemy==1.4.44
350+
sqlalchemy==1.4.45
335351
# via testcontainers
336352
texttable==1.6.7
337353
# via docker-compose

requirements/3.8.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ bleach==5.0.1
4040
# via readme-renderer
4141
cachetools==5.2.0
4242
# via google-auth
43+
cassandra-driver==3.25.0
44+
# via testcontainers
4345
certifi==2022.12.7
4446
# via
4547
# minio
@@ -52,6 +54,8 @@ cffi==1.15.1
5254
# pynacl
5355
charset-normalizer==2.1.1
5456
# via requests
57+
click==8.1.3
58+
# via geomet
5559
clickhouse-driver==0.2.5
5660
# via testcontainers
5761
codecov==2.1.12
@@ -100,6 +104,10 @@ exceptiongroup==1.0.4
100104
# trio
101105
flake8==3.7.9
102106
# via -r requirements.in
107+
geomet==0.2.1.post1
108+
# via
109+
# cassandra-driver
110+
# scylla-driver
103111
google-api-core[grpc]==2.11.0
104112
# via google-cloud-pubsub
105113
google-auth==2.15.0
@@ -232,7 +240,7 @@ pytest==7.2.0
232240
# pytest-cov
233241
pytest-cov==4.0.0
234242
# via -r requirements.in
235-
python-arango==7.5.3
243+
python-arango==7.5.4
236244
# via testcontainers
237245
python-dateutil==2.8.2
238246
# via pg8000
@@ -250,7 +258,9 @@ pytz==2022.6
250258
pytz-deprecation-shim==0.1.0.post0
251259
# via tzlocal
252260
pyyaml==5.4.1
253-
# via docker-compose
261+
# via
262+
# docker-compose
263+
# scylla-driver
254264
readme-renderer==37.3
255265
# via twine
256266
redis==4.4.0
@@ -286,6 +296,8 @@ rsa==4.9
286296
# python-jose
287297
scramp==1.4.4
288298
# via pg8000
299+
scylla-driver==3.25.10
300+
# via testcontainers
289301
secretstorage==3.3.3
290302
# via keyring
291303
selenium==4.7.2
@@ -294,13 +306,16 @@ six==1.16.0
294306
# via
295307
# azure-core
296308
# bleach
309+
# cassandra-driver
297310
# dockerpty
298311
# ecdsa
312+
# geomet
299313
# google-auth
300314
# isodate
301315
# jsonschema
302316
# paramiko
303317
# python-dateutil
318+
# scylla-driver
304319
# websocket-client
305320
sniffio==1.3.0
306321
# via trio
@@ -322,7 +337,7 @@ sphinxcontrib-qthelp==1.0.3
322337
# via sphinx
323338
sphinxcontrib-serializinghtml==1.1.5
324339
# via sphinx
325-
sqlalchemy==1.4.44
340+
sqlalchemy==1.4.45
326341
# via testcontainers
327342
texttable==1.6.7
328343
# via docker-compose

requirements/3.9.txt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ bleach==5.0.1
3636
# via readme-renderer
3737
cachetools==5.2.0
3838
# via google-auth
39+
cassandra-driver==3.25.0
40+
# via testcontainers
3941
certifi==2022.12.7
4042
# via
4143
# minio
@@ -48,6 +50,8 @@ cffi==1.15.1
4850
# pynacl
4951
charset-normalizer==2.1.1
5052
# via requests
53+
click==8.1.3
54+
# via geomet
5155
clickhouse-driver==0.2.5
5256
# via testcontainers
5357
codecov==2.1.12
@@ -96,6 +100,10 @@ exceptiongroup==1.0.4
96100
# trio
97101
flake8==3.7.9
98102
# via -r requirements.in
103+
geomet==0.2.1.post1
104+
# via
105+
# cassandra-driver
106+
# scylla-driver
99107
google-api-core[grpc]==2.11.0
100108
# via google-cloud-pubsub
101109
google-auth==2.15.0
@@ -228,7 +236,7 @@ pytest==7.2.0
228236
# pytest-cov
229237
pytest-cov==4.0.0
230238
# via -r requirements.in
231-
python-arango==7.5.3
239+
python-arango==7.5.4
232240
# via testcontainers
233241
python-dateutil==2.8.2
234242
# via pg8000
@@ -246,7 +254,9 @@ pytz==2022.6
246254
pytz-deprecation-shim==0.1.0.post0
247255
# via tzlocal
248256
pyyaml==5.4.1
249-
# via docker-compose
257+
# via
258+
# docker-compose
259+
# scylla-driver
250260
readme-renderer==37.3
251261
# via twine
252262
redis==4.4.0
@@ -282,6 +292,8 @@ rsa==4.9
282292
# python-jose
283293
scramp==1.4.4
284294
# via pg8000
295+
scylla-driver==3.25.10
296+
# via testcontainers
285297
secretstorage==3.3.3
286298
# via keyring
287299
selenium==4.7.2
@@ -290,13 +302,16 @@ six==1.16.0
290302
# via
291303
# azure-core
292304
# bleach
305+
# cassandra-driver
293306
# dockerpty
294307
# ecdsa
308+
# geomet
295309
# google-auth
296310
# isodate
297311
# jsonschema
298312
# paramiko
299313
# python-dateutil
314+
# scylla-driver
300315
# websocket-client
301316
sniffio==1.3.0
302317
# via trio
@@ -318,7 +333,7 @@ sphinxcontrib-qthelp==1.0.3
318333
# via sphinx
319334
sphinxcontrib-serializinghtml==1.1.5
320335
# via sphinx
321-
sqlalchemy==1.4.44
336+
sqlalchemy==1.4.45
322337
# via testcontainers
323338
texttable==1.6.7
324339
# via docker-compose

setup.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272
'keycloak': ['python-keycloak'],
7373
'arangodb': ['python-arango'],
7474
'azurite': ['azure-storage-blob'],
75+
'cassandra': ['cassandra-driver'],
76+
'scylla': ['scylla-driver'],
7577
},
7678
long_description_content_type="text/x-rst",
7779
long_description=long_description,

0 commit comments

Comments
 (0)