diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml new file mode 100644 index 00000000000..a0859c3da6c --- /dev/null +++ b/.github/workflows/pages.yml @@ -0,0 +1,34 @@ +name: "CI Docs" + +on: + push: + branches: + - latest + tags: + - '**' +jobs: + release: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + persist-credentials: false + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: 3.7 + - name: Set up Doxygen + run: sudo apt-get install doxygen + - name: Build Sphinx docs + run: | + export PATH=$PATH:~/.local/bin + cd docs + make multiversion + - name: Deploy + run : ./docs/_utils/deploy.sh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + LATEST_VERSION: latest diff --git a/.gitignore b/.gitignore index 7cf0248307f..b631491efeb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,8 +4,10 @@ testing/ .settings .classpath .project -doc -docs +docs/_build +docs/_source +html +latex notes .DS_Store diff --git a/README-dev.rst b/README-dev.rst new file mode 100644 index 00000000000..e647c7ade6b --- /dev/null +++ b/README-dev.rst @@ -0,0 +1,36 @@ +Building the Docs +================= + +*Note*: The docs build instructions have been tested with Sphinx 2.4.4 and Fedora 32. + +To build and preview the docs locally, you will need to install the following software: + +- `Git `_ +- `Python 3.7 `_ +- `pip `_ +- `doxygen `_ + +Run the following command to build the docs. + +.. code:: console + + cd docs + make preview + +Once the command completes processing, open http://127.0.0.1:5500/ with your preferred browser. + +Building multiple documentation versions +======================================== + +Build Sphinx docs for all the versions defined in ``docs/conf.py``. + +The multiverson command does not build doxygen docs. + +.. code:: console + + cd docs + make multiversion + +Then, open ``docs/_build/dirhtml//index.html`` with your preferred browser. + +**NOTE:** If you only can see docs generated for the master branch, try to run ``git fetch --tags`` to download the latest tags from remote. diff --git a/README.md b/README.md index 7f184b637c1..6fed9e42e64 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +```eval_rst +:orphan: +``` # Datastax Java Driver for Apache Cassandra® *If you're reading this on github.com, please note that this is the readme diff --git a/changelog/README.md b/changelog/README.md index 45cefceff26..685c0cd8e4e 100644 --- a/changelog/README.md +++ b/changelog/README.md @@ -5,17 +5,17 @@ 3.x versions get published. --> -## 3.10.1 +### 3.10.1 - [bug] JAVA-2857: Fix NPE when built statements without parameters are logged at TRACE level. - [bug] JAVA-2843: Successfully parse DSE table schema in OSS driver. -## 3.10.0 +### 3.10.0 - [improvement] JAVA-2676: Don't reschedule flusher after empty runs - [new feature] JAVA-2772: Support new protocol v5 message format -## 3.9.0 +### 3.9.0 - [bug] JAVA-2627: Avoid logging error message including stack trace in request handler. - [new feature] JAVA-2706: Add now_in_seconds to protocol v5 query messages. @@ -23,7 +23,7 @@ - [improvement] JAVA-2702: Transient Replication Support for Cassandra® 4.0 -## 3.8.0 +### 3.8.0 - [new feature] JAVA-2356: Support for DataStax Cloud API. - [improvement] JAVA-2483: Allow to provide secure bundle via URL. @@ -48,10 +48,9 @@ - [bug] JAVA-2174: Metadata.needsQuote should accept empty strings. - [bug] JAVA-2193: Fix flaky tests in WarningsTest. - ### 3.7.0 -- [improvement] JAVA-2025: Include exception message in Abstract\*Codec.accepts(null). +- [improvement] JAVA-2025: Include exception message in Abstract*Codec.accepts(null). - [improvement] JAVA-1980: Use covariant return types in RemoteEndpointAwareJdkSSLOptions.Builder methods. - [documentation] JAVA-2062: Document frozen collection preference with Mapper. - [bug] JAVA-2071: Fix NPE in ArrayBackedRow.toString(). @@ -80,13 +79,13 @@ - [bug] JAVA-1924: StatementWrapper setters should return the wrapping statement. - [new feature] JAVA-1532: Add Codec support for Java 8's LocalDateTime and ZoneId. - [improvement] JAVA-1786: Use Google code formatter. -- [bug] JAVA-1871: Change LOCAL\_SERIAL.isDCLocal() to return true. +- [bug] JAVA-1871: Change LOCAL_SERIAL.isDCLocal() to return true. - [documentation] JAVA-1902: Clarify unavailable & request error in DefaultRetryPolicy javadoc. - [new feature] JAVA-1903: Add WhiteListPolicy.ofHosts. - [bug] JAVA-1928: Fix GuavaCompatibility for Guava 26. - [bug] JAVA-1935: Add null check in QueryConsistencyException.getHost. - [improvement] JAVA-1771: Send driver name and version in STARTUP message. -- [improvement] JAVA-1388: Add dynamic port discovery for system.peers\_v2. +- [improvement] JAVA-1388: Add dynamic port discovery for system.peers_v2. - [documentation] JAVA-1810: Note which setters are not propagated to PreparedStatement. - [bug] JAVA-1944: Surface Read and WriteFailureException to RetryPolicy. - [bug] JAVA-1211: Fix NPE in cluster close when cluster init fails. @@ -661,7 +660,7 @@ Merged from 2.2 branch: - [bug] JAVA-817: TimeCodec does not format values correctly. - [bug] JAVA-818: TypeCodec.getDataTypeFor() does not handle LocalDate instances. - [improvement] JAVA-836: Make ResultSet#fetchMoreResult return a - ListenableFuture. + ``ListenableFuture``. - [improvement] JAVA-843: Disable frozen checks in mapper. - [improvement] JAVA-721: Allow user to register custom type codecs. - [improvement] JAVA-722: Support custom type codecs in mapper. @@ -683,7 +682,7 @@ Merged from 2.2 branch: - [bug] JAVA-817: TimeCodec does not format values correctly. - [bug] JAVA-818: TypeCodec.getDataTypeFor() does not handle LocalDate instances. - [improvement] JAVA-836: Make ResultSet#fetchMoreResult return a - ListenableFuture. + ``ListenableFuture``. - [improvement] JAVA-843: Disable frozen checks in mapper. - [improvement] JAVA-721: Allow user to register custom type codecs. - [improvement] JAVA-722: Support custom type codecs in mapper. @@ -984,7 +983,7 @@ Merged from 2.0 branch: - [bug] JAVA-595: Fix cluster name mismatch check at startup. - [bug] JAVA-620: Fix guava dependency when using OSGI. - [bug] JAVA-678: Fix handling of DROP events when ks name is case-sensitive. -- [improvement] JAVA-631: Use List instead of List in QueryBuilder API. +- [improvement] JAVA-631: Use ``List`` instead of ``List`` in QueryBuilder API. - [improvement] JAVA-654: Exclude Netty POM from META-INF in shaded JAR. - [bug] JAVA-655: Quote single quotes contained in table comments in asCQLQuery method. - [bug] JAVA-684: Empty TokenRange returned in a one token cluster. @@ -1235,7 +1234,7 @@ Merged from 2.0.10_fixes branch: - [bug] JAVA-595: Fix cluster name mismatch check at startup. - [bug] JAVA-620: Fix guava dependency when using OSGI. - [bug] JAVA-678: Fix handling of DROP events when ks name is case-sensitive. -- [improvement] JAVA-631: Use List instead of List in QueryBuilder API. +- [improvement] JAVA-631: Use ``List`` instead of ``List`` in QueryBuilder API. - [improvement] JAVA-654: Exclude Netty POM from META-INF in shaded JAR. - [bug] JAVA-655: Quote single quotes contained in table comments in asCQLQuery method. - [bug] JAVA-684: Empty TokenRange returned in a one token cluster. diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000000..6f60d24b6c2 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,78 @@ +# You can set these variables from the command line. +POETRY = $(HOME)/.poetry/bin/poetry +SPHINXOPTS = +SPHINXBUILD = $(POETRY) run sphinx-build +PAPER = +BUILDDIR = _build +SOURCE_DIR = _source + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(SOURCE_DIR) +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: all +all: dirhtml + +.PHONY: pristine +pristine: clean + git clean -dfX + +.PHONY: setup +setup: + ./_utils/setup.sh + cp -Tr source $(SOURCE_DIR) + cd $(SOURCE_DIR) && find -name README.md -execdir mv '{}' index.md ';' +.PHONY: clean +clean: + rm -rf $(BUILDDIR)/* + rm -rf $(SOURCE_DIR)/* + +.PHONY: preview +preview: setup + cd .. && ./docs/_utils/doxygen.sh + $(POETRY) run sphinx-autobuild -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml --port 5500 + +.PHONY: dirhtml +dirhtml: setup + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +.PHONY: singlehtml +singlehtml: setup + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +.PHONY: epub +epub: setup + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +.PHONY: epub3 +epub3: setup + $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 + @echo + @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." + +.PHONY: dummy +dummy: setup + $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy + @echo + @echo "Build finished. Dummy builder generates no files." + +.PHONY: linkcheck +linkcheck: setup + $(SPHINXBUILD) -b linkcheck $(SOURCE_DIR) $(BUILDDIR)/linkcheck + +.PHONY: multiversion +multiversion: setup + @mkdir -p $(HOME)/.cache/pypoetry/virtualenvs + $(POETRY) run ./_utils/multiversion.sh + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + diff --git a/docs/_utils/deploy.sh b/docs/_utils/deploy.sh new file mode 100755 index 00000000000..77321c192f2 --- /dev/null +++ b/docs/_utils/deploy.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Clone repo +git clone "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" --branch gh-pages --single-branch gh-pages +cp -r docs/_build/dirhtml/* gh-pages +# Redirections +./docs/_utils/redirect.sh > gh-pages/index.html +# Deploy +cd gh-pages +touch .nojekyll +git config --local user.email "action@scylladb.com" +git config --local user.name "GitHub Action" +git add . +git commit -m "Publish docs" || true +git push origin gh-pages --force diff --git a/docs/_utils/doxygen.sh b/docs/_utils/doxygen.sh new file mode 100755 index 00000000000..d739cf81997 --- /dev/null +++ b/docs/_utils/doxygen.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +OUTPUT_DIR="docs/_build/dirhtml/api" +if [[ "$SPHINX_MULTIVERSION_OUTPUTDIR" != "" ]]; then + OUTPUT_DIR="$SPHINX_MULTIVERSION_OUTPUTDIR/api" + echo "HTML_OUTPUT = $OUTPUT_DIR" >> doxyfile +fi +mkdir -p "$OUTPUT_DIR" +doxygen doxyfile diff --git a/docs/_utils/multiversion.sh b/docs/_utils/multiversion.sh new file mode 100755 index 00000000000..ae56ca3574e --- /dev/null +++ b/docs/_utils/multiversion.sh @@ -0,0 +1,5 @@ +#! /bin/bash + +cd .. && sphinx-multiversion docs/source docs/_build/dirhtml \ + --pre-build './docs/_utils/doxygen.sh' \ + --pre-build "find docs/source -name README.md -execdir mv '{}' index.md ';'" diff --git a/docs/_utils/redirect.sh b/docs/_utils/redirect.sh new file mode 100755 index 00000000000..2721ca034fe --- /dev/null +++ b/docs/_utils/redirect.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +cat <<- _EOF_ + + + + Redirecting to Driver + + + + + +_EOF_ diff --git a/docs/_utils/redirections.yaml b/docs/_utils/redirections.yaml new file mode 100644 index 00000000000..36a73f25baa --- /dev/null +++ b/docs/_utils/redirections.yaml @@ -0,0 +1 @@ +api: /api/classes.html diff --git a/docs/_utils/setup.sh b/docs/_utils/setup.sh new file mode 100755 index 00000000000..a26ebfec83c --- /dev/null +++ b/docs/_utils/setup.sh @@ -0,0 +1,10 @@ +#! /bin/bash + +if pwd | egrep -q '\s'; then + echo "Working directory name contains one or more spaces." + exit 1 +fi + +which python3 || { echo "Failed to find python3. Try installing Python for your operative system: https://www.python.org/downloads/" && exit 1; } +which poetry || curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/1.1.3/get-poetry.py | python3 - && source ${HOME}/.poetry/env +poetry install diff --git a/docs/poetry.lock b/docs/poetry.lock new file mode 100644 index 00000000000..cd728206d10 --- /dev/null +++ b/docs/poetry.lock @@ -0,0 +1,814 @@ +[[package]] +name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "argh" +version = "0.26.2" +description = "An unobtrusive argparse wrapper with natural syntax" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "attrs" +version = "20.2.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "sphinx-rtd-theme", "pre-commit"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] + +[[package]] +name = "babel" +version = "2.8.0" +description = "Internationalization utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +name = "certifi" +version = "2020.6.20" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "chardet" +version = "3.0.4" +description = "Universal encoding detector for Python 2 and 3" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "commonmark" +version = "0.9.1" +description = "Python parser for the CommonMark Markdown spec" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["flake8 (3.7.8)", "hypothesis (3.55.3)"] + +[[package]] +name = "docutils" +version = "0.16" +description = "Docutils -- Python Documentation Utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "idna" +version = "2.10" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "imagesize" +version = "1.2.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "importlib-metadata" +version = "2.0.0" +description = "Read metadata from Python packages" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "rst.linker"] +testing = ["packaging", "pep517", "importlib-resources (>=1.3)"] + +[[package]] +name = "jinja2" +version = "2.11.2" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +MarkupSafe = ">=0.23" + +[package.extras] +i18n = ["Babel (>=0.8)"] + +[[package]] +name = "livereload" +version = "2.6.3" +description = "Python LiveReload is an awesome tool for web developers" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" +tornado = {version = "*", markers = "python_version > \"2.7\""} + +[[package]] +name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" + +[[package]] +name = "more-itertools" +version = "8.5.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "packaging" +version = "20.4" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" +six = "*" + +[[package]] +name = "pathtools" +version = "0.1.2" +description = "File system general utilities" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} + +[package.extras] +dev = ["pre-commit", "tox"] + +[[package]] +name = "port-for" +version = "0.3.1" +description = "Utility that helps with local TCP ports managment. It can find an unused TCP localhost port and remember the association." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "py" +version = "1.9.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pygments" +version = "2.2.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "pytest" +version = "5.4.3" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=17.4.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +more-itertools = ">=4.0.0" +packaging = "*" +pluggy = ">=0.12,<1.0" +py = ">=1.5.0" +wcwidth = "*" + +[package.extras] +checkqa-mypy = ["mypy (v0.761)"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "pytz" +version = "2020.1" +description = "World timezone definitions, modern and historical" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pyyaml" +version = "5.3.1" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "recommonmark" +version = "0.5.0" +description = "A docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +commonmark = ">=0.7.3" +docutils = ">=0.11" +sphinx = ">=1.3.1" + +[[package]] +name = "requests" +version = "2.24.0" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<4" +idna = ">=2.5,<3" +urllib3 = ">=1.21.1,<1.25.0 || >1.25.0,<1.25.1 || >1.25.1,<1.26" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] + +[[package]] +name = "six" +version = "1.15.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "snowballstemmer" +version = "2.0.0" +description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "sphinx" +version = "2.4.4" +description = "Python documentation generator" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3,<2.0 || >2.0" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12" +imagesize = "*" +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +test = ["pytest (<5.3.3)", "pytest-cov", "html5lib", "flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.761)", "docutils-stubs"] + +[[package]] +name = "sphinx-autobuild" +version = "0.7.1" +description = "Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +argh = ">=0.24.1" +livereload = ">=2.3.0" +pathtools = ">=0.1.2" +port-for = "0.3.1" +PyYAML = ">=3.10" +tornado = ">=3.2" +watchdog = ">=0.7.1" + +[[package]] +name = "sphinx-copybutton" +version = "0.2.12" +description = "Add a copy button to each of your code cells." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +sphinx = ">=1.8" + +[package.extras] +code_style = ["flake8 (>=3.7.0,<3.8.0)", "black", "pre-commit (1.17.0)"] + +[[package]] +name = "sphinx-multiversion-scylla" +version = "0.2.4" +description = "Add support for multiple versions to sphinx" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +sphinx = ">=2.1" + +[[package]] +name = "sphinx-notfound-page" +version = "0.5" +description = "Sphinx extension to build a 404 page with absolute URLs" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "sphinx-scylladb-theme" +version = "0.1.12" +description = "A Sphinx Theme for ScyllaDB projects documentation" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" + +[package.dependencies] +pyyaml = ">=5.3,<6.0" +recommonmark = "0.5.0" +Sphinx = ">=2.4.4,<3.0.0" +sphinx-copybutton = ">=0.2.8,<0.3.0" +sphinx-multiversion-scylla = ">=0.2.4,<0.3.0" +sphinx-notfound-page = ">=0.5,<0.6" +sphinx-tabs = ">=1.1.13,<2.0.0" + +[[package]] +name = "sphinx-sitemap" +version = "2.1.0" +description = "Sitemap generator for Sphinx" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" +sphinx = ">=1.2" + +[[package]] +name = "sphinx-tabs" +version = "1.3.0" +description = "Tabbed views for Sphinx" +category = "main" +optional = false +python-versions = "~=3.6" + +[package.dependencies] +pygments = "*" +sphinx = ">=2,<4" + +[package.extras] +code_style = ["pre-commit (2.6)"] +testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions", "pygments", "sphinx-testing", "bs4"] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "1.0.3" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.4" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "tornado" +version = "6.0.4" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "main" +optional = false +python-versions = ">= 3.5" + +[[package]] +name = "urllib3" +version = "1.25.10" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +brotli = ["brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL (>=0.14)", "ipaddress"] +socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] + +[[package]] +name = "watchdog" +version = "0.10.3" +description = "Filesystem events monitoring" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +pathtools = ">=0.1.1" + +[package.extras] +watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] + +[[package]] +name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "zipp" +version = "3.3.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.7" +content-hash = "9607aa79eecabcd10ed3568ae4024e304ff2484e5f0faaedd00484ec81674eae" + +[metadata.files] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +argh = [ + {file = "argh-0.26.2-py2.py3-none-any.whl", hash = "sha256:a9b3aaa1904eeb78e32394cd46c6f37ac0fb4af6dc488daa58971bdc7d7fcaf3"}, + {file = "argh-0.26.2.tar.gz", hash = "sha256:e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-20.2.0-py2.py3-none-any.whl", hash = "sha256:fce7fc47dfc976152e82d53ff92fa0407700c21acd20886a13777a0d20e655dc"}, + {file = "attrs-20.2.0.tar.gz", hash = "sha256:26b54ddbbb9ee1d34d5d3668dd37d6cf74990ab23c828c2888dccdceee395594"}, +] +babel = [ + {file = "Babel-2.8.0-py2.py3-none-any.whl", hash = "sha256:d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4"}, + {file = "Babel-2.8.0.tar.gz", hash = "sha256:1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38"}, +] +certifi = [ + {file = "certifi-2020.6.20-py2.py3-none-any.whl", hash = "sha256:8fc0819f1f30ba15bdb34cceffb9ef04d99f420f68eb75d901e9560b8749fc41"}, + {file = "certifi-2020.6.20.tar.gz", hash = "sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3"}, +] +chardet = [ + {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, + {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, +] +commonmark = [ + {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, + {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, +] +docutils = [ + {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, + {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, +] +idna = [ + {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, + {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, +] +imagesize = [ + {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"}, + {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, +] +importlib-metadata = [ + {file = "importlib_metadata-2.0.0-py2.py3-none-any.whl", hash = "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3"}, + {file = "importlib_metadata-2.0.0.tar.gz", hash = "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da"}, +] +jinja2 = [ + {file = "Jinja2-2.11.2-py2.py3-none-any.whl", hash = "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"}, + {file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"}, +] +livereload = [ + {file = "livereload-2.6.3.tar.gz", hash = "sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869"}, +] +markupsafe = [ + {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, + {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, +] +more-itertools = [ + {file = "more-itertools-8.5.0.tar.gz", hash = "sha256:6f83822ae94818eae2612063a5101a7311e68ae8002005b5e05f03fd74a86a20"}, + {file = "more_itertools-8.5.0-py3-none-any.whl", hash = "sha256:9b30f12df9393f0d28af9210ff8efe48d10c94f73e5daf886f10c4b0b0b4f03c"}, +] +packaging = [ + {file = "packaging-20.4-py2.py3-none-any.whl", hash = "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181"}, + {file = "packaging-20.4.tar.gz", hash = "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"}, +] +pathtools = [ + {file = "pathtools-0.1.2.tar.gz", hash = "sha256:7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +port-for = [ + {file = "port-for-0.3.1.tar.gz", hash = "sha256:b16a84bb29c2954db44c29be38b17c659c9c27e33918dec16b90d375cc596f1c"}, +] +py = [ + {file = "py-1.9.0-py2.py3-none-any.whl", hash = "sha256:366389d1db726cd2fcfc79732e75410e5fe4d31db13692115529d34069a043c2"}, + {file = "py-1.9.0.tar.gz", hash = "sha256:9ca6883ce56b4e8da7e79ac18787889fa5206c79dcc67fb065376cd2fe03f342"}, +] +pygments = [ + {file = "Pygments-2.2.0-py2.py3-none-any.whl", hash = "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d"}, + {file = "Pygments-2.2.0.tar.gz", hash = "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"}, +] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +pytest = [ + {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, + {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, +] +pytz = [ + {file = "pytz-2020.1-py2.py3-none-any.whl", hash = "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed"}, + {file = "pytz-2020.1.tar.gz", hash = "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048"}, +] +pyyaml = [ + {file = "PyYAML-5.3.1-cp27-cp27m-win32.whl", hash = "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f"}, + {file = "PyYAML-5.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win32.whl", hash = "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win_amd64.whl", hash = "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf"}, + {file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"}, + {file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"}, + {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, +] +recommonmark = [ + {file = "recommonmark-0.5.0-py2.py3-none-any.whl", hash = "sha256:c85228b9b7aea7157662520e74b4e8791c5eacd375332ec68381b52bf10165be"}, + {file = "recommonmark-0.5.0.tar.gz", hash = "sha256:a520b8d25071a51ae23a27cf6252f2fe387f51bdc913390d83b2b50617f5bb48"}, +] +requests = [ + {file = "requests-2.24.0-py2.py3-none-any.whl", hash = "sha256:fe75cc94a9443b9246fc7049224f75604b113c36acb93f87b80ed42c44cbb898"}, + {file = "requests-2.24.0.tar.gz", hash = "sha256:b3559a131db72c33ee969480840fff4bb6dd111de7dd27c8ee1f820f4f00231b"}, +] +six = [ + {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, + {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.0.0-py2.py3-none-any.whl", hash = "sha256:209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0"}, + {file = "snowballstemmer-2.0.0.tar.gz", hash = "sha256:df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"}, +] +sphinx = [ + {file = "Sphinx-2.4.4-py3-none-any.whl", hash = "sha256:fc312670b56cb54920d6cc2ced455a22a547910de10b3142276495ced49231cb"}, + {file = "Sphinx-2.4.4.tar.gz", hash = "sha256:b4c750d546ab6d7e05bdff6ac24db8ae3e8b8253a3569b754e445110a0a12b66"}, +] +sphinx-autobuild = [ + {file = "sphinx-autobuild-0.7.1.tar.gz", hash = "sha256:66388f81884666e3821edbe05dd53a0cfb68093873d17320d0610de8db28c74e"}, + {file = "sphinx_autobuild-0.7.1-py2-none-any.whl", hash = "sha256:e60aea0789cab02fa32ee63c7acae5ef41c06f1434d9fd0a74250a61f5994692"}, +] +sphinx-copybutton = [ + {file = "sphinx-copybutton-0.2.12.tar.gz", hash = "sha256:9492883786984b6179c92c07ab0410237b26efa826adfa792acfd17b91a63e5c"}, + {file = "sphinx_copybutton-0.2.12-py3-none-any.whl", hash = "sha256:517870030a931f313695705edbe14a8c30660829716100d3d24b379cf9257060"}, +] +sphinx-multiversion-scylla = [ + {file = "sphinx-multiversion-scylla-0.2.4.tar.gz", hash = "sha256:a44fced382c9efac454749cc3b113e971a1ad63a8901c0aebd1299d131b102b2"}, +] +sphinx-notfound-page = [ + {file = "sphinx-notfound-page-0.5.tar.gz", hash = "sha256:0ff34a26140ede859dc9bcc216107a5e27dcd0076a1b1defaa31f61fb67b489c"}, + {file = "sphinx_notfound_page-0.5-py3-none-any.whl", hash = "sha256:557ad998d7a2897a5da7ba9ed0762a8f535c4250c49325db7b105e69c386f690"}, +] +sphinx-scylladb-theme = [ + {file = "sphinx-scylladb-theme-0.1.12.tar.gz", hash = "sha256:9cc0a675a065aeef4a77e0b7d56ebfaab760d2b1078d3362e4d5c32ada530d98"}, + {file = "sphinx_scylladb_theme-0.1.12-py3-none-any.whl", hash = "sha256:41386beb0c36d463f8191dfa20bb40e036aedeaab88af7cd9ed616ac785ab3d7"}, +] +sphinx-sitemap = [ + {file = "sphinx-sitemap-2.1.0.tar.gz", hash = "sha256:ba3576f38e8d1cabde483dabed2cc2b958af85ff97f2a4442f990b02e967d6a5"}, +] +sphinx-tabs = [ + {file = "sphinx-tabs-1.3.0.tar.gz", hash = "sha256:54132c8a57aa19bba6e17fe26eb94ea9df531708ff3f509b119313b32d0d5aff"}, + {file = "sphinx_tabs-1.3.0-py3-none-any.whl", hash = "sha256:537857f91f1b371f7b45eb8ac83001618b3e3178c78df073d2cc4558a8e66ef5"}, +] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, + {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"}, + {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"}, +] +tornado = [ + {file = "tornado-6.0.4-cp35-cp35m-win32.whl", hash = "sha256:5217e601700f24e966ddab689f90b7ea4bd91ff3357c3600fa1045e26d68e55d"}, + {file = "tornado-6.0.4-cp35-cp35m-win_amd64.whl", hash = "sha256:c98232a3ac391f5faea6821b53db8db461157baa788f5d6222a193e9456e1740"}, + {file = "tornado-6.0.4-cp36-cp36m-win32.whl", hash = "sha256:5f6a07e62e799be5d2330e68d808c8ac41d4a259b9cea61da4101b83cb5dc673"}, + {file = "tornado-6.0.4-cp36-cp36m-win_amd64.whl", hash = "sha256:c952975c8ba74f546ae6de2e226ab3cc3cc11ae47baf607459a6728585bb542a"}, + {file = "tornado-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:2c027eb2a393d964b22b5c154d1a23a5f8727db6fda837118a776b29e2b8ebc6"}, + {file = "tornado-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:5618f72e947533832cbc3dec54e1dffc1747a5cb17d1fd91577ed14fa0dc081b"}, + {file = "tornado-6.0.4-cp38-cp38-win32.whl", hash = "sha256:22aed82c2ea340c3771e3babc5ef220272f6fd06b5108a53b4976d0d722bcd52"}, + {file = "tornado-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:c58d56003daf1b616336781b26d184023ea4af13ae143d9dda65e31e534940b9"}, + {file = "tornado-6.0.4.tar.gz", hash = "sha256:0fe2d45ba43b00a41cd73f8be321a44936dc1aba233dee979f17a042b83eb6dc"}, +] +urllib3 = [ + {file = "urllib3-1.25.10-py2.py3-none-any.whl", hash = "sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461"}, + {file = "urllib3-1.25.10.tar.gz", hash = "sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a"}, +] +watchdog = [ + {file = "watchdog-0.10.3.tar.gz", hash = "sha256:4214e1379d128b0588021880ccaf40317ee156d4603ac388b9adcf29165e0c04"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] +zipp = [ + {file = "zipp-3.3.0-py3-none-any.whl", hash = "sha256:eed8ec0b8d1416b2ca33516a37a08892442f3954dee131e92cfd92d8fe3e7066"}, + {file = "zipp-3.3.0.tar.gz", hash = "sha256:64ad89efee774d1897a58607895d80789c59778ea02185dd846ac38394a8642b"}, +] diff --git a/docs/pyproject.toml b/docs/pyproject.toml new file mode 100644 index 00000000000..1aac1fe8f9b --- /dev/null +++ b/docs/pyproject.toml @@ -0,0 +1,23 @@ +[tool.poetry] +name = "java-driver" +version = "3.7.1" +description = "ScyllaDB Java Driver" +authors = ["Java Driver Contributors"] + +[tool.poetry.dependencies] +python = "^3.7" +pyyaml = "^5.3" +pygments = "2.2.0" +recommonmark = "0.5.0" +sphinx-scylladb-theme = "^0.1.12" +sphinx-sitemap = "2.1.0" +sphinx-autobuild = "^0.7.1" +Sphinx = "2.4.4" +sphinx-multiversion-scylla = "^0.2.4" + +[tool.poetry.dev-dependencies] +pytest = "^5.2" + +[build-system] +requires = ["poetry>=0.12"] +build-backend = "poetry.masonry.api" diff --git a/docs/source/api.rst b/docs/source/api.rst new file mode 100644 index 00000000000..850fb13929f --- /dev/null +++ b/docs/source/api.rst @@ -0,0 +1,3 @@ +API Documentation +================= + diff --git a/docs/source/changelog b/docs/source/changelog new file mode 120000 index 00000000000..2281eaa6b7b --- /dev/null +++ b/docs/source/changelog @@ -0,0 +1 @@ +../../changelog/ \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 00000000000..258fa5a12e7 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- + +import os +import sys +import yaml +import re +from docutils import nodes +from sphinx.util import logging +from recommonmark.transform import AutoStructify +from recommonmark.parser import CommonMarkParser, splitext, urlparse + +logger = logging.getLogger(__name__) + +# -- General configuration ------------------------------------------------ + +# Add any Sphinx extension'¡' module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.todo', + 'sphinx.ext.mathjax', + 'sphinx.ext.githubpages', + 'sphinx.ext.extlinks', + 'sphinx.ext.autosectionlabel', + 'sphinx_scylladb_theme', + 'sphinx_multiversion', +] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = { + '.rst': 'restructuredtext', + '.md': 'markdown', +} +autosectionlabel_prefix_document = True + +class CustomCommonMarkParser(CommonMarkParser): + + def visit_document(self, node): + pass + + def visit_link(self, mdnode): + # Override to avoid checking if relative links exists + ref_node = nodes.reference() + destination = mdnode.destination + _, ext = splitext(destination) + + url_check = urlparse(destination) + scheme_known = bool(url_check.scheme) + + if not scheme_known and ext.replace('.', '') in self.supported: + destination = destination.replace(ext, '') + ref_node['refuri'] = destination + ref_node.line = self._get_line(mdnode) + if mdnode.title: + ref_node['title'] = mdnode.title + next_node = ref_node + + self.current_node.append(next_node) + self.current_node = ref_node + +def setup(app): + app.add_source_parser(CustomCommonMarkParser) + app.add_config_value('recommonmark_config', { + 'enable_eval_rst': True, + 'enable_auto_toc_tree': False, + }, True) + app.add_transform(AutoStructify) + +# The master toctree document. +master_doc = 'contents' + +# General information about the project. +project = 'Scylla Java Driver' +copyright = u'2012, ScyllaDB. All rights reserved.' +author = u'Scylla Project Contributors' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = u'3.7.1' +# The full version, including alpha/beta/rc tags. +release = u'3.7.1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'lib', 'lib64','**/_common/*', 'README.md', '.git', '.github', '_utils', '_templates', 'rst_include'] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = True + +# Custom lexer +from pygments.lexers.shell import BashLexer +from sphinx.highlighting import lexers + +class DitaaLexer(BashLexer): + pass +lexers['ditaa'] = DitaaLexer(startinline=True) + +# Adds version variables for monitoring and manager versions when used in inline text + +rst_epilog = """ +.. |mon_version| replace:: 3.1 +.. |man_version| replace:: 2.0 +.. |mon_root| replace:: :doc:`Scylla Monitoring Stack ` +""" + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_scylladb_theme' +# html_theme_path = ["../.."] + +html_style = '' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +html_theme_options = { + 'header_links': [ + ('Scylla Java Driver', 'https://scylladb.github.io/java-driver/'), + ('Scylla Cloud', 'https://docs.scylladb.com/scylla-cloud/'), + ('Scylla University', 'https://university.scylladb.com/'), + ('ScyllaDB Home', 'https://www.scylladb.com/')], + 'github_issues_repository': 'scylladb/java-driver', + 'show_sidebar_index': True, +} + +extlinks = { + 'manager': ('/operating-scylla/manager/%s/',''), + 'manager_lst': ('/operating-scylla/manager/2.0/%s/',''), + 'monitor': ('/operating-scylla/monitoring/%s/',''), + 'monitor_lst': ('/operating-scylla/monitoring/3.1/%s/','') +} + +# If not None, a 'Last updated on:' timestamp is inserted at every page +# bottom, using the given strftime format. +# The empty string is equivalent to '%b %d, %Y'. +# +html_last_updated_fmt = '%d %B %Y' + +# Custom sidebar templates, maps document names to template names. +# +html_sidebars = {'**': ['side-nav.html']} + +# Output file base name for HTML help builder. +htmlhelp_basename = 'ScyllaDocumentationdoc' + +# URL which points to the root of the HTML documentation. +html_baseurl = 'https://scylladb.github.io/java-driver' + +# Dictionary of values to pass into the template engine’s context for all pages +html_context = {'html_baseurl': html_baseurl} + +# -- Options for not found extension ------------------------------------------- + +# Template used to render the 404.html generated by this extension. +notfound_template = '404.html' + +# Prefix added to all the URLs generated in the 404 page. +notfound_urls_prefix = '' + +# -- Options for redirect extension --------------------------------------- + +# Read a YAML dictionary of redirections and generate an HTML file for each +redirects_file = "_utils/redirections.yaml" + +# -- Options for multiversion extension ---------------------------------- + +# Whitelist pattern for tags (set to None to ignore all tags) +smv_tag_whitelist = r'None' +# Whitelist pattern for branches (set to None to ignore all branches) +smv_branch_whitelist = r"^latest$" +# Whitelist pattern for remotes (set to None to use local branches only) +smv_remote_whitelist = r"^origin$" +# Pattern for released versions +smv_released_pattern = r'^tags/.*$' +# Format for versioned output directories inside the build directory +smv_outputdir_format = '{ref.name}' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'ScyllaDocumentation.tex', u'Scylla Documentation Documentation', + u'Scylla Project Contributors', 'manual'), +] + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'scylladocumentation', u'Scylla Documentation Documentation', + [author], 1) +] + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'ScyllaDocumentation', u'Scylla Documentation Documentation', + author, 'ScyllaDocumentation', 'One line description of project.', + 'Miscellaneous'), +] + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project +epub_author = author +epub_publisher = author +epub_copyright = copyright + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] diff --git a/docs/source/contents.rst b/docs/source/contents.rst new file mode 100644 index 00000000000..ffd6076c7c6 --- /dev/null +++ b/docs/source/contents.rst @@ -0,0 +1,9 @@ +.. toctree:: + :hidden: + :glob: + + api + manual/* + upgrade_guide/* + faq/* + changelog/* \ No newline at end of file diff --git a/docs/source/faq b/docs/source/faq new file mode 120000 index 00000000000..bec65510d7f --- /dev/null +++ b/docs/source/faq @@ -0,0 +1 @@ +../../faq/ \ No newline at end of file diff --git a/docs/source/index.md b/docs/source/index.md new file mode 120000 index 00000000000..fe840054137 --- /dev/null +++ b/docs/source/index.md @@ -0,0 +1 @@ +../../README.md \ No newline at end of file diff --git a/docs/source/manual b/docs/source/manual new file mode 120000 index 00000000000..fb3a8517e30 --- /dev/null +++ b/docs/source/manual @@ -0,0 +1 @@ +../../manual/ \ No newline at end of file diff --git a/docs/source/upgrade_guide b/docs/source/upgrade_guide new file mode 120000 index 00000000000..a1b678e2fa5 --- /dev/null +++ b/docs/source/upgrade_guide @@ -0,0 +1 @@ +../../upgrade_guide/ \ No newline at end of file diff --git a/doxyfile b/doxyfile index 414bdbd7ec4..ea043740253 100644 --- a/doxyfile +++ b/doxyfile @@ -160,7 +160,7 @@ IGNORE_PREFIX = # Configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES -HTML_OUTPUT = html +HTML_OUTPUT = docs/_build/dirhtml/api HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = @@ -333,4 +333,4 @@ MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES -DOT_CLEANUP = YES \ No newline at end of file +DOT_CLEANUP = YES diff --git a/faq/osgi/README.md b/faq/osgi/README.md index dd01626e2db..06f780333fe 100644 --- a/faq/osgi/README.md +++ b/faq/osgi/README.md @@ -1,3 +1,6 @@ +```eval_rst +:orphan: +``` ## Frequently Asked Questions - OSGi ### How to use the Java driver in an OSGi environment? diff --git a/manual/README.md b/manual/README.md index 1635e1219f4..49cda94a082 100644 --- a/manual/README.md +++ b/manual/README.md @@ -304,4 +304,39 @@ simply navigate to each sub-directory. [LatencyTracker]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/LatencyTracker.html [SchemaChangeListener]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/SchemaChangeListener.html [NoHostAvailableException]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/exceptions/NoHostAvailableException.html -[LocalDate]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/LocalDate.html \ No newline at end of file +[LocalDate]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/LocalDate.html + +```eval_rst +.. toctree:: + :hidden: + :glob: + + address_resolution/* + async/* + auth/* + cloud/* + compression/* + control_connection/* + custom_codecs/* + custom_payloads/* + idempotence/* + load_balancing/* + logging/* + metadata/* + metrics/* + native_protocol/* + object_mapper/* + osgi/* + paging/* + pooling/* + query_timestamps/* + reconnection/* + retries/* + shaded_jar/* + socket_options/* + speculative_execution/* + ssl/* + statements/* + tuples/* + udts/* +``` \ No newline at end of file diff --git a/manual/custom_codecs/extras/README.md b/manual/custom_codecs/extras/README.md index a8190d3235f..7e71f7dbe5a 100644 --- a/manual/custom_codecs/extras/README.md +++ b/manual/custom_codecs/extras/README.md @@ -1,3 +1,6 @@ +```eval_rst +:orphan: +``` ## Optional codecs The driver's "extras" module provides additional [codec](../) implementations: these codecs are not required by core diff --git a/manual/object_mapper/README.md b/manual/object_mapper/README.md index 1875d4708bf..ffc8fb4b764 100644 --- a/manual/object_mapper/README.md +++ b/manual/object_mapper/README.md @@ -20,3 +20,13 @@ See the child pages for more information: * [definition of mapped classes](creating/) * [using the mapper](using/) * [using custom codecs](custom_codecs/) + +```eval_rst +.. toctree:: + :hidden: + :glob: + + creating/* + custom_codecs/* + using/* +``` diff --git a/manual/statements/README.md b/manual/statements/README.md index 865818796d0..9a941c30128 100644 --- a/manual/statements/README.md +++ b/manual/statements/README.md @@ -40,3 +40,14 @@ wrap your statements in a custom [StatementWrapper] implementation. [SpeculativeExecutionPolicy]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/policies/SpeculativeExecutionPolicy.html [execute]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/Session.html#execute-com.datastax.driver.core.Statement- [executeAsync]: https://docs.datastax.com/en/drivers/java/3.10/com/datastax/driver/core/Session.html#executeAsync-com.datastax.driver.core.Statement- + +```eval_rst +.. toctree:: + :hidden: + :glob: + + simple/* + prepared/* + built/* + batch/* +``` diff --git a/upgrade_guide/README.md b/upgrade_guide/README.md index e85262ed847..081cb571c26 100644 --- a/upgrade_guide/README.md +++ b/upgrade_guide/README.md @@ -496,7 +496,7 @@ the impact on the public API has been kept as low as possible. version that takes an `int` (the exception being `RegularStatement`, described below). For new code, prefer the enum version. -#### Internal API Changes +#### 2.1.6 Internal API Changes 1. `RegularStatement.getValues` now takes the protocol version as a `ProtocolVersion` instead of an `int`. This is transparent for callers @@ -539,7 +539,7 @@ These features are only active when the native protocol v3 is in use. ### 2.1.1 -#### Internal API Changes +#### 2.1.1 Internal API Changes 1. The `ResultSet` interface has a new `wasApplied()` method. This will only affect clients that provide their own implementation of this interface. @@ -547,7 +547,7 @@ These features are only active when the native protocol v3 is in use. ### 2.1.0 -#### User API Changes +#### 2.1.0 User API Changes 1. The `getCaching` method of `TableMetadata#Options` now returns a `Map` to account for changes to Cassandra 2.1. Also, the @@ -564,7 +564,7 @@ These features are only active when the native protocol v3 is in use. set to `null`" behavior. -#### Internal API Changes +#### 2.1.0 Internal API Changes The changes listed in this section should normally not impact end users of the driver, but rather third-party frameworks and tools. @@ -826,3 +826,11 @@ exhaustive list of new features in 2.0. * the `ResultSet` object provides 2 methods to check the state of paging (`ResultSet#getAvailableWithoutFetching` and `ResultSet#isFullyFetched`) as well as a mean to force the pre-fetching of the next page (`ResultSet#fetchMoreResults`). + +```eval_rst +.. toctree:: + :hidden: + :glob: + + migrating_from_astyanax/* +``` \ No newline at end of file diff --git a/upgrade_guide/migrating_from_astyanax/README.md b/upgrade_guide/migrating_from_astyanax/README.md index 0b518322a28..c899252d63d 100644 --- a/upgrade_guide/migrating_from_astyanax/README.md +++ b/upgrade_guide/migrating_from_astyanax/README.md @@ -8,3 +8,13 @@ See the child pages for more information: * [Changes at the language level](language_level_changes/) * [Migrating Astyanax configurations to DataStax Java driver configurations](configuration/) * [Querying and retrieving results comparisons.](queries_and_results/) + +```eval_rst +.. toctree:: + :hidden: + :glob: + + configuration/* + language_level_changes/* + queries_and_results/* +``` \ No newline at end of file