diff --git a/python/README.md b/python/README.md
index 3b7fa10c1..bb2b2b59f 100644
--- a/python/README.md
+++ b/python/README.md
@@ -44,7 +44,7 @@ nox
* Generate reference docs
```shell
- nox -s gen-docs
+ nox -s docs-gen
```
You should re-run this after making any updates to the `pysrc` docstrings.
@@ -71,4 +71,3 @@ nox
```
This is primarily used in CI.
-
\ No newline at end of file
diff --git a/python/docs/_quarto.yml b/python/docs/_quarto.yml
index aa93147b1..a08ed7093 100644
--- a/python/docs/_quarto.yml
+++ b/python/docs/_quarto.yml
@@ -21,6 +21,8 @@ website:
text: User Guide
- href: examples/index.qmd
text: Examples
+ - href: community/index.qmd
+ text: Community
- href: reference/index.qmd
text: API
- href: blog/index.qmd
@@ -48,6 +50,9 @@ website:
- guide/execution.qmd
- title: Examples
contents: examples
+ - title: Community
+ contents:
+ - community/index.qmd
- title: API
style: docked
contents: reference
diff --git a/python/docs/_static/css/root.css b/python/docs/_static/css/root.css
deleted file mode 100644
index 388f018c3..000000000
--- a/python/docs/_static/css/root.css
+++ /dev/null
@@ -1,38 +0,0 @@
-/*!
- * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- * Copyright 2023 Fonticons, Inc.
- */
-
-.fas {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: var(--fa-display, inline-block);
- font-family: 'Font Awesome 6 Free';
- font-style: normal;
- font-weight: 900;
- font-variant: normal;
- line-height: 1;
- text-rendering: auto;
-}
-
-@font-face {
- font-family: 'Font Awesome 6 Free';
- font-display: block;
- font-weight: 900;
- src:
- url("../fonts/FontAwesome6Free-Solid-900.woff2") format("woff2"),
- url("../fonts/FontAwesome6Free-Solid-900.ttf") format("truetype");
-}
-
-.fa-binoculars::before {
- content: "\f1e5";
-}
-
-.fa-timeline::before {
- content: "\e29c";
-}
-
-.fa-backward::before {
- content: "\f04a";
-}
\ No newline at end of file
diff --git a/python/docs/_static/fonts/FontAwesome6Free-Solid-900.ttf b/python/docs/_static/fonts/FontAwesome6Free-Solid-900.ttf
deleted file mode 100644
index deab676ff..000000000
Binary files a/python/docs/_static/fonts/FontAwesome6Free-Solid-900.ttf and /dev/null differ
diff --git a/python/docs/_static/fonts/FontAwesome6Free-Solid-900.woff2 b/python/docs/_static/fonts/FontAwesome6Free-Solid-900.woff2
deleted file mode 100644
index 53c1987fe..000000000
Binary files a/python/docs/_static/fonts/FontAwesome6Free-Solid-900.woff2 and /dev/null differ
diff --git a/python/docs/_templates/card.ejs b/python/docs/_templates/card.ejs
index 691f296ea..321764d27 100644
--- a/python/docs/_templates/card.ejs
+++ b/python/docs/_templates/card.ejs
@@ -6,7 +6,7 @@
@@ -15,6 +15,13 @@
<%= item.content %>
+ <% if (item.link) { %>
+
+ <% } %>
<% } %>
diff --git a/python/docs/community/index.qmd b/python/docs/community/index.qmd
new file mode 100644
index 000000000..2e992a267
--- /dev/null
+++ b/python/docs/community/index.qmd
@@ -0,0 +1,51 @@
+---
+title: Community
+format:
+ html:
+ css:
+ - /_static/css/design-style.css
+ link-external-icon: true
+ link-external-newwindow: true
+
+listing:
+ - id: cards
+ template: ../_templates/card.ejs
+ contents:
+ - name: GitHub Discussions
+ icon: bi bi-github
+ content: Ask questions and discuss Kaskada on GitHub.
+ link: https://github.com/kaskada-ai/kaskada/discussions
+ link_label: See GitHub Discussions
+ - name: Slack
+ icon: bi bi-slack
+ content: Join us on Slack to chat about Proactive AI!
+ link: https://join.slack.com/t/kaskada-hq/shared_invite/zt-1t1lms085-bqs2jtGO2TYr9kuuam~c9w
+ link_label: Join Slack
+ - name: Office Hours
+ icon: bi bi-camera-video-fill
+ content: Discuss your real-time Gen AI needs and ideas with us!
+ link: https://calendly.com/kaskada-io/office-hours
+ link_label: Schedule a video call
+---
+
+::: {#cards }
+:::
+
+Welcome to the Kaskada community!
+
+The Kaskada project was open-sourced in 2023. As a growing community, we're here to explore new ways to interact with event-based data at scale and have some fun along the way. We build in the open and use the channels below for communication.
+
+## Contributing
+
+Nothing makes us happier than community contributions. See the README in the main Kaskada repository to get a grasp of the project layout and reference the [`CONTRIBUTING.md`](https://github.com/kaskada-ai/kaskada/blob/main/CONTRIBUTING.md){target="_blank" rel="noopener noreferrer"} file for detailed steps.
+
+Use the [GitHub issue tracker](https://github.com/kaskada-ai/kaskada/issues) to file bugs and feature requests.
+
+Acceptance of the DataStax [contributor license agreement (CLA)](https://cla.datastax.com/) is required in order for us to be able to accept your code contribution. You will see this on the standard pull request checklist for the Kaskada repositories.
+
+If you're interested in contributing but don't know where to start, we also recommend looking for a good first issue in the main repository.
+
+## Code of Conduct
+
+To make Kaskada a welcoming and harassment-free experience for everyone, we adopt and follow the [Contributor Covenant](https://www.contributor-covenant.org/).
+Please read our [Code of Conduct](https://github.com/kaskada-ai/kaskada/blob/main/CODE_OF_CONDUCT.md) before engaging with the community.
diff --git a/python/docs/index.qmd b/python/docs/index.qmd
index 6beed582c..070dd5d74 100644
--- a/python/docs/index.qmd
+++ b/python/docs/index.qmd
@@ -3,7 +3,6 @@ format:
html:
css:
- _static/css/design-style.css
- - _static/css/root.css
link-external-icon: true
link-external-newwindow: true
toc: false
@@ -13,13 +12,13 @@ listing:
template: _templates/card.ejs
contents:
- name: "Real-time Aggregation"
- icon: timeline
+ icon: bi bi-clock-history
content: Precompute model inputs from streaming data with robust data connectors, transformations & aggregations.
- name: Event Detection
- icon: binoculars
+ icon: bi bi-binoculars-fill
content: Trigger pro-active AI behaviors by identifying important activities, as they happen.
- name: History Replay
- icon: backward
+ icon: bi bi-skip-backward-fill
content: Backtest and fine-tune from historical data using per-example time travel and point-in-time joins.
---
diff --git a/python/noxfile.py b/python/noxfile.py
index 82fb8b191..50e8c8577 100644
--- a/python/noxfile.py
+++ b/python/noxfile.py
@@ -140,6 +140,10 @@ def docs_gen(session: nox.Session) -> None:
@nox.session(python=python_versions[0])
def docs(session: nox.Session) -> None:
"""Build and serve the documentation with live reloading on file changes."""
+ if not shutil.which("quarto"):
+ session.error("Unable to execute `quarto`. Is it installed and in your path?\n"
+ "See https://quarto.org/docs/get-started/")
+
install(session, groups=["docs"])
with session.chdir("docs"):
@@ -149,6 +153,10 @@ def docs(session: nox.Session) -> None:
@nox.session(name="docs-build", python=python_versions[0])
def docs_build(session: nox.Session) -> None:
"""Build the docs."""
+ if not shutil.which("quarto"):
+ session.error("Unable to execute `quarto`. Is it installed and in your path?\n"
+ "See https://quarto.org/docs/get-started/")
+
install(session, groups=["docs"])
with session.chdir("docs"):