From 22ad6972501d04781cbdc2fd5dc1ffbbb145dc7a Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 19:57:49 -0800 Subject: [PATCH 01/33] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9f6ddb38..f45a283c 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,5 @@ cdn-dev .venv .claude + +__pycache__ From ed32b5177713bd7045226614e9f01025f2c63310 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 19:58:27 -0800 Subject: [PATCH 02/33] Add since-version badge --- docs/macros.py | 28 ++++++ docs/stylesheets/extra.css | 22 +++++ mkdocs.yml | 3 + pixi.lock | 169 +++++++++++++++++++++++++------------ pixi.toml | 1 + 5 files changed, 171 insertions(+), 52 deletions(-) create mode 100644 docs/macros.py diff --git a/docs/macros.py b/docs/macros.py new file mode 100644 index 00000000..d95e8727 --- /dev/null +++ b/docs/macros.py @@ -0,0 +1,28 @@ +# Copyright 2026 Columnar Technologies Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +def define_env(env): + @env.macro + def since_version(version): + """Create a "since v1.2.3" badge for annotation featuresw ith. + + Args: + version: git tag for version + """ + return ( + f'' + f'SINCE {version}' + f'' + ) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index 8b8f5244..b1577b57 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -2,6 +2,28 @@ --md-default-bg-color: rgb(33, 33, 33); --md-code-bg-color: rgb(45, 45, 45); } + +/* since_version badge styling. see macros.py */ +.version-badge { + background: var(--md-accent-fg-color); + color: var(--md-accent-bg-color); + padding: 2px 6px; + border-radius: 3px; + font-size: 0.75em; + font-weight: bold; + display: inline-block; +} + +.version-badge a { + color: inherit; + text-decoration: none; +} + +.version-badge a:hover { + color: inherit; + text-decoration: underline; +} + /* Hide the site name in the header... */ .md-header__title .md-header__topic:first-of-type { display: none !important; diff --git a/mkdocs.yml b/mkdocs.yml index 68540301..beba9edc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -46,6 +46,7 @@ nav: - Using a Driver List: guides/driver_list.md - Driver Managers: guides/driver_manager.md - Python Notebooks: guides/python_notebooks.md + - Private Registries: guides/private_registries.md - Concepts: - concepts/index.md - Driver: concepts/driver.md @@ -119,6 +120,8 @@ exclude_docs: | extra_javascript: - scripts/extra.js plugins: + - macros: + module_name: docs/macros - privacy - search - social: diff --git a/pixi.lock b/pixi.lock index 32df34d4..dfcccee3 100644 --- a/pixi.lock +++ b/pixi.lock @@ -3,6 +3,8 @@ environments: cdn: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 @@ -59,6 +61,8 @@ environments: default: channels: - url: https://conda.anaconda.org/conda-forge/ + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 @@ -110,6 +114,8 @@ environments: - url: https://conda.anaconda.org/conda-forge/ indexes: - https://pypi.org/simple + options: + pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 @@ -164,17 +170,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/07/2e43935cbaa0ec12d7e225e942a3c1e39fc8233f7b18100bcbffd25e6192/backrefs-6.0.1-py314-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/67/48/816bd4aaae93dbf9e408c58598bc32f4a8c65f4b86ab560864cb3ee60adb/cairosvg-2.8.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl - pypi: https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/7f/13cd798d180af4bf4c0ceddeefba2b864a63c71645abc0308b768d67bb81/hjson-3.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl @@ -182,23 +189,26 @@ environments: - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/51/62/9fffba5bb9ed3d31a932ad35038ba9483d59850256ee0fea7f1187173983/mkdocs_macros_plugin-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3e/32/ed071cb721aca8c227718cffcf7bd539620e9799bbf2619e90c757bfd030/mkdocs_material-9.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/2b/121e912bd60eebd623f873fd090de0e84f322972ab25a7f9044c056804ed/pathspec-1.0.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a8/2d/524f9318f6cbfcc79fbc004801ea6b607ec3f843977652fdee4857a7568b/pillow-11.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/10/47caf89cbb52e5bb764696fd52a8c591a2f0e851a93270c05a17f36000b5/pymdown_extensions-10.20-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/17/43/47c7cf84b3bd74a8631b02d47db356656bb8dff6f2e61a4c749963814d0d/super_collections-0.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/33/d1/8bb87d21e9aeb323cc03034f5eaf2c8f69841e40e4853c2627edf8111ed3/termcolor-3.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl - pypi: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl osx-arm64: @@ -238,17 +248,18 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda - pypi: https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cb/07/2e43935cbaa0ec12d7e225e942a3c1e39fc8233f7b18100bcbffd25e6192/backrefs-6.0.1-py314-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl - pypi: https://files.pythonhosted.org/packages/93/d8/ba13451aa6b745c49536e87b6bf8f629b950e84bd0e8308f7dc6883b67e2/cairocffi-1.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/67/48/816bd4aaae93dbf9e408c58598bc32f4a8c65f4b86ab560864cb3ee60adb/cairosvg-2.8.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl - - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0f/e7/aa315e6a749d9b96c2504a1ba0ba031ba2d0517e972ce22682e3fccecb09/cssselect2-0.8.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/1f/7f/13cd798d180af4bf4c0ceddeefba2b864a63c71645abc0308b768d67bb81/hjson-3.1.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/70/81/54e3ce63502cd085a0c556652a4e1b919c45a446bd1e5300e10c44c8c521/markdown-3.10-py3-none-any.whl @@ -256,23 +267,26 @@ environments: - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/51/62/9fffba5bb9ed3d31a932ad35038ba9483d59850256ee0fea7f1187173983/mkdocs_macros_plugin-1.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3e/32/ed071cb721aca8c227718cffcf7bd539620e9799bbf2619e90c757bfd030/mkdocs_material-9.7.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/2b/121e912bd60eebd623f873fd090de0e84f322972ab25a7f9044c056804ed/pathspec-1.0.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/41/b0/33d79e377a336247df6348a54e6d2a2b85d644ca202555e3faa0cf811ecc/pillow-11.3.0-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/ea/10/47caf89cbb52e5bb764696fd52a8c591a2f0e851a93270c05a17f36000b5/pymdown_extensions-10.20-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/17/43/47c7cf84b3bd74a8631b02d47db356656bb8dff6f2e61a4c749963814d0d/super_collections-0.6.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/33/d1/8bb87d21e9aeb323cc03034f5eaf2c8f69841e40e4853c2627edf8111ed3/termcolor-3.3.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz - pypi: https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl packages: @@ -312,10 +326,10 @@ packages: - pytz ; extra == 'dev' - setuptools ; extra == 'dev' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/cb/07/2e43935cbaa0ec12d7e225e942a3c1e39fc8233f7b18100bcbffd25e6192/backrefs-6.0.1-py314-none-any.whl +- pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl name: backrefs - version: 6.0.1 - sha256: 3ba0d943178d24a3721c5d915734767fa93f3bde1d317c4ef9e0f33b21b9c302 + version: '6.1' + sha256: 13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853 requires_dist: - regex ; extra == 'extras' requires_python: '>=3.9' @@ -424,10 +438,10 @@ packages: - flake8 ; extra == 'test' - isort ; extra == 'test' requires_python: '>=3.9' -- pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl name: certifi - version: 2025.11.12 - sha256: 97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b + version: 2026.1.4 + sha256: 9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c requires_python: '>=3.7' - pypi: https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl name: cffi @@ -453,10 +467,10 @@ packages: version: 3.4.4 sha256: ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838 requires_python: '>=3.7' -- pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl name: click - version: 8.3.0 - sha256: 9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc + version: 8.3.1 + sha256: 981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6 requires_dist: - colorama ; sys_platform == 'win32' requires_python: '>=3.10' @@ -606,6 +620,10 @@ packages: - markdown ; extra == 'dev' - flake8 ; extra == 'dev' - wheel ; extra == 'dev' +- pypi: https://files.pythonhosted.org/packages/1f/7f/13cd798d180af4bf4c0ceddeefba2b864a63c71645abc0308b768d67bb81/hjson-3.1.0-py3-none-any.whl + name: hjson + version: 3.1.0 + sha256: 65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda sha256: 71e750d509f5fa3421087ba88ef9a7b9be11c53174af3aa4d06aff4c18b38e8e md5: 8b189310083baabfb622af68fd9d3ae3 @@ -1091,10 +1109,33 @@ packages: - platformdirs>=2.2.0 - pyyaml>=5.1 requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/51/62/9fffba5bb9ed3d31a932ad35038ba9483d59850256ee0fea7f1187173983/mkdocs_macros_plugin-1.5.0-py3-none-any.whl + name: mkdocs-macros-plugin + version: 1.5.0 + sha256: c10fabd812bf50f9170609d0ed518e54f1f0e12c334ac29141723a83c881dd6f + requires_dist: + - hjson + - jinja2 + - mkdocs>=0.17 + - packaging + - pathspec + - python-dateutil + - pyyaml + - requests + - super-collections>=0.6.2 + - termcolor + - pytest ; extra == 'test' + - mkdocs-include-markdown-plugin ; extra == 'test' + - mkdocs-macros-test ; extra == 'test' + - mkdocs-material>=6.2 ; extra == 'test' + - mkdocs-test>=0.6.0 ; extra == 'test' + - mkdocs-d2-plugin ; extra == 'test' + - mkdocs-mermaid2-plugin ; extra == 'doc' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/3e/32/ed071cb721aca8c227718cffcf7bd539620e9799bbf2619e90c757bfd030/mkdocs_material-9.7.1-py3-none-any.whl name: mkdocs-material - version: 9.7.0 - sha256: da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887 + version: 9.7.1 + sha256: 3f6100937d7d731f87f1e3e3b021c97f7239666b9ba1151ab476cabb96c60d5c requires_dist: - babel>=2.10 - backrefs>=5.7.post1 @@ -1106,7 +1147,7 @@ packages: - paginate>=0.5 - pygments>=2.16 - pymdown-extensions>=10.2 - - requests>=2.26 + - requests>=2.30 - mkdocs-git-committers-plugin-2>=1.1,<3 ; extra == 'git' - mkdocs-git-revision-date-localized-plugin~=1.2,>=1.2.4 ; extra == 'git' - cairosvg~=2.6 ; extra == 'imaging' @@ -1175,11 +1216,17 @@ packages: - pytest ; extra == 'dev' - tox ; extra == 'dev' - black ; extra == 'lint' -- pypi: https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/32/2b/121e912bd60eebd623f873fd090de0e84f322972ab25a7f9044c056804ed/pathspec-1.0.3-py3-none-any.whl name: pathspec - version: 0.12.1 - sha256: a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 - requires_python: '>=3.8' + version: 1.0.3 + sha256: e80767021c1cc524aa3fb14bedda9c34406591343cc42797b386ce7b9354fb6c + requires_dist: + - hyperscan>=0.7 ; extra == 'hyperscan' + - typing-extensions>=4 ; extra == 'optional' + - google-re2>=1.1 ; extra == 're2' + - pytest>=9 ; extra == 'tests' + - typing-extensions>=4.15 ; extra == 'tests' + requires_python: '>=3.9' - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.46-h1321c63_0.conda sha256: 5c7380c8fd3ad5fc0f8039069a45586aa452cf165264bc5a437ad80397b32934 md5: 7fa07cb0fb1b625a089ccc01218ee5b1 @@ -1289,10 +1336,10 @@ packages: purls: [] size: 248045 timestamp: 1754665282033 -- pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl name: platformdirs - version: 4.5.0 - sha256: e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3 + version: 4.5.1 + sha256: d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31 requires_dist: - furo>=2025.9.25 ; extra == 'docs' - proselint>=0.14 ; extra == 'docs' @@ -1328,10 +1375,10 @@ packages: requires_dist: - colorama>=0.4.6 ; extra == 'windows-terminal' requires_python: '>=3.8' -- pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/ea/10/47caf89cbb52e5bb764696fd52a8c591a2f0e851a93270c05a17f36000b5/pymdown_extensions-10.20-py3-none-any.whl name: pymdown-extensions - version: 10.17.1 - sha256: 1f160209c82eecbb5d8a0d8f89a4d9bd6bdcbde9a8537761844cfc57ad5cd8a6 + version: '10.20' + sha256: ea9e62add865da80a271d00bfa1c0fa085b20d133fb3fc97afdc88e682f60b2f requires_dist: - markdown>=3.6 - pyyaml @@ -1557,17 +1604,35 @@ packages: version: 1.17.0 sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*' -- pypi: https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/17/43/47c7cf84b3bd74a8631b02d47db356656bb8dff6f2e61a4c749963814d0d/super_collections-0.6.2-py3-none-any.whl + name: super-collections + version: 0.6.2 + sha256: 291b74d26299e9051d69ad9d89e61b07b6646f86a57a2f5ab3063d206eee9c56 + requires_dist: + - hjson + - pytest>=7.0 ; extra == 'test' + - rich ; extra == 'test' + - pyyaml ; extra == 'test' + requires_python: '>=3.8' +- pypi: https://files.pythonhosted.org/packages/33/d1/8bb87d21e9aeb323cc03034f5eaf2c8f69841e40e4853c2627edf8111ed3/termcolor-3.3.0-py3-none-any.whl + name: termcolor + version: 3.3.0 + sha256: cf642efadaf0a8ebbbf4bc7a31cec2f9b5f21a9f726f4ccbb08192c9c26f43a5 + requires_dist: + - pytest ; extra == 'tests' + - pytest-cov ; extra == 'tests' + requires_python: '>=3.10' +- pypi: https://files.pythonhosted.org/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl name: tinycss2 - version: 1.4.0 - sha256: 3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289 + version: 1.5.1 + sha256: 3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661 requires_dist: - webencodings>=0.4 - sphinx ; extra == 'doc' - - sphinx-rtd-theme ; extra == 'doc' + - furo ; extra == 'doc' - pytest ; extra == 'test' - ruff ; extra == 'test' - requires_python: '>=3.8' + requires_python: '>=3.10' - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda sha256: 1544760538a40bcd8ace2b1d8ebe3eb5807ac268641f8acdc18c69c5ebfeaf64 md5: 86bc20552bf46075e3d92b67f089172d @@ -1600,16 +1665,16 @@ packages: purls: [] size: 122968 timestamp: 1742727099393 -- pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl +- pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl name: urllib3 - version: 2.5.0 - sha256: e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc + version: 2.6.3 + sha256: bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4 requires_dist: - - brotli>=1.0.9 ; platform_python_implementation == 'CPython' and extra == 'brotli' - - brotlicffi>=0.8.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' + - brotli>=1.2.0 ; platform_python_implementation == 'CPython' and extra == 'brotli' + - brotlicffi>=1.2.0.0 ; platform_python_implementation != 'CPython' and extra == 'brotli' - h2>=4,<5 ; extra == 'h2' - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks' - - zstandard>=0.18.0 ; extra == 'zstd' + - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd' requires_python: '>=3.9' - pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl name: watchdog diff --git a/pixi.toml b/pixi.toml index 84748844..2fda461a 100644 --- a/pixi.toml +++ b/pixi.toml @@ -36,6 +36,7 @@ cdn-serve = "python -m http.server -d cdn-dev" [feature.docs.pypi-dependencies] mkdocs-material = { version = "*", extras = ["imaging"] } +mkdocs-macros-plugin = "*" [feature.docs.dependencies] cairo = ">=1.18.4,<2" From 87a5e41b3273061f0ccdcd22befe5102b7c3e429 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 19:58:37 -0800 Subject: [PATCH 03/33] add auth command to cli docs --- docs/reference/cli.md | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 4ac5f054..5a0e840a 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -46,6 +46,7 @@ $ dbc [OPTIONS]
dbc sync

