Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
a2f7da5
doc: Add documentation updates and dependency management improvements
ElouenGinat Apr 17, 2026
9970ce7
doc: update .gitignore and remove generated documentation files
ElouenGinat Apr 17, 2026
094cdcc
doc: Add documentation updates and dependency management improvements
ElouenGinat Apr 17, 2026
d448a21
doc: update .gitignore and remove generated documentation files
ElouenGinat Apr 17, 2026
490e87c
Merge branch 'doc' of https://github.com/KhiopsML/khisto-python into doc
ElouenGinat Apr 17, 2026
c904ecc
Enhance documentation for khisto-python library
ElouenGinat Apr 17, 2026
6a6738c
doc: Update README with core histogram API feature and improve docume…
ElouenGinat Apr 17, 2026
2612e98
doc: rename ci files. make the doc ci trigger on tag or manual push.
ElouenGinat Apr 23, 2026
9d09355
doc: install pandoc and update pypandoc dependency in documentation r…
ElouenGinat Apr 23, 2026
afcbaba
Refactor histogram file processing to ensure temporary files are prop…
ElouenGinat Apr 23, 2026
6951888
doc: update documentation links and improve clarity on API usage
ElouenGinat Apr 24, 2026
1dc5cd1
doc: remove obsolete classifier for BSD License in pyproject.toml
ElouenGinat Apr 24, 2026
37632cc
doc: enhance README and index with additional badges and improved con…
ElouenGinat Apr 24, 2026
a4e1372
fix: solve minor issues in the histogram selection. refactoring done
ElouenGinat Jun 17, 2026
f4ad989
fix: add version in static in the pyproject.toml
ElouenGinat Jun 17, 2026
ca90440
fix: change khiops version
ElouenGinat Jun 17, 2026
faec653
doc: Add documentation updates and dependency management improvements
ElouenGinat Apr 17, 2026
2e3945b
doc: update .gitignore and remove generated documentation files
ElouenGinat Apr 17, 2026
d733bb0
Enhance documentation for khisto-python library
ElouenGinat Apr 17, 2026
646dd6e
doc: Update README with core histogram API feature and improve docume…
ElouenGinat Apr 17, 2026
42605bd
doc: rename ci files. make the doc ci trigger on tag or manual push.
ElouenGinat Apr 23, 2026
24d6c19
doc: install pandoc and update pypandoc dependency in documentation r…
ElouenGinat Apr 23, 2026
69c0e94
Refactor histogram file processing to ensure temporary files are prop…
ElouenGinat Apr 23, 2026
d3222c5
doc: update documentation links and improve clarity on API usage
ElouenGinat Apr 24, 2026
8b63a4c
doc: remove obsolete classifier for BSD License in pyproject.toml
ElouenGinat Apr 24, 2026
16e0ed6
doc: enhance README and index with additional badges and improved con…
ElouenGinat Apr 24, 2026
d5f160f
fix: solve minor issues in the histogram selection. refactoring done
ElouenGinat Jun 17, 2026
1a94ab6
fix: add version in static in the pyproject.toml
ElouenGinat Jun 17, 2026
495afe7
fix: change khiops version
ElouenGinat Jun 17, 2026
1f68d41
Merge branch 'doc' of https://github.com/KhiopsML/khisto-python into doc
ElouenGinat Jun 18, 2026
62b962d
Merge remote-tracking branch 'origin/main' into doc
ElouenGinat Jun 18, 2026
517da4f
fix: change khiops output classes attr to snake case
ElouenGinat Jun 18, 2026
23ed54e
fix: move khiops outputs to snake case
ElouenGinat Jun 18, 2026
8047d2a
fix: revert ci doc push condition
ElouenGinat Jun 18, 2026
5478d84
doc: add detail in the not supported weight param
ElouenGinat Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
6 changes: 4 additions & 2 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,12 @@ jobs:
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Install pandoc
run: sudo apt-get install -y pandoc
- name: Install doc build requirements
run: |
uv venv .build-env
uv pip install --python .build-env -r docs/requirements.txt
uv sync
- name: Build Sphinx Documentation
run: |
. .build-env/bin/activate
Expand All @@ -58,7 +60,7 @@ jobs:
with:
name: khisto-python-docs
path: ./docs/_build/html/
# Publish to GH pages on Git tag and manually
# Publish to GH pages on Git tag push
publish:
if: github.ref_type == 'tag' && github.event_name == 'workflow_dispatch' && inputs.deploy-gh-pages == true
needs: build
Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ instance/

# Sphinx documentation
docs/_build/
docs/**/generated/

# PyBuilder
.pybuilder/
Expand Down
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Khisto

[![CI](https://github.com/khiops/khisto-python/actions/workflows/ci.yaml/badge.svg)](https://github.com/khiops/khisto-python/actions/workflows/ci.yaml)
[![Docs](https://github.com/khiops/khisto-python/actions/workflows/docs.yaml/badge.svg)](https://khiops.github.io/khisto-python/)
[![PyPI](https://img.shields.io/pypi/v/khisto)](https://pypi.org/project/khisto/)
[![Python](https://img.shields.io/pypi/pyversions/khisto)](https://pypi.org/project/khisto/)
[![License](https://img.shields.io/pypi/l/khisto)](LICENSE)

**Optimal Binning Histograms for Python**

Khisto is a Python library for creating histograms using the **Khiops optimal binning algorithm**. Unlike standard histograms that use fixed-width bins or simple heuristics, Khisto automatically determines the optimal number of bins and their variable widths to best represent the underlying data distribution.
Expand All @@ -10,6 +16,7 @@ Khisto is a Python library for creating histograms using the **Khiops optimal bi
- **Variable-Width Bins**: Captures dense regions with fine bins and sparse regions with wider bins.
- **NumPy Compatible**: Drop-in replacement for `numpy.histogram`.
- **Matplotlib Integration**: `khisto.matplotlib.hist` works like `plt.hist`.
- **Core Histogram API**: Inspect every available granularity with `khisto.core.compute_histograms` and `HistogramResult`.
- **Minimal Dependencies**: Only requires NumPy (matplotlib optional for plotting).

| Standard Gaussian | Heavy-tailed Pareto |
Expand Down Expand Up @@ -135,7 +142,13 @@ uv run pytest

## Documentation

See the [API](docs/API.md) and [API Comparison](docs/API_COMPARISON.md) for detailed information on available functions, parameters, and how Khisto compares to standard histogram implementations.
Full documentation is hosted at **[khiops.github.io/khisto-python](https://khiops.github.io/khisto-python/)**.

- [API Reference](https://khiops.github.io/khisto-python/array/histogram/index.html) — NumPy-like histogram API
- [Matplotlib Integration](https://khiops.github.io/khisto-python/matplotlib/index.html) — `hist` plotting function
- [Core API](https://khiops.github.io/khisto-python/core/index.html) — full access to histogram granularity levels
- [API Comparison](https://khiops.github.io/khisto-python/api_comparison.html) — side-by-side with NumPy and Matplotlib
- [Demo Notebook](https://khiops.github.io/khisto-python/demo.html) — interactive walkthrough

## License

Expand Down
313 changes: 0 additions & 313 deletions docs/API.md

This file was deleted.

Loading
Loading