Skip to content

Conversation

amotl
Copy link
Member

@amotl amotl commented Sep 15, 2025

About

Details about PyCaret have been on a specific page before. Let's make it more generic, following the lemma "each integration item on a dedicated slot within the »integrations« backbone section, then link to it", so nobody will get confused where to add more of the same kind.

Preview

https://cratedb-guide--303.org.readthedocs.build/integrate/pycaret/

References

/cc @seut

Copy link

coderabbitai bot commented Sep 15, 2025

Walkthrough

Adds a new PyCaret integration page under docs/integrate, links it from the integrations toctree, and removes the PyCaret content from the ML topic page, replacing it with a seealso pointer to the new integration page.

Changes

Cohort / File(s) Summary of Changes
Integrations Toctree Update
docs/integrate/index.md
Added pycaret/index to the Integrations toctree (inserted after prometheus/index).
New PyCaret Integration Page
docs/integrate/pycaret/index.md
Added a new documentation page describing PyCaret integration, concept, hyperparameter tuning, benefits, and Learn cards linking to example notebooks (badges and external anchors included).
ML Topic Consolidation
docs/topic/ml/index.md
Removed the PyCaret topic block and related info-card(s); replaced with a concise seealso directive pointing to the new PyCaret integration page and removed the bottom reference link.

Sequence Diagram(s)

Not applicable — documentation-only changes; no control-flow or runtime behavior modified.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

new content

Suggested reviewers

  • kneth
  • surister
  • bmunkholm

Poem

I nibble docs with whiskers twitching bright,
A PyCaret path now gleams within my sight.
I moved the crumbs to one neat lane,
Notebooks shine — I hop again! 🥕

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pycaret

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0b4853a and 3e6210c.

📒 Files selected for processing (1)
  • docs/integrate/pycaret/index.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/integrate/pycaret/index.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "PyCaret: Refactor section to dedicated page" succinctly and accurately summarizes the primary change: moving PyCaret documentation into its own integrations page; the diff shows a new docs/integrate/pycaret/index.md and related updates to the integrations index and topic ml page, so the title is on-point and specific.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description Check ✅ Passed The PR description clearly states the intent to refactor PyCaret documentation into a dedicated integrations page, includes a preview link and a reference to GH-313, and directly corresponds to the diffs that add docs/integrate/pycaret/index.md, update the integrations index, and remove the PyCaret block from the ML topic page.

@amotl

This comment was marked as resolved.

This comment was marked as resolved.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (8)
docs/integrate/pycaret/index.md (8)

6-6: Add descriptive alt text to the logo for a11y.

Empty alt text reduces accessibility.

