Skip to content

Commit 33f3291

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 d48294c commit 33f3291

File tree

10 files changed

+191
-26
lines changed

10 files changed

+191
-26
lines changed

docs/database.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ Allows to spin up database images such as MySQL, PostgreSQL, MariaDB, Oracle XE,
1111
.. autoclass:: testcontainers.mongodb.MongoDbContainer
1212
.. autoclass:: testcontainers.mssql.SqlServerContainer
1313
.. autoclass:: testcontainers.neo4j.Neo4jContainer
14+
.. autoclass:: testcontainers.cassandra.CassandraContainer
15+
.. 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,mongo,redis,mssqlserver,neo4j,kafka]
1+
-e file:.[docker-compose,mysql,oracle,postgresql,selenium,google-cloud-pubsub,mongo,redis,mssqlserver,neo4j,kafka,cassandra,scylla]
22
codecov>=2.1.0
33
flake8
44
pytest

requirements/3.6.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile
2+
# This file is autogenerated by pip-compile with python 3.6
33
# To update, run:
44
#
55
# pip-compile --output-file=requirements/3.6.txt requirements.in
@@ -20,6 +20,8 @@ cached-property==1.5.1
2020
# via docker-compose
2121
cachetools==4.1.1
2222
# via google-auth
23+
cassandra-driver==3.25.0
24+
# via testcontainers
2325
certifi==2020.6.20
2426
# via requests
2527
cffi==1.14.2
@@ -29,6 +31,8 @@ cffi==1.14.2
2931
# pynacl
3032
chardet==3.0.4
3133
# via requests
34+
click==8.0.3
35+
# via geomet
3236
codecov==2.1.8
3337
# via -r requirements.in
3438
coverage==5.2.1
@@ -43,13 +47,13 @@ deprecation==2.1.0
4347
# via testcontainers
4448
distro==1.5.0
4549
# via docker-compose
46-
docker-compose==1.26.2
47-
# via testcontainers
4850
docker[ssh]==4.2.2
4951
# via
5052
# -r requirements.in
5153
# docker-compose
5254
# testcontainers
55+
docker-compose==1.26.2
56+
# via testcontainers
5357
dockerpty==0.4.1
5458
# via docker-compose
5559
docopt==0.6.2
@@ -58,6 +62,10 @@ docutils==0.16
5862
# via sphinx
5963
flake8==3.8.3
6064
# via -r requirements.in
65+
geomet==0.2.1.post1
66+
# via
67+
# cassandra-driver
68+
# scylla-driver
6169
google-api-core[grpc]==1.22.1
6270
# via google-cloud-pubsub
6371
google-auth==1.20.1
@@ -81,6 +89,7 @@ imagesize==1.2.0
8189
# via sphinx
8290
importlib-metadata==1.7.0
8391
# via
92+
# click
8493
# flake8
8594
# jsonschema
8695
# pluggy
@@ -91,7 +100,8 @@ jinja2==2.11.2
91100
# via sphinx
92101
jsonschema==3.2.0
93102
# via docker-compose
94-
kafka-python==2.0.2 # via testcontainers
103+
kafka-python==2.0.2
104+
# via testcontainers
95105
markupsafe==1.1.1
96106
# via jinja2
97107
mccabe==0.6.1
@@ -117,12 +127,12 @@ psycopg2-binary==2.8.5
117127
# via testcontainers
118128
py==1.9.0
119129
# via pytest
120-
pyasn1-modules==0.2.8
121-
# via google-auth
122130
pyasn1==0.4.8
123131
# via
124132
# pyasn1-modules
125133
# rsa
134+
pyasn1-modules==0.2.8
135+
# via google-auth
126136
pycodestyle==2.6.0
127137
# via flake8
128138
pycparser==2.20
@@ -143,12 +153,12 @@ pyparsing==2.4.7
143153
# via packaging
144154
pyrsistent==0.16.0
145155
# via jsonschema
146-
pytest-cov==2.10.1
147-
# via -r requirements.in
148156
pytest==6.0.1
149157
# via
150158
# -r requirements.in
151159
# pytest-cov
160+
pytest-cov==2.10.1
161+
# via -r requirements.in
152162
python-dotenv==0.14.0
153163
# via docker-compose
154164
pytz==2020.1
@@ -169,15 +179,19 @@ requests==2.24.0
169179
# sphinx
170180
rsa==4.6
171181
# via google-auth
182+
scylla-driver==3.25.0
183+
# via testcontainers
172184
selenium==3.141.0
173185
# via testcontainers
174186
six==1.15.0
175187
# via
176188
# bcrypt
189+
# cassandra-driver
177190
# cryptography
178191
# docker
179192
# docker-compose
180193
# dockerpty
194+
# geomet
181195
# google-api-core
182196
# google-auth
183197
# grpcio
@@ -186,6 +200,7 @@ six==1.15.0
186200
# protobuf
187201
# pynacl
188202
# pyrsistent
203+
# scylla-driver
189204
# websocket-client
190205
snowballstemmer==2.0.0
191206
# via sphinx