Install the drivers from the driver list

dbc info

Get information about a driver

dbc docs

Open driver documentation in a web browser

+
dbc auth

Manage driver registry credentials

## search @@ -301,3 +302,49 @@ $ dbc docs `--quiet`, `-q` : Suppress all output + +## auth + +{{ since_version('v0.2.0') }} + +

Usage

+ +```console +$ dbc auth +$ dbc auth login +$ dbc auth logout +``` + +

Subcommands

+ +### login + +

Arguments

+ +`REGISTRYURL` + +: Optional. URL of the driver registry to authenticate with. + +

Options

+ +`--clientid CLIENTID` + +: OAuth Client ID (can also be set via `DBC_OAUTH_CLIENT_ID`) + +`--api-key API-KEY` + +: Authenticate using an API key instead of OAuth (use '-' to read from stdin) + +### logout + +

Arguments

+ +`REGISTRYURL` + +: Optional. URL of the driver registry to log out from + +

Options

+ +`--purge` + +: Remove all local auth credentials for dbc From e64072f433445885cf731ae81d38a1df29e3dd6d Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 19:58:47 -0800 Subject: [PATCH 04/33] add note in finding drivers about auth --- docs/guides/finding_drivers.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/guides/finding_drivers.md b/docs/guides/finding_drivers.md index dc8769ea..475f2697 100644 --- a/docs/guides/finding_drivers.md +++ b/docs/guides/finding_drivers.md @@ -48,6 +48,18 @@ $ dbc search sql • sqlite - An ADBC driver for SQLite developed under the Apache Software Foundation ``` +## Private Drivers + +If you are [logged in](./private_registries.md) to a private registry, you will see some drivers marked with a `[private]` label: + +```console +$ go run ./cmd/dbc search +... +oracle [private] An ADBC driver for Oracle Database developed by Columnar +``` + +These drivers can be [installed](./installing.md) and added to [driver lists](../concepts/driver_list.md) just like regular drivers. + ## Options ### Verbose From 41a0c4afe008e1a9fbcdcd5fe9fc621da3a455f4 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 20:22:24 -0800 Subject: [PATCH 05/33] add private drivers guide --- docs/guides/private_drivers.md | 39 ++++++++++++++++++++++++++++++++++ mkdocs.yml | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 docs/guides/private_drivers.md diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md new file mode 100644 index 00000000..cc3bc06b --- /dev/null +++ b/docs/guides/private_drivers.md @@ -0,0 +1,39 @@ + + +# Private Drivers + +{{ since_version('v0.2.0') }} + +Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). Some of the drivers you see when you run dbc search may be marked with a `[private]` label. These drivers require logging in to install and a license to use. + +## Logging In + +To log into Columnar's private registry, run `dbc auth login`. You will see the following in your terminal and your default web browser will be opened: + +```console +$ go run ./cmd/dbc auth login +Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default web browser... +⠏ Waiting for confirmation... +``` + +In your browser, you will see a "Device Confirmation" prompt and, once you click "Continue", you will be redirected to log in with your login provider of choice. + +## Starting a Trial + +To use any drivers you install marked with `[private]`, you must obtain a obtain a license. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page by clicking "Start Free 14-Day Trial". + +Once your license is created in the web interface, you do not need to download the license manually. If you ran `dbc auth login` before starting a license, you will need to run `dbc auth logout` and then run `dbc auth login` again to download your license. diff --git a/mkdocs.yml b/mkdocs.yml index beba9edc..7582c0f0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -46,7 +46,7 @@ nav: - Using a Driver List: guides/driver_list.md - Driver Managers: guides/driver_manager.md - Python Notebooks: guides/python_notebooks.md - - Private Registries: guides/private_registries.md + - Private Drivers: guides/private_drivers.md - Concepts: - concepts/index.md - Driver: concepts/driver.md From 4ee0705ee5f1ff8def0c31dbe3989a3fc553dc90 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Tue, 20 Jan 2026 20:24:59 -0800 Subject: [PATCH 06/33] fix typo in macros.py docstring and broken link in finding_drivers.md --- docs/guides/finding_drivers.md | 2 +- docs/macros.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/finding_drivers.md b/docs/guides/finding_drivers.md index 475f2697..014cbbae 100644 --- a/docs/guides/finding_drivers.md +++ b/docs/guides/finding_drivers.md @@ -50,7 +50,7 @@ $ dbc search sql ## Private Drivers -If you are [logged in](./private_registries.md) to a private registry, you will see some drivers marked with a `[private]` label: +If you are [logged in](./private_drivers.md) to a private registry, you will see some drivers marked with a `[private]` label: ```console $ go run ./cmd/dbc search diff --git a/docs/macros.py b/docs/macros.py index d95e8727..6296ecd7 100644 --- a/docs/macros.py +++ b/docs/macros.py @@ -16,7 +16,7 @@ def define_env(env): @env.macro def since_version(version): - """Create a "since v1.2.3" badge for annotation featuresw ith. + """Create a "since v1.2.3" badge for annotation features with. Args: version: git tag for version From 756fa96c5b521b8f61029de83abecef7c541a5f4 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:02:49 -0800 Subject: [PATCH 07/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index cc3bc06b..8368ba88 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -18,7 +18,7 @@ limitations under the License. {{ since_version('v0.2.0') }} -Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). Some of the drivers you see when you run dbc search may be marked with a `[private]` label. These drivers require logging in to install and a license to use. +Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). Some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. These drivers require logging in to install and a license to use. ## Logging In From 090898f261002dac81cd412764c7f469413150ef Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:02:56 -0800 Subject: [PATCH 08/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 8368ba88..6f851f91 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -22,7 +22,7 @@ Most drivers available with dbc are hosted on Columnar's public [driver registry ## Logging In -To log into Columnar's private registry, run `dbc auth login`. You will see the following in your terminal and your default web browser will be opened: +To log into Columnar's private driver registry, run `dbc auth login`. You will see the following in your terminal and your default web browser will be opened: ```console $ go run ./cmd/dbc auth login From 3ede3e906c37c6677933014c34155c92765562bd Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:03:03 -0800 Subject: [PATCH 09/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 6f851f91..136afa3a 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -25,7 +25,7 @@ Most drivers available with dbc are hosted on Columnar's public [driver registry To log into Columnar's private driver registry, run `dbc auth login`. You will see the following in your terminal and your default web browser will be opened: ```console -$ go run ./cmd/dbc auth login +$ dbc auth login Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default web browser... ⠏ Waiting for confirmation... ``` From 0107cd42ac47b0cc6cdfa970535f35d1e44e7db5 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:03:16 -0800 Subject: [PATCH 10/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 136afa3a..d77f5b93 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -30,7 +30,7 @@ Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default ⠏ Waiting for confirmation... ``` -In your browser, you will see a "Device Confirmation" prompt and, once you click "Continue", you will be redirected to log in with your login provider of choice. +In your browser, you will see a **Device Confirmation** prompt and, once you click **Continue**, you will be redirected to log in with your login provider of choice. ## Starting a Trial From 4655d4b75f8eaa4c6991ca12c49f5a64d3b74f35 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:14:32 -0800 Subject: [PATCH 11/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index d77f5b93..b6324292 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -34,6 +34,6 @@ In your browser, you will see a **Device Confirmation** prompt and, once you cli ## Starting a Trial -To use any drivers you install marked with `[private]`, you must obtain a obtain a license. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page by clicking "Start Free 14-Day Trial". +To use any drivers you install marked with `[private]`, you must obtain a obtain a license. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page by clicking **Start Free 14-Day Trial**. Once your license is created in the web interface, you do not need to download the license manually. If you ran `dbc auth login` before starting a license, you will need to run `dbc auth logout` and then run `dbc auth login` again to download your license. From 8bdbba9056e70a45427e321cc5534ff50c6ad55a Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Wed, 21 Jan 2026 10:14:54 -0800 Subject: [PATCH 12/33] Update docs/guides/finding_drivers.md Co-authored-by: Ian Cook --- docs/guides/finding_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/finding_drivers.md b/docs/guides/finding_drivers.md index 014cbbae..7f690a88 100644 --- a/docs/guides/finding_drivers.md +++ b/docs/guides/finding_drivers.md @@ -53,7 +53,7 @@ $ dbc search sql If you are [logged in](./private_drivers.md) to a private registry, you will see some drivers marked with a `[private]` label: ```console -$ go run ./cmd/dbc search +$ dbc search ... oracle [private] An ADBC driver for Oracle Database developed by Columnar ``` From c8846cace9005e22d42a8fcd3d9db892af0917fe Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 13:32:14 -0800 Subject: [PATCH 13/33] Update docs/guides/private_drivers.md Co-authored-by: Ian Cook --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index b6324292..1d08e6c5 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -36,4 +36,4 @@ In your browser, you will see a **Device Confirmation** prompt and, once you cli To use any drivers you install marked with `[private]`, you must obtain a obtain a license. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page by clicking **Start Free 14-Day Trial**. -Once your license is created in the web interface, you do not need to download the license manually. If you ran `dbc auth login` before starting a license, you will need to run `dbc auth logout` and then run `dbc auth login` again to download your license. +After creating your license in the web interface, you don't need to download the license file manually. If you've logged in using `dbc auth login`, dbc will automatically fetch the license file when needed. From f3ffe813e13c4f41f48f4874f7dea694512778d0 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 13:36:49 -0800 Subject: [PATCH 14/33] Update private_drivers.md --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 1d08e6c5..e7959351 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -30,7 +30,7 @@ Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default ⠏ Waiting for confirmation... ``` -In your browser, you will see a **Device Confirmation** prompt and, once you click **Continue**, you will be redirected to log in with your login provider of choice. +In your browser, you will see a **Device Confirmation** prompt and, once you click **Confirm**, you will be redirected to log in with your login provider of choice. ## Starting a Trial From b7e93d65c092556dd996d9b96919a9d64749266d Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 14:18:47 -0800 Subject: [PATCH 15/33] rework private drivers --- docs/guides/private_drivers.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index e7959351..9b2895d5 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -18,7 +18,14 @@ limitations under the License. {{ since_version('v0.2.0') }} -Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). Some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. These drivers require logging in to install and a license to use. +Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). However, some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. + +To use these drivers, you must: + +1. Log in to [Columnar Cloud](https://cloud.columnar.tech) with dbc +2. Start a trial license + +Continue reading to learn how to log in and get a trial license. ## Logging In @@ -30,10 +37,29 @@ Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default ⠏ Waiting for confirmation... ``` -In your browser, you will see a **Device Confirmation** prompt and, once you click **Confirm**, you will be redirected to log in with your login provider of choice. +In your browser, you will see a **Device Confirmation** prompt and, once you click **Confirm**, you will be redirected to log in with your login provider of choice. Once you log in, you will be redirected to [Columnar Cloud](https://cloud.columnar.tech/). Keep the tab open and continue on to the next step. ## Starting a Trial -To use any drivers you install marked with `[private]`, you must obtain a obtain a license. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page by clicking **Start Free 14-Day Trial**. +To use drivers marked with `[private]`, you must obtain a obtain a license. This is a separate step from logging in. + +Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page on Columnar Cloud by clicking **Start Free 14-Day Trial**. Follow any instructions in the dialog that opens up and click **Accept** to create your license. + +!!! warning + + dbc can automatically fetch your license but only if you run `dbc auth logout` and run `dbc auth login` again after starting your trial. + + For example, you will most likely follow these steps to use a private driver after you set up your account: + + 1. Run `dbc auth login` + 2. Create a trial license on your [Account](https://cloud.columnar.tech/account) page + 3. Run `dbc auth logout` + 4. Run `dbc auth login` + +If you'd prefer to download the license manually, you can click **Download License File** and place the downloaded file in the appropriate location for your operating system: + +- Windows: `%LocalAppData%/dbc/credentials` +- macOS: `~/Library/Application Support/Columnar/dbc/credentials` +- Linux: `~/.local/share/dbc/credentials` -After creating your license in the web interface, you don't need to download the license file manually. If you've logged in using `dbc auth login`, dbc will automatically fetch the license file when needed. +You may also use a custom location by setting the environment variable `XDG_DATA_HOME` to an absolute path of your choosing. From c87b0b8d7894b22bee48301161912baf233ab5f3 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 14:22:40 -0800 Subject: [PATCH 16/33] Update cli.md --- docs/reference/cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 5a0e840a..44e5be79 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -323,7 +323,7 @@ $ dbc auth logout `REGISTRYURL` -: Optional. URL of the driver registry to authenticate with. +: Optional. URL of the driver registry to authenticate with. Defaults to Columnar's private driver registry if not provided.

