mirror of https://github.com/apache/cassandra
Patch by Blake Eggleston & Aleksey Yeshchenko Reviewed by Blake Eggleston, Aleksey Yeshchenko, & Abe Ratnofsky for CASSANDRA-20304, CASSANDRA-20305, & CASSANDRA-20308, CASSANDRA-20373 Co-authored-by: Blake Eggleston <blake@ultrablake.com> Co-authored-by: Aleksey Yeschenko <aleksey@apache.org> |
||
|---|---|---|
| .. | ||
| cqlshlib | ||
| README.asc | ||
| cassandra-cqlsh-tests.sh | ||
| requirements.txt | ||
| setup.py | ||
README.asc
== Overview This directory contains code primarily for cqlsh. cqlsh uses cqlshlib in this directory. Currently, cqlshlib drops support for Python 2.7. Python 3.6 and 3.7 are deprecated, making Python 3.8+ the recommended version. == Requirements . Python 3.8+ (for cqlsh) . virtualenv . Docker (optional) == Running tests The following environment variables can be configured for the database connection - . CQL_TEST_HOST, default 127.0.0.1 . CQL_TEST_PORT, default 9042 . CQL_TEST_USER, default 'cassandra' . CQL_TEST_PWD You can run tests with a local Cassandra server with: $ pytest You can run tests on the python style compliance issues with: $ pycodestyle --ignore E501,E402,E731,W503 **/*.py In order to run tests in a virtual environment for cqlshlib, run cassandra-cqlsh-tests.sh in this directory. It will automatically setup a virtualenv with the appropriate version of Python and run tests inside it. To run cqlsh using publicly available Docker images to connect to Cassandra on the same host, with `$CASSANDRA_DIR` pointing to either the source or install directory where `bin/cqlsh` is located. For Python 3.11: $ docker run -v $CASSANDRA_DIR:/code -it python:3.11-slim /code/bin/cqlsh host.docker.internal For Python 3.8: $ docker run -v $CASSANDRA_DIR:/code -it python:3.8-slim /code/bin/cqlsh host.docker.internal If `host.docker.internal` isn't supported, then you can use `--net="host"`: $ docker run --net="host" -v $CASSANDRA_DIR:/code -it python:3.11-slim /code/bin/cqlsh This will try to spawn a cqlsh instance inside the Docker container with a minimal Python installation. It will try to connect to the Cassandra instance running on the Docker host at port 9042. If you have Cassandra running elsewhere, replace host.docker.internal with the IP / hostname as usual. Please ensure that the IP / host is accessible from _within_ the Docker container.