diff --git a/docs/docs/user/examples/atm-fraud-pipeline.md b/docs/docs/user/examples/atm-fraud-pipeline.md index 06c249f3d..cfc811c70 100644 --- a/docs/docs/user/examples/atm-fraud-pipeline.md +++ b/docs/docs/user/examples/atm-fraud-pipeline.md @@ -72,23 +72,23 @@ kubectl port-forward --namespace kpops service/k8kafka-cp-kafka-connect 8083:808 ### Deploying the ATM fraud detection pipeline + + 1. Export environment variables in your terminal: - ```shell - export DOCKER_REGISTRY=bakdata && \ - export NAMESPACE=kpops - ``` + ```shell + export DOCKER_REGISTRY=bakdata && \ + export NAMESPACE=kpops + ``` 2. Deploy the pipeline - ```shell - poetry run kpops deploy ./examples/bakdata/atm-fraud-detection/pipeline.yaml \ - --pipeline-base-dir ./examples \ - --config ./examples/bakdata/atm-fraud-detection/config.yaml \ - --execute - ``` - - + ```shell + poetry run kpops deploy ./examples/bakdata/atm-fraud-detection/pipeline.yaml \ + --pipeline-base-dir ./examples \ + --config ./examples/bakdata/atm-fraud-detection/config.yaml \ + --execute + ``` !!! Note You can use the `--dry-run` flag instead of the `--execute` flag and check the logs if your pipeline will be @@ -120,6 +120,8 @@ You should be able to see pipeline shown in the image below: Moreover, Streams Explorer needs a while to scrape the information from Kafka connect. Therefore, it might take a bit until you see the whole graph. + + ## Teardown resources ### PostrgreSQL @@ -132,6 +134,8 @@ helm --namespace kpops uninstall postgresql ### ATM fraud pipeline + + 1. Export environment variables in your terminal. ```shell @@ -149,7 +153,6 @@ helm --namespace kpops uninstall postgresql --execute ``` - !!! Note You can use the `--dry-run` flag instead of the `--execute` flag and check the logs if your pipeline will be destroyed correctly. diff --git a/docs/docs/user/getting-started/quick-start.md b/docs/docs/user/getting-started/quick-start.md index 3727f8ca8..c97cf0e1f 100644 --- a/docs/docs/user/getting-started/quick-start.md +++ b/docs/docs/user/getting-started/quick-start.md @@ -67,37 +67,37 @@ kubectl port-forward --namespace kpops service/k8kafka-cp-kafka-connect 8083:808 ### Deploying the Word-count pipeline + + 1. Copy the [configuration](https://github.com/bakdata/kpops-examples/tree/main/word-count/deployment/kpops){target=_blank} from the [kpops-examples repository](https://github.com/bakdata/kpops-examples/tree/main/word-count){target=_blank} into `kpops>examples>bakdata>word-count` like so: - ``` - kpops - ├── examples - | ├── bakdata - | | ├── word-count - | | | ├── config.yaml - | | | ├── defaults - | | | │   └── defaults.yaml - | | | └── pipeline.yaml - | | | - ``` + ``` + kpops + ├── examples + | ├── bakdata + | | ├── word-count + | | | ├── config.yaml + | | | ├── defaults + | | | │   └── defaults.yaml + | | | └── pipeline.yaml + | | | + ``` 2. Export environment variables in your terminal: - ```shell - export DOCKER_REGISTRY=bakdata && \ - export NAMESPACE=kpops - ``` + ```shell + export DOCKER_REGISTRY=bakdata && \ + export NAMESPACE=kpops + ``` 3. Deploy the pipeline - ```shell - kpops deploy ./examples/bakdata/word-count/pipeline.yaml \ - --pipeline-base-dir ./examples \ - --config ./examples/bakdata/word-count/config.yaml \ - --execute - ``` - - + ```shell + kpops deploy ./examples/bakdata/word-count/pipeline.yaml \ + --pipeline-base-dir ./examples \ + --config ./examples/bakdata/word-count/config.yaml \ + --execute + ``` !!! Note You can use the `--dry-run` flag instead of the `--execute` flag and check the logs if your pipeline will be @@ -144,24 +144,24 @@ helm --namespace kpops uninstall redis ### Word-count pipeline + + 1. Export environment variables in your terminal. - ```shell - export DOCKER_REGISTRY=bakdata && \ - export NAMESPACE=kpops - ``` + ```shell + export DOCKER_REGISTRY=bakdata && \ + export NAMESPACE=kpops + ``` 2. Remove the pipeline - ```shell - kpops clean ./examples/bakdata/word-count/pipeline.yaml \ - --pipeline-base-dir ./examples \ - --config ./examples/bakdata/word-count/config.yaml \ - --verbose \ - --execute - ``` - - + ```shell + kpops clean ./examples/bakdata/word-count/pipeline.yaml \ + --pipeline-base-dir ./examples \ + --config ./examples/bakdata/word-count/config.yaml \ + --verbose \ + --execute + ``` !!! Note You can use the `--dry-run` flag instead of the `--execute` flag and check the logs if your pipeline will be @@ -174,14 +174,18 @@ helm --namespace kpops uninstall redis ## Common errors + + - `deploy` fails: - 1. Read the error message. - 2. Try to correct the mistakes if there were any. Likely the configuration is not correct or the port-forwarding is not working as intended. - 3. Run `clean`. - 4. Run `deploy --dry-run` to avoid having to `clean` again. If an error is dropped, start over from step 1. - 5. If the dry-run is successful, run `deploy`. + 1. Read the error message. + 2. Try to correct the mistakes if there were any. Likely the configuration is not correct or the port-forwarding is not working as intended. + 3. Run `clean`. + 4. Run `deploy --dry-run` to avoid having to `clean` again. If an error is dropped, start over from step 1. + 5. If the dry-run is successful, run `deploy`. - `clean` fails: - 1. Read the error message. - 2. Try to correct the indicated mistakes if there were any. Likely the configuration is not correct or the port-forwarding is not working as intended. - 3. Run `clean`. - 4. If `clean` fails, follow the steps in [teardown](../teardown). + 1. Read the error message. + 2. Try to correct the indicated mistakes if there were any. Likely the configuration is not correct or the port-forwarding is not working as intended. + 3. Run `clean`. + 4. If `clean` fails, follow the steps in [teardown](../teardown). + + diff --git a/docs/docs/user/getting-started/setup.md b/docs/docs/user/getting-started/setup.md index 1c608b77e..3e2fef676 100644 --- a/docs/docs/user/getting-started/setup.md +++ b/docs/docs/user/getting-started/setup.md @@ -14,29 +14,30 @@ In this part, you will set up KPOps. This includes: ## Setup Kubernetes with k3d + + If you don't have access to an existing Kubernetes cluster, this section will guide you through creating a local cluster. We recommend the lightweight Kubernetes distribution [k3s](https://k3s.io/){target=_blank} for this. [k3d](https://k3d.io/){target=_blank} is a wrapper around k3s in Docker that lets you get started fast. + 1. You can install k3d with its installation script: - ```shell - wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/v5.4.6/install.sh | bash - ``` + ```shell + wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/v5.4.6/install.sh | bash + ``` - For other ways of installing k3d, you can have a look at their [installation guide](https://k3d.io/v5.4.6/#installation){target=_blank}. + For other ways of installing k3d, you can have a look at their [installation guide](https://k3d.io/v5.4.6/#installation){target=_blank}. 2. The [Kafka deployment](#deploy-kafka) needs a modified Docker image. In that case the image is built and pushed to a Docker registry that holds it. If you do not have access to an existing Docker registry, you can use k3d's Docker registry: - ```shell - k3d registry create kpops-registry.localhost --port 12345 - ``` + ```shell + k3d registry create kpops-registry.localhost --port 12345 + ``` 3. Now you can create a new cluster called `kpops` that uses the previously created Docker registry: - ```shell - k3d cluster create kpops --k3s-arg "--no-deploy=traefik@server:*" --registry-use k3d-kpops-registry.localhost:12345 - ``` - - + ```shell + k3d cluster create kpops --k3s-arg "--no-deploy=traefik@server:*" --registry-use k3d-kpops-registry.localhost:12345 + ``` !!! Note Creating a new k3d cluster automatically configures `kubectl` to connect to the local cluster by modifying your `~/.kube/config`. In case you manually set the `KUBECONFIG` variable or don't want k3d to modify your config, k3d offers [many other options](https://k3d.io/v5.4.6/usage/kubeconfig/#handling-kubeconfigs){target=_blank}. @@ -47,48 +48,48 @@ You can check the cluster status with `kubectl get pods -n kube-system`. If all ## Deploy Kafka + + [Kafka](https://kafka.apache.org/){target=_blank} is an open-source data streaming platform. More information about Kafka can be found in the [documentation](https://kafka.apache.org/documentation/){target=_blank}. To deploy Kafka, this guide uses Confluent's [Helm chart](https://github.com/confluentinc/cp-helm-charts){target=_blank}. 1. To allow connectivity to other systems [Kafka Connect](https://docs.confluent.io/platform/current/connect/index.html#kafka-connect){target=_blank} needs to be extended with drivers. You can install a [JDBC driver](https://docs.confluent.io/kafka-connectors/jdbc/current/jdbc-drivers.html){target=_blank} for Kafka Connect by creating a new Docker image: - 1. Create a `Dockerfile` with the following content: + 1. Create a `Dockerfile` with the following content: - ```dockerfile - FROM confluentinc/cp-kafka-connect:7.1.3 + ```dockerfile + FROM confluentinc/cp-kafka-connect:7.1.3 - RUN confluent-hub install --no-prompt confluentinc/kafka-connect-jdbc:10.6.0 - ``` + RUN confluent-hub install --no-prompt confluentinc/kafka-connect-jdbc:10.6.0 + ``` - 2. Build and push the modified image to your private Docker registry: + 2. Build and push the modified image to your private Docker registry: - ```shell - docker build . --tag localhost:12345/kafka-connect-jdbc:7.1.3 && \ - docker push localhost:12345/kafka-connect-jdbc:7.1.3 - ``` + ```shell + docker build . --tag localhost:12345/kafka-connect-jdbc:7.1.3 && \ + docker push localhost:12345/kafka-connect-jdbc:7.1.3 + ``` - Detailed instructions on building, tagging and pushing a docker image can be found in [Docker docs](https://docs.docker.com/){target=_blank}. + Detailed instructions on building, tagging and pushing a docker image can be found in [Docker docs](https://docs.docker.com/){target=_blank}. 2. Add Confluent's Helm chart repository and update the index: - ```shell - helm repo add confluentinc https://confluentinc.github.io/cp-helm-charts/ && - helm repo update - ``` + ```shell + helm repo add confluentinc https://confluentinc.github.io/cp-helm-charts/ && + helm repo update + ``` 3. Install Kafka, Zookeeper, Confluent's Schema Registry, Kafka Rest Proxy, and Kafka Connect. A single Helm chart installs all five components. Below you can find an example for the `--values ./kafka.yaml` file configuring the deployment accordingly. Deploy the services: - ```shell - helm upgrade \ - --install \ - --version 0.6.1 \ - --values ./kafka.yaml \ - --namespace kpops \ - --create-namespace \ - --wait \ - k8kafka confluentinc/cp-helm-charts - ``` - - + ```shell + helm upgrade \ + --install \ + --version 0.6.1 \ + --values ./kafka.yaml \ + --namespace kpops \ + --create-namespace \ + --wait \ + k8kafka confluentinc/cp-helm-charts + ``` ??? example "Kafka Helm chart values (`kafka.yaml`)" An example value configuration for Confluent's Helm chart. This configuration deploys a single Kafka Broker, a Schema Registry, Zookeeper, Kafka Rest Proxy, and Kafka Connect with minimal resources. diff --git a/docs/docs/user/getting-started/teardown.md b/docs/docs/user/getting-started/teardown.md index 47c839a18..c006c2c45 100644 --- a/docs/docs/user/getting-started/teardown.md +++ b/docs/docs/user/getting-started/teardown.md @@ -11,28 +11,32 @@ The [`kpops` CLI](../references/cli-commands.md) can be used to destroy a pipeline that was previously deployed with KPOps. In case that doesn't work, the pipeline can always be taken down manually with `helm` (see section [Infrastructure](#infrastructure)). + + 1. Export environment variables. - ```shell - export DOCKER_REGISTRY=bakdata && \ - export NAMESPACE=kpops - ``` + ```shell + export DOCKER_REGISTRY=bakdata && \ + export NAMESPACE=kpops + ``` 2. Navigate to the `examples` folder. - Replace the `` with the example you want to tear down. - For example the `atm-fraud-detection`. + Replace the `` with the example you want to tear down. + For example the `atm-fraud-detection`. 3. Remove the pipeline - ```shell - # Uncomment 1 line to either destroy, reset or clean. + ```shell + # Uncomment 1 line to either destroy, reset or clean. - # poetry run kpops destroy /pipeline.yaml \ - # poetry run kpops reset /pipeline.yaml \ - # poetry run kpops clean /pipeline.yaml \ - --config /config.yaml \ - --execute - ``` + # poetry run kpops destroy /pipeline.yaml \ + # poetry run kpops reset /pipeline.yaml \ + # poetry run kpops clean /pipeline.yaml \ + --config /config.yaml \ + --execute + ``` + + ## Infrastructure diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 02aa207dc..f17c5267f 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -32,6 +32,9 @@ theme: plugins: - macros - search + - exclude-search: + exclude: + - resources/* - glightbox extra: @@ -65,8 +68,8 @@ markdown_extensions: - pymdownx.tabbed: alternate_style: true - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.superfences: preserve_tabs: true custom_fences: @@ -101,7 +104,7 @@ nav: - Environment variables: user/core-concepts/variables/environment_variables.md - Substitution: user/core-concepts/variables/substitution.md - References: - - Migration guide: + - Migration guide: - Migrate from v1 to v2: user/migration-guide/v1-v2.md - CLI usage: user/references/cli-commands.md - Editor integration: user/references/editor-integration.md @@ -110,4 +113,3 @@ nav: - Developer Guide: - Auto generation: developer/auto-generation.md - Formatting: developer/formatting.md - diff --git a/poetry.lock b/poetry.lock index dd6524d68..eed1ac6d4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -59,6 +59,20 @@ docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"] tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"] tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"] +[[package]] +name = "babel" +version = "2.13.0" +description = "Internationalization utilities" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, + {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, +] + +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "beautifulsoup4" version = "4.11.1" @@ -618,13 +632,13 @@ test = ["coverage", "flake8 (>=3.0)", "shtab"] [[package]] name = "mkdocs" -version = "1.4.2" +version = "1.5.3" description = "Project documentation with Markdown." optional = false python-versions = ">=3.7" files = [ - {file = "mkdocs-1.4.2-py3-none-any.whl", hash = "sha256:c8856a832c1e56702577023cd64cc5f84948280c1c0fcc6af4cd39006ea6aa8c"}, - {file = "mkdocs-1.4.2.tar.gz", hash = "sha256:8947af423a6d0facf41ea1195b8e1e8c85ad94ac95ae307fe11232e0424b11c5"}, + {file = "mkdocs-1.5.3-py3-none-any.whl", hash = "sha256:3b3a78e736b31158d64dbb2f8ba29bd46a379d0c6e324c2246c3bc3d2189cfc1"}, + {file = "mkdocs-1.5.3.tar.gz", hash = "sha256:eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2"}, ] [package.dependencies] @@ -632,31 +646,45 @@ click = ">=7.0" colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} ghp-import = ">=1.0" jinja2 = ">=2.11.1" -markdown = ">=3.2.1,<3.4" +markdown = ">=3.2.1" +markupsafe = ">=2.0.1" mergedeep = ">=1.3.4" packaging = ">=20.5" +pathspec = ">=0.11.1" +platformdirs = ">=2.2.0" pyyaml = ">=5.1" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pathspec (==0.11.1)", "platformdirs (==2.2.0)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] + +[[package]] +name = "mkdocs-exclude-search" +version = "0.6.5" +description = "A mkdocs plugin that lets you exclude selected files or sections from the search index." +optional = false +python-versions = ">=3.6" +files = [ + {file = "mkdocs-exclude-search-0.6.5.tar.gz", hash = "sha256:6a126367653caf946c56e446ff30ffdec931438a3e2a8740feff3f8682d52a54"}, + {file = "mkdocs_exclude_search-0.6.5-py3-none-any.whl", hash = "sha256:475e372dd17195700acd00213bcc804280d63f39cb7a0c76a801aceefd2807a6"}, +] + +[package.dependencies] +mkdocs = ">=1.0.4" [[package]] name = "mkdocs-glightbox" -version = "0.3.1" +version = "0.3.4" description = "MkDocs plugin supports image lightbox with GLightbox." optional = false python-versions = "*" files = [ - {file = "mkdocs-glightbox-0.3.1.tar.gz", hash = "sha256:ac85e2d4d422cc4a670fa276840f0aa3064a1ec4ad25ccb6d6e82d11bb11e513"}, - {file = "mkdocs_glightbox-0.3.1-py3-none-any.whl", hash = "sha256:1974f505e3272b617b5e7552fd09d8d918d267631ed991772b4bd103dc74bea2"}, + {file = "mkdocs-glightbox-0.3.4.tar.gz", hash = "sha256:96aaf98216f83c0d0fad2e42a8d805cfa6329d6ab25b54265012ccb2154010d8"}, + {file = "mkdocs_glightbox-0.3.4-py3-none-any.whl", hash = "sha256:8f894435b4f75231164e5d9fb023c01e922e6769e74a121e822c4914f310a41d"}, ] -[package.dependencies] -beautifulsoup4 = ">=4.11.1" - [[package]] name = "mkdocs-macros-plugin" version = "0.7.0" @@ -680,35 +708,42 @@ test = ["mkdocs-include-markdown-plugin", "mkdocs-macros-test", "mkdocs-material [[package]] name = "mkdocs-material" -version = "9.1.1" +version = "9.4.6" description = "Documentation that simply works" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.1.1-py3-none-any.whl", hash = "sha256:3b20d4e9ee28b2c276d391eb2c4e599ff8865e6c7dcab8146a7fd9805ca59263"}, - {file = "mkdocs_material-9.1.1.tar.gz", hash = "sha256:836f0066c9346afc05b1962c146ea097025512bbb607c5f04a38248d7415f165"}, + {file = "mkdocs_material-9.4.6-py3-none-any.whl", hash = "sha256:78802035d5768a78139c84ad7dce0c6493e8f7dc4861727d36ed91d1520a54da"}, + {file = "mkdocs_material-9.4.6.tar.gz", hash = "sha256:09665e60df7ee9e5ff3a54af173f6d45be718b1ee7dd962bcff3102b81fb0c14"}, ] [package.dependencies] -colorama = ">=0.4" -jinja2 = ">=3.0" -markdown = ">=3.2" -mkdocs = ">=1.4.2" -mkdocs-material-extensions = ">=1.1" -pygments = ">=2.14" -pymdown-extensions = ">=9.9.1" -regex = ">=2022.4.24" -requests = ">=2.26" +babel = ">=2.10,<3.0" +colorama = ">=0.4,<1.0" +jinja2 = ">=3.0,<4.0" +markdown = ">=3.2,<4.0" +mkdocs = ">=1.5.3,<2.0" +mkdocs-material-extensions = ">=1.2,<2.0" +paginate = ">=0.5,<1.0" +pygments = ">=2.16,<3.0" +pymdown-extensions = ">=10.2,<11.0" +regex = ">=2022.4" +requests = ">=2.26,<3.0" + +[package.extras] +git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2,<2.0)"] +imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=9.4,<10.0)"] +recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] [[package]] name = "mkdocs-material-extensions" -version = "1.1.1" +version = "1.3" description = "Extension pack for Python Markdown and MkDocs Material." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mkdocs_material_extensions-1.1.1-py3-none-any.whl", hash = "sha256:e41d9f38e4798b6617ad98ca8f7f1157b1e4385ac1459ca1e4ea219b556df945"}, - {file = "mkdocs_material_extensions-1.1.1.tar.gz", hash = "sha256:9c003da71e2cc2493d910237448c672e00cefc800d3d6ae93d2fc69979e3bd93"}, + {file = "mkdocs_material_extensions-1.3-py3-none-any.whl", hash = "sha256:0297cc48ba68a9fdd1ef3780a3b41b534b0d0df1d1181a44676fda5f464eeadc"}, + {file = "mkdocs_material_extensions-1.3.tar.gz", hash = "sha256:f0446091503acb110a7cab9349cbc90eeac51b58d1caa92a704a81ca1e24ddbd"}, ] [[package]] @@ -747,6 +782,16 @@ files = [ {file = "packaging-22.0.tar.gz", hash = "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3"}, ] +[[package]] +name = "paginate" +version = "0.5.6" +description = "Divides large result sets into pages for easier browsing" +optional = false +python-versions = "*" +files = [ + {file = "paginate-0.5.6.tar.gz", hash = "sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"}, +] + [[package]] name = "path" version = "16.7.1" @@ -764,13 +809,13 @@ testing = ["appdirs", "packaging", "pygments", "pytest (>=6)", "pytest-black (>= [[package]] name = "pathspec" -version = "0.10.3" +version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.7" files = [ - {file = "pathspec-0.10.3-py3-none-any.whl", hash = "sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6"}, - {file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"}, + {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, + {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, ] [[package]] @@ -990,13 +1035,13 @@ python-dotenv = ">=0.21.0" [[package]] name = "pygments" -version = "2.14.0" +version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "Pygments-2.14.0-py3-none-any.whl", hash = "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717"}, - {file = "Pygments-2.14.0.tar.gz", hash = "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297"}, + {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, + {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, ] [package.extras] @@ -1015,19 +1060,22 @@ files = [ [[package]] name = "pymdown-extensions" -version = "9.10" +version = "10.3.1" description = "Extension pack for Python Markdown." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-9.10-py3-none-any.whl", hash = "sha256:31eaa76ce6f96aabfcea98787c2fff2c5c0611b20a53a94213970cfbf05f02b8"}, - {file = "pymdown_extensions-9.10.tar.gz", hash = "sha256:562c38eee4ce3f101ce631b804bfc2177a8a76c7e4dc908871fb6741a90257a7"}, + {file = "pymdown_extensions-10.3.1-py3-none-any.whl", hash = "sha256:8cba67beb2a1318cdaf742d09dff7c0fc4cafcc290147ade0f8fb7b71522711a"}, + {file = "pymdown_extensions-10.3.1.tar.gz", hash = "sha256:f6c79941498a458852853872e379e7bab63888361ba20992fc8b4f8a9b61735e"}, ] [package.dependencies] markdown = ">=3.2" pyyaml = "*" +[package.extras] +extra = ["pygments (>=2.12)"] + [[package]] name = "pyright" version = "1.1.314" @@ -1879,4 +1927,4 @@ watchmedo = ["PyYAML (>=3.10)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "7331ca21ca212b5ff617757b913d9292c29cf2a5ec2e2b91f8386678b2d87d1e" +content-hash = "ebe06644e4bdad0cf848bff96088d06fc876e619089a9068f6988ab1fedcb91a" diff --git a/pyproject.toml b/pyproject.toml index 4c2c4a497..da0bdb59e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,11 +58,11 @@ pytablewriter = { extras = ["from"], version = "^1.0.0" } optional = true [tool.poetry.group.docs.dependencies] +mkdocs = "^1.4.2" mkdocs-macros-plugin = "^0.7.0" mkdocs-material = "^9.0.0" -mkdocs = "^1.4.2" -mkdocs-material-extensions = "^1.1.1" mkdocs-glightbox = "^0.3.1" +mkdocs-exclude-search = "^0.6.5" mike = "^1.1.2" [tool.poetry_bumpversion.file."kpops/__init__.py"]