Options

From 161cd532399dde8f9315bb6ad36e723a5c923274 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 14:28:35 -0800 Subject: [PATCH 17/33] Update cli.md --- docs/reference/cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 44e5be79..4c6aef84 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -323,7 +323,7 @@ $ dbc auth logout `REGISTRYURL` -: Optional. URL of the driver registry to authenticate with. Defaults to Columnar's private driver registry if not provided. +: Optional. URL of the driver registry to authenticate with. Defaults to [https://dbc-cdn-private.columnar.tech/](https://dbc-cdn-private.columnar.tech/).

Options

From 33d7d9716ce9d4013bdca526d5564e51b446d546 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:01:46 -0800 Subject: [PATCH 18/33] Update private_drivers.md --- docs/guides/private_drivers.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 9b2895d5..09a812bb 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -25,7 +25,7 @@ To use these drivers, you must: 1. Log in to [Columnar Cloud](https://cloud.columnar.tech) with dbc 2. Start a trial license -Continue reading to learn how to log in and get a trial license. +Continue reading to learn how to log in start a trial. ## Logging In @@ -37,22 +37,22 @@ Opening https://auth.columnar.tech/activate?user_code=XXXX-XXXX in your default ⠏ Waiting for confirmation... ``` -In your browser, you will see a **Device Confirmation** prompt and, once you click **Confirm**, you will be redirected to log in with your login provider of choice. Once you log in, you will be redirected to [Columnar Cloud](https://cloud.columnar.tech/). Keep the tab open and continue on to the next step. +In your browser, you will see a **Device Confirmation** prompt and, once you click **Confirm**, you will be redirected to log in with the provider of your choice. Once you log in, you will be redirected to [Columnar Cloud](https://cloud.columnar.tech/). Keep the tab open and continue on to the next step. ## Starting a Trial -To use drivers marked with `[private]`, you must obtain a obtain a license. This is a separate step from logging in. +While you can install private drivers without a trial, you must have a license to use one. This is a separate step from logging in. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page on Columnar Cloud by clicking **Start Free 14-Day Trial**. Follow any instructions in the dialog that opens up and click **Accept** to create your license. !!! warning - dbc can automatically fetch your license but only if you run `dbc auth logout` and run `dbc auth login` again after starting your trial. + dbc can automatically obtain your license but only if you run `dbc auth logout` and run `dbc auth login` again after starting your trial. - For example, you will most likely follow these steps to use a private driver after you set up your account: + For example, you will most likely follow these steps the first time you 1. Run `dbc auth login` - 2. Create a trial license on your [Account](https://cloud.columnar.tech/account) page + 2. Start a trial license on your [Account](https://cloud.columnar.tech/account) page 3. Run `dbc auth logout` 4. Run `dbc auth login` @@ -63,3 +63,15 @@ If you'd prefer to download the license manually, you can click **Download Licen - Linux: `~/.local/share/dbc/credentials` You may also use a custom location by setting the environment variable `XDG_DATA_HOME` to an absolute path of your choosing. + +## Logging Out + +To log out, run `dbc auth logout`. + +By default, the `logout` command doesn't purge any driver licenses from your system and only removes your login credentials. If you wish remove the local copy of your license run: + +```console +$ dbc auth logout --purge +``` + +Note that this command only removes the local copy of your license and does not cancel your trial. From b05495cadbbdb2c35004de508bf61989daf3a742 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:18:10 -0800 Subject: [PATCH 19/33] Update driver_registry.md --- docs/concepts/driver_registry.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/concepts/driver_registry.md b/docs/concepts/driver_registry.md index 621b1954..df744bb4 100644 --- a/docs/concepts/driver_registry.md +++ b/docs/concepts/driver_registry.md @@ -16,6 +16,8 @@ limitations under the License. # Driver Registry -dbc installs drivers from a "driver registry" which is an internet-accessible index of installable [ADBC driver](./driver.md) packages. Currently, dbc supports a single driver registry which is located at [https://dbc-cdn.columnar.tech](https://dbc-cdn.columnar.tech) and is managed by [Columnar](https://columnar.tech). +dbc installs drivers from a "driver registry" which is an internet-accessible index of installable [ADBC driver](./driver.md) packages. -When you run a command like [`dbc search`](../reference/cli.md#search) or [`dbc install`](../reference/cli.md#install), dbc gets information about the drivers that are available in the driver registry by downloading `index.yaml` from [https://dbc-cdn.columnar.tech](https://dbc-cdn.columnar.tech/index.yaml) or using a cached copy. +By default, dbc is configured to communicate with Columnar's public and private driver registries. Most drivers will be from the public registry but some will be marked with a `[private]` label which means they're from the private registry. See [Private Drivers](../guides/private_drivers.md) for information on how to install and use private drivers. + +When you run a command like [`dbc search`](../reference/cli.md#search) or [`dbc install`](../reference/cli.md#install), dbc gets information about the drivers that are available from each configured registry by downloading its `index.yaml` or using a cached copy. From 85dffbc6d35f6bb0e8ac0d5bb30c6d3012b90b69 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:37:43 -0800 Subject: [PATCH 20/33] boop --- docs/guides/private_drivers.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 09a812bb..ac50a0b1 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -75,3 +75,7 @@ $ dbc auth logout --purge ``` Note that this command only removes the local copy of your license and does not cancel your trial. + +## API Keys + +TODO From e1e9ff097661bec31dd1abbc1258dbbfdd3dd8ad Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:43:44 -0800 Subject: [PATCH 21/33] Update private_drivers.md --- docs/guides/private_drivers.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index ac50a0b1..fc34a207 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -45,16 +45,9 @@ While you can install private drivers without a trial, you must have a license t Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page on Columnar Cloud by clicking **Start Free 14-Day Trial**. Follow any instructions in the dialog that opens up and click **Accept** to create your license. -!!! warning +### Downloading Your License - dbc can automatically obtain your license but only if you run `dbc auth logout` and run `dbc auth login` again after starting your trial. - - For example, you will most likely follow these steps the first time you - - 1. Run `dbc auth login` - 2. Start a trial license on your [Account](https://cloud.columnar.tech/account) page - 3. Run `dbc auth logout` - 4. Run `dbc auth login` +dbc will automatically download your license when you try to install a private driver after you start your trial. If you'd prefer to download the license manually, you can click **Download License File** and place the downloaded file in the appropriate location for your operating system: From 812f6750a2940f69f81d2c716d0ea89a639a130b Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:47:05 -0800 Subject: [PATCH 22/33] Update private_drivers.md --- docs/guides/private_drivers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index fc34a207..eb87d665 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -20,7 +20,7 @@ limitations under the License. Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). However, some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. -To use these drivers, you must: +To install and use these drivers, you must: 1. Log in to [Columnar Cloud](https://cloud.columnar.tech) with dbc 2. Start a trial license @@ -41,7 +41,7 @@ In your browser, you will see a **Device Confirmation** prompt and, once you cli ## Starting a Trial -While you can install private drivers without a trial, you must have a license to use one. This is a separate step from logging in. +To install and use a private driver, you must start a trial and obtain a license. This is a separate step from logging in. Licenses can be obtained from your [Account](https://cloud.columnar.tech/account) page on Columnar Cloud by clicking **Start Free 14-Day Trial**. Follow any instructions in the dialog that opens up and click **Accept** to create your license. From 913d6f9648fbff5e9abf02bc270610f03fc0d10a Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 15:59:07 -0800 Subject: [PATCH 23/33] Update private_drivers.md --- docs/guides/private_drivers.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index eb87d665..30686b4b 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -47,7 +47,10 @@ Licenses can be obtained from your [Account](https://cloud.columnar.tech/account ### Downloading Your License -dbc will automatically download your license when you try to install a private driver after you start your trial. +dbc will automatically download your license if you: + +1. Have an active license +2. Run `dbc install` with a private driver If you'd prefer to download the license manually, you can click **Download License File** and place the downloaded file in the appropriate location for your operating system: @@ -55,7 +58,7 @@ If you'd prefer to download the license manually, you can click **Download Licen - macOS: `~/Library/Application Support/Columnar/dbc/credentials` - Linux: `~/.local/share/dbc/credentials` -You may also use a custom location by setting the environment variable `XDG_DATA_HOME` to an absolute path of your choosing. +You may also use a custom location by setting the environment variable `XDG_DATA_HOME` to an absolute path of your choosing. If you do this, you must ensure you set the same value of `XDG_DATA_HOME` when loading drivers with the [driver manager](../concepts/driver_manager.md) for the drivers to find your license. ## Logging Out From 59f1eede745faa4b4bcbbee0797d8921319589a0 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:29:04 -0800 Subject: [PATCH 24/33] Add note about purge --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 30686b4b..73b05df5 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -70,7 +70,7 @@ By default, the `logout` command doesn't purge any driver licenses from your sys $ dbc auth logout --purge ``` -Note that this command only removes the local copy of your license and does not cancel your trial. +Note that this command only removes the local copy of your license and does not cancel any active licenses you may have in your [Columnar Cloud](https://cloud.columnar.tech) account. After running `dbc auth logout --purge`, the next time you run `dbc auth login`, your license will be automatically downloaded again. ## API Keys From 6b14ceb25e9e6a37c8fb3275334a6b8bad2db68b Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:29:09 -0800 Subject: [PATCH 25/33] Add API keys section --- docs/guides/private_drivers.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 73b05df5..0f48a315 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -74,4 +74,25 @@ Note that this command only removes the local copy of your license and does not ## API Keys -TODO +dbc also supports logging in to private driver registries via API key. This is primarily intended for use [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) systems or any system where logging in with a web browser is not possible. + +To create an API key, open a web browser to your [API keys](https://cloud.columnar.tech/apikeys) page. + +!!! note inline end + + If you've already created an API key, you will see a **Create API Key** button instead. + +If you haven't created any API keys before, you will see a **Create Your First API Key** button. After clicking that, enter a name, optionally choose an expiration, and click **Create**. On the following screen, you will see your new API key and instructions to copy it to your clipboard. + +!!! note + + API keys grant full access to your account so be sure to store it in a secure way. + + +Then to use your API to log in, run: + +```console +$ dbc auth login --api-key "" +``` + +Once you've run this successfully, dbc is now logged in and you can install private drivers as you would normally. From 39117311a09581dcdefb4f4b4753fe67e1a6489c Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:29:46 -0800 Subject: [PATCH 26/33] Update docs/guides/private_drivers.md Co-authored-by: Matt Topol --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 0f48a315..0a7660b1 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -25,7 +25,7 @@ To install and use these drivers, you must: 1. Log in to [Columnar Cloud](https://cloud.columnar.tech) with dbc 2. Start a trial license -Continue reading to learn how to log in start a trial. +Continue reading to learn how to log in and start a trial. ## Logging In From f9bda382284de173cf3bc1ecd43989d0357b9b12 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:32:14 -0800 Subject: [PATCH 27/33] proforead --- docs/guides/private_drivers.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 0a7660b1..d343e5c8 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -74,7 +74,7 @@ Note that this command only removes the local copy of your license and does not ## API Keys -dbc also supports logging in to private driver registries via API key. This is primarily intended for use [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) systems or any system where logging in with a web browser is not possible. +dbc also supports logging in to private driver registries via API key. This is primarily intended for use in [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) systems or any system where logging in with a web browser is not possible. To create an API key, open a web browser to your [API keys](https://cloud.columnar.tech/apikeys) page. @@ -82,14 +82,14 @@ To create an API key, open a web browser to your [API keys](https://cloud.column If you've already created an API key, you will see a **Create API Key** button instead. -If you haven't created any API keys before, you will see a **Create Your First API Key** button. After clicking that, enter a name, optionally choose an expiration, and click **Create**. On the following screen, you will see your new API key and instructions to copy it to your clipboard. +If you haven't created any API keys before, you will see a **Create Your First API Key** button. After clicking it, enter a name, optionally choose an expiration, and click **Create**. On the following screen, you will see your new API key and instructions to copy it to your clipboard. !!! note API keys grant full access to your account so be sure to store it in a secure way. -Then to use your API to log in, run: +Then to use your API key to log in, run: ```console $ dbc auth login --api-key "" From 78dca5c6b18081ac6ee0380390977b7bde5ee25d Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:34:27 -0800 Subject: [PATCH 28/33] Update cli.md --- docs/reference/cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 4c6aef84..082d1f15 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -341,7 +341,7 @@ $ dbc auth logout `REGISTRYURL` -: Optional. URL of the driver registry to log out from +: Optional. URL of the driver registry to log out from. Defaults to [https://dbc-cdn-private.columnar.tech/](https://dbc-cdn-private.columnar.tech/).

Options

From da0dc544049a80af09ee4fec342c78674216dc6c Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Thu, 22 Jan 2026 19:37:24 -0800 Subject: [PATCH 29/33] add note about account --- docs/guides/private_drivers.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index d343e5c8..d72ca240 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -29,7 +29,9 @@ Continue reading to learn how to log in and start a trial. ## Logging In -To log into Columnar's private driver registry, run `dbc auth login`. You will see the following in your terminal and your default web browser will be opened: +To log into Columnar's private driver registry, run `dbc auth login`. This will automatically create an account for you the first time you log in. + +You will see the following in your terminal and your default web browser will be opened: ```console $ dbc auth login From 26ee157493f2c0ad3f8df74aecaf9e6a83725913 Mon Sep 17 00:00:00 2001 From: Ian Cook Date: Fri, 23 Jan 2026 00:50:50 -0500 Subject: [PATCH 30/33] Fix broken link --- docs/guides/private_drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index d72ca240..274ce8d5 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -18,7 +18,7 @@ limitations under the License. {{ since_version('v0.2.0') }} -Most drivers available with dbc are hosted on Columnar's public [driver registry](../reference/driver_registry.md). However, some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. +Most drivers available with dbc are hosted on Columnar's public [driver registry](../concepts/driver_registry.md). However, some of the drivers you see when you run `dbc search` may be marked with a `[private]` label. To install and use these drivers, you must: From 69c90b131983890f8adf6d02551c71476977b786 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Fri, 23 Jan 2026 12:42:16 -0800 Subject: [PATCH 31/33] Add warning about purge --- docs/guides/private_drivers.md | 9 ++++++++- docs/reference/cli.md | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/guides/private_drivers.md b/docs/guides/private_drivers.md index 274ce8d5..9e27f7c2 100644 --- a/docs/guides/private_drivers.md +++ b/docs/guides/private_drivers.md @@ -72,7 +72,14 @@ By default, the `logout` command doesn't purge any driver licenses from your sys $ dbc auth logout --purge ``` -Note that this command only removes the local copy of your license and does not cancel any active licenses you may have in your [Columnar Cloud](https://cloud.columnar.tech) account. After running `dbc auth logout --purge`, the next time you run `dbc auth login`, your license will be automatically downloaded again. +!!! note + + Note that this command only removes the local copy of your license and does not cancel any active licenses you may have in your [Columnar Cloud](https://cloud.columnar.tech) account. + +!!! warning + + ADBC drivers that require a license (i.e., private drivers) will stop working after you run this command. You can re-download your license with `dbc auth login`. See [Downloading Your License](#downloading-your-license). + ## API Keys diff --git a/docs/reference/cli.md b/docs/reference/cli.md index 082d1f15..f780fef7 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -348,3 +348,7 @@ $ dbc auth logout `--purge` : Remove all local auth credentials for dbc + + !!! warning + + ADBC drivers that require a license (i.e., private drivers) will stop working after you run this command. You can re-download your license with `dbc auth login`. See [Downloading Your License](../guides/private_drivers.md#downloading-your-license). From 1e29238907d566362ea3010d17b890ffde485116 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Fri, 23 Jan 2026 12:43:31 -0800 Subject: [PATCH 32/33] Update docs/reference/cli.md Co-authored-by: Ian Cook --- docs/reference/cli.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/reference/cli.md b/docs/reference/cli.md index f780fef7..c99cd9cd 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -310,7 +310,6 @@ $ dbc docs

Usage

```console -$ dbc auth $ dbc auth login $ dbc auth logout ``` From d23527c57b3b709b0a7fefd522a88b21a776e382 Mon Sep 17 00:00:00 2001 From: Bryce Mecum Date: Fri, 23 Jan 2026 12:55:25 -0800 Subject: [PATCH 33/33] Don't highlight shell built-ins --- docs/stylesheets/extra.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index b1577b57..323d84cb 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -24,6 +24,13 @@ text-decoration: underline; } +/* Disable highlighting for shell built-ins. This means words in console blocks +like echo, export, logout, and source will use the same color as other commands +and won't show up highlighted as purple. */ +.highlight .nb { + color: inherit; +} + /* Hide the site name in the header... */ .md-header__title .md-header__topic:first-of-type { display: none !important;