requirements/3.7.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile
2+
# This file is autogenerated by pip-compile with python 3.7
33
# To update, run:
44
#
55
# pip-compile --output-file=requirements/3.7.txt requirements.in
@@ -20,6 +20,8 @@ cached-property==1.5.1
2020
# via docker-compose
2121
cachetools==4.1.1
2222
# via google-auth
23+
cassandra-driver==3.25.0
24+
# via testcontainers
2325
certifi==2020.6.20
2426
# via requests
2527
cffi==1.14.2
@@ -29,6 +31,8 @@ cffi==1.14.2
2931
# pynacl
3032
chardet==3.0.4
3133
# via requests
34+
click==8.0.3
35+
# via geomet
3236
codecov==2.1.8
3337
# via -r requirements.in
3438
coverage==5.2.1
@@ -43,13 +47,13 @@ deprecation==2.1.0
4347
# via testcontainers
4448
distro==1.5.0
4549
# via docker-compose
46-
docker-compose==1.26.2
47-
# via testcontainers
4850
docker[ssh]==4.2.2
4951
# via
5052
# -r requirements.in
5153
# docker-compose
5254
# testcontainers
55+
docker-compose==1.26.2
56+
# via testcontainers
5357
dockerpty==0.4.1
5458
# via docker-compose
5559
docopt==0.6.2
@@ -58,6 +62,10 @@ docutils==0.16
5862
# via sphinx
5963
flake8==3.8.3
6064
# via -r requirements.in
65+
geomet==0.2.1.post1
66+
# via
67+
# cassandra-driver
68+
# scylla-driver
6169
google-api-core[grpc]==1.22.1
6270
# via google-cloud-pubsub
6371
google-auth==1.20.1
@@ -81,6 +89,7 @@ imagesize==1.2.0
8189
# via sphinx
8290
importlib-metadata==1.7.0
8391
# via
92+
# click
8493
# flake8
8594
# jsonschema
8695
# pluggy
@@ -91,7 +100,8 @@ jinja2==2.11.2
91100
# via sphinx
92101
jsonschema==3.2.0
93102
# via docker-compose
94-
kafka-python==2.0.2 # via testcontainers
103+
kafka-python==2.0.2
104+
# via testcontainers
95105
markupsafe==1.1.1
96106
# via jinja2
97107
mccabe==0.6.1
@@ -117,12 +127,12 @@ psycopg2-binary==2.8.5
117127
# via testcontainers
118128
py==1.9.0
119129
# via pytest
120-
pyasn1-modules==0.2.8
121-
# via google-auth
122130
pyasn1==0.4.8
123131
# via
124132
# pyasn1-modules
125133
# rsa
134+
pyasn1-modules==0.2.8
135+
# via google-auth
126136
pycodestyle==2.6.0
127137
# via flake8
128138
pycparser==2.20
@@ -143,12 +153,12 @@ pyparsing==2.4.7
143153
# via packaging
144154
pyrsistent==0.16.0
145155
# via jsonschema
146-
pytest-cov==2.10.1
147-
# via -r requirements.in
148156
pytest==6.0.1
149157
# via
150158
# -r requirements.in
151159
# pytest-cov
160+
pytest-cov==2.10.1
161+
# via -r requirements.in
152162
python-dotenv==0.14.0
153163
# via docker-compose
154164
pytz==2020.1
@@ -169,15 +179,19 @@ requests==2.24.0
169179
# sphinx
170180
rsa==4.6
171181
# via google-auth
182+
scylla-driver==3.25.0
183+
# via testcontainers
172184
selenium==3.141.0
173185
# via testcontainers
174186
six==1.15.0
175187
# via
176188
# bcrypt
189+
# cassandra-driver
177190
# cryptography
178191
# docker
179192
# docker-compose
180193
# dockerpty
194+
# geomet
181195
# google-api-core
182196
# google-auth
183197
# grpcio
@@ -186,6 +200,7 @@ six==1.15.0
186200
# protobuf
187201
# pynacl
188202
# pyrsistent
203+
# scylla-driver
189204
# websocket-client
190205
snowballstemmer==2.0.0
191206
# via sphinx

requirements/3.8.txt

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile
2+
# This file is autogenerated by pip-compile with python 3.8
33
# To update, run:
44
#
55
# pip-compile --output-file=requirements/3.8.txt requirements.in
@@ -20,6 +20,8 @@ cached-property==1.5.1
2020
# via docker-compose
2121
cachetools==4.1.1
2222
# via google-auth
23+
cassandra-driver==3.25.0
24+
# via testcontainers
2325
certifi==2020.6.20
2426
# via requests
2527
cffi==1.14.2
@@ -29,6 +31,8 @@ cffi==1.14.2
2931
# pynacl
3032
chardet==3.0.4
3133
# via requests
34+
click==8.0.3
35+
# via geomet
3236
codecov==2.1.8
3337
# via -r requirements.in
3438
coverage==5.2.1
@@ -43,13 +47,13 @@ deprecation==2.1.0
4347
# via testcontainers
4448
distro==1.5.0
4549
# via docker-compose
46-
docker-compose==1.26.2
47-
# via testcontainers
4850
docker[ssh]==4.2.2
4951
# via
5052
# -r requirements.in
5153
# docker-compose
5254
# testcontainers
55+
docker-compose==1.26.2
56+
# via testcontainers
5357
dockerpty==0.4.1
5458
# via docker-compose
5559
docopt==0.6.2
@@ -58,6 +62,10 @@ docutils==0.16
5862
# via sphinx
5963
flake8==3.8.3
6064
# via -r requirements.in
65+
geomet==0.2.1.post1
66+
# via
67+
# cassandra-driver
68+
# scylla-driver
6169
google-api-core[grpc]==1.22.1
6270
# via google-cloud-pubsub
6371
google-auth==1.20.1
@@ -85,7 +93,8 @@ jinja2==2.11.2
8593
# via sphinx
8694
jsonschema==3.2.0
8795
# via docker-compose
88-
kafka-python==2.0.2 # via testcontainers
96+
kafka-python==2.0.2
97+
# via testcontainers
8998
markupsafe==1.1.1
9099
# via jinja2
91100
mccabe==0.6.1
@@ -111,12 +120,12 @@ psycopg2-binary==2.8.5
111120
# via testcontainers
112121
py==1.9.0
113122
# via pytest
114-
pyasn1-modules==0.2.8
115-
# via google-auth
116123
pyasn1==0.4.8
117124
# via
118125
# pyasn1-modules
119126
# rsa
127+
pyasn1-modules==0.2.8
128+
# via google-auth
120129
pycodestyle==2.6.0
121130
# via flake8
122131
pycparser==2.20
@@ -137,12 +146,12 @@ pyparsing==2.4.7
137146
# via packaging
138147
pyrsistent==0.16.0
139148
# via jsonschema
140-
pytest-cov==2.10.1
141-
# via -r requirements.in
142149
pytest==6.0.1
143150
# via
144151
# -r requirements.in
145152
# pytest-cov
153+
pytest-cov==2.10.1
154+
# via -r requirements.in
146155
python-dotenv==0.14.0
147156
# via docker-compose
148157
pytz==2020.1
@@ -163,15 +172,19 @@ requests==2.24.0
163172
# sphinx
164173
rsa==4.6
165174
# via google-auth
175+
scylla-driver==3.25.0
176+
# via testcontainers
166177
selenium==3.141.0
167178
# via testcontainers
168179
six==1.15.0
169180
# via
170181
# bcrypt
182+
# cassandra-driver
171183
# cryptography
172184
# docker
173185
# docker-compose
174186
# dockerpty
187+
# geomet
175188
# google-api-core
176189
# google-auth
177190
# grpcio
@@ -180,6 +193,7 @@ six==1.15.0
180193
# protobuf
181194
# pynacl
182195
# pyrsistent
196+
# scylla-driver
183197
# websocket-client
184198
snowballstemmer==2.0.0
185199
# via sphinx

setup.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@
6363
'redis': ['redis'],
6464
'mssqlserver': ['pyodbc'],
6565
'neo4j': ['neo4j'],
66-
'kafka': ['kafka-python']
66+
'kafka': ['kafka-python'],
67+
'cassandra': ['cassandra-driver'],
68+
'scylla': ['scylla-driver']
6769
},
6870
long_description_content_type="text/x-rst",
6971
long_description=long_description,

0 commit comments

Comments
 (0)