-[![](https://github.com/crate/crate-clients-tools/assets/453543/b17a59e2-6801-4f53-892f-ff472491095f){w=180px}](https://pycaret.org/)
+[![PyCaret logo](https://github.com/crate/crate-clients-tools/assets/453543/b17a59e2-6801-4f53-892f-ff472491095f){w=180px}](https://pycaret.org/)

18-21: Use consistent proper-noun casing for libraries.

Prefer “XGBoost”, “Ray”, “LightGBM”; keep “scikit-learn”.

-libraries like scikit-learn, xgboost, ray, lightgbm, and many more.
+libraries like scikit-learn, XGBoost, Ray, LightGBM, and many more.

26-30: Tighten wording and fix punctuation.

Streamline the AutoML concept sentence.

-The general concept of PyCaret - and for the matter of fact for AutoML in general -
-is rather simple: One takes the raw data, splits it into a training and a test set
-and then trains a number of different models on the training set. The models are
-then evaluated on the test set and the best performing model is selected.
+The general concept of PyCaret—and, in fact, of AutoML in general—is straightforward:
+take raw data, split it into training and test sets, train multiple models on the
+training set, evaluate on the test set, and select the best‑performing model.

39-41: Name tuning methods consistently.

Use standard terms: “Grid Search”, “Random Search”, “Bayesian Optimization”; minor grammar fix.

-Modern algorithms for executing all these experiments are - amongst others -
-GridSearch, RandomSearch and BayesianSearch. For a quick introduction into
-these methods, see [Introduction to hyperparameter tuning].
+Common approaches include Grid Search, Random Search, and Bayesian Optimization.
+For a quick introduction to these methods, see [Introduction to hyperparameter tuning].

49-49: Spelling: “straightforward” (no hyphen).

-and provides a simple interface to execute all these experiments in a
-straight-forward way. The notebooks referenced below demonstrate how this works.
+and provides a simple interface to execute all these experiments in a
+straightforward way. The notebooks referenced below demonstrate how this works.

70-74: Align tags with the classification notebook.

Remove Time Series/Anomaly/Forecasting; add Classification.

-{tags-primary}`Fundamentals` \
-{tags-secondary}`Time Series` \
-{tags-secondary}`Anomaly Detection` \
-{tags-secondary}`Prediction / Forecasting`
+{tags-primary}`Fundamentals` \
+{tags-secondary}`Classification`

91-95: Remove “Classification” tag from the forecasting notebook block.

 {tags-primary}`Fundamentals` \
 {tags-secondary}`Time Series` \
 {tags-secondary}`Training` \
-{tags-secondary}`Classification` \
 {tags-secondary}`Forecasting`

51-56: Consider adding a “-learn” page if a step-by-step tutorial is planned.

Matches the repo’s integration pattern (index anchor + separate learn page).

Happy to scaffold docs/integrate/pycaret/learn.md with a toctree and placeholders.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 427d701 and 35fbba5.

📒 Files selected for processing (3)
  • docs/integrate/index.md (1 hunks)
  • docs/integrate/pycaret/index.md (1 hunks)
  • docs/topic/ml/index.md (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-09T16:19:43.966Z
Learnt from: amotl
PR: crate/cratedb-guide#238
File: docs/integrate/azure-functions/learn.rst:1-1
Timestamp: 2025-08-09T16:19:43.966Z
Learning: In the CrateDB Guide documentation, main integration anchors (e.g., `azure-functions`) are intentionally placed in the `index.md` files of their respective integration folders, while detailed tutorials use the `-learn` suffix (e.g., `azure-functions-learn`) in their `learn.rst` or `learn.md` files. This is a deliberate architectural pattern for the documentation restructuring.

Applied to files:

  • docs/integrate/pycaret/index.md
🔇 Additional comments (3)
docs/integrate/index.md (1)

61-61: LGTM: toctree entry added in the right place.

Ordering and slug look consistent. Please confirm the doc build passes on RTD.

Run “sphinx-build -nW …” or the project’s docs build workflow locally/CI to ensure no broken refs.

docs/topic/ml/index.md (1)

132-134: LGTM: replaced section with seealso to dedicated page.

Keeps the anchor and avoids content duplication.

docs/integrate/pycaret/index.md (1)

64-67: Resolved — badges now point to .ipynb notebooks. GitHub and Colab links for both classification and timeseries return HTTP 200.

@amotl amotl added the refactoring Changing shape or layout, or moving content around. label Sep 15, 2025
@amotl amotl requested a review from kneth September 15, 2025 19:11
@amotl amotl marked this pull request as ready for review September 15, 2025 19:13
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (5)
docs/integrate/pycaret/index.md (5)

63-65: Fix badge/link mismatch: points to .py while labeled “Notebook on GitHub”.

Link the classification badge to the .ipynb on GitHub (it already exists for Colab).

-[automl-classify-github]: https://github.com/crate/cratedb-examples/blob/main/topic/machine-learning/pycaret/automl_classification_with_pycaret.py
+[automl-classify-github]: https://github.com/crate/cratedb-examples/blob/main/topic/machine-learning/pycaret/automl_classification_with_pycaret.ipynb

Also applies to: 96-97


68-71: Remove inaccurate tag “Time Series” from the classification card.

The classification example isn’t time series.

 {tags-primary}`Fundamentals` \
-{tags-secondary}`Time Series` \
 {tags-secondary}`Classification`

86-91: Validate tags for forecasting card.

“Anomaly Detection” seems unrelated to a forecasting tutorial; suggest dropping it (keep Time Series + Prediction/Forecasting).

 {tags-primary}`Fundamentals` \
 {tags-secondary}`Time Series` \
-{tags-secondary}`Anomaly Detection` \
 {tags-secondary}`Prediction / Forecasting`

38-40: Prefer vendor‑neutral docs over Medium (paywalls/walled gardens).

Recommend pointing “Introduction to hyperparameter tuning” to scikit‑learn’s model selection docs.

-[Introduction to hyperparameter tuning]: https://medium.com/analytics-vidhya/comparison-of-hyperparameter-tuning-algorithms-grid-search-random-search-bayesian-optimization-5326aaef1bd1
+[Introduction to hyperparameter tuning]: https://scikit-learn.org/stable/modules/grid_search.html

Also applies to: 100-100


4-7: Host the logo asset locally for stability.

Hotlinking a GitHub asset can break; consider vendoring the logo under docs/_static and referencing it relatively.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 35fbba5 and 0b4853a.

📒 Files selected for processing (1)
  • docs/integrate/pycaret/index.md (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs
🔇 Additional comments (2)
docs/integrate/pycaret/index.md (2)

54-92: Confirm custom directives/roles render in RTD.

info-card, grid-item, tags-primary/tags-secondary look project-specific. Please confirm no Sphinx warnings and the cards render as expected in the preview.


1-52: Nice standalone integration page.

Good structure, anchor, and concise “About/Concept/Benefits/Learn” sections.

@amotl amotl requested a review from hammerhead September 15, 2025 20:48
@amotl amotl merged commit 3976fec into main Sep 16, 2025
3 checks passed
@amotl amotl deleted the pycaret branch September 16, 2025 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Changing shape or layout, or moving content around.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant