Skip to content

About

Sample datasets for Bokeh examples

Resources

Stars

2 stars

Watchers

2 watching

Forks

Repository files navigation

bokeh_sampledata

This package contains sample datasets for use with Bokeh examples.

Changes in 2026.1

The world_countries dataset has been removed, including its API and bundled country boundary data. Country borders encode choices about disputed territories that this sample-data package is not equipped to maintain. Applications that used bokeh_sampledata.world_countries must obtain boundary data from a provider whose boundary policy suits their needs.

Development and packaging

Use Pixi >=0.76.1 from the repository root. Commit pixi.toml and pixi.lock together when changing dependencies. Environments are locked for Linux x86-64, macOS Intel/Apple Silicon, and Windows x86-64.

pixi run --locked setup
pixi run --locked test
pixi run --locked check
pixi run --locked pre-commit run --all-files

The default environment uses Python 3.12 and includes geometry, checks, generation, and build tools. test-py310, test-py311, test-py312, test-py313, test-py314, and test-py315 provide explicit test environments. test-py310-minimum pins NumPy 1.26.4 and pandas 2.2.3 to verify the declared runtime floors on Python 3.10. For example:

pixi run --locked -e test-py310 test
pixi run --locked -e test-py310-minimum test
pixi run --locked -e build build-py

build-py creates a wheel and sdist in dist/ using the isolated build environment. It does not publish packages. Conda-forge distribution is handled downstream, with no conda packaging recipe maintained in this repository.

Boundary storage and regeneration instructions are in tools/README.md. User-facing API, compatibility, and provenance documentation lives in the public module/function docstrings, which are included in the main Bokeh documentation.

CI runs locked test environments on Linux, macOS, and Windows for Python 3.10–3.15, the minimum-dependency environment on Linux, plus repository checks and package builds on Linux. The package job runs the unit suite against an installed wheel in a separate environment. To reproduce that check after build-py, run pixi run --locked -e wheel-test test-wheel.

Python 3.10 remains the package minimum. NumPy is declared directly because the package uses its arrays. Runtime requirements are mirrored in the Pixi manifest, including Shapely as a standard runtime dependency.

pixi run --locked dependency-check checks that runtime requirements agree between the Python metadata and Pixi manifest. Ruff handles both linting and import sorting.

check also runs actionlint on GitHub Actions workflows. The same check runs from pre-commit when a workflow changes. Hooks check for merge conflict markers, case-conflicting filenames, broken symlinks, private keys, and large additions outside the dataset directory, alongside formatting. Install the hooks locally with pixi run --locked pre-commit install. Hooks use isolated pre-commit environments and also run on pre-commit.ci without Pixi. Hook revisions are pinned to commit hashes and local hook tools use exact versions. Update remote hooks with pre-commit autoupdate --freeze.

Type checking uses both Mypy (strict mode) and Pyright (standard mode), targeting Python 3.10 across src, tests, and tools. Run both with pixi run --locked typecheck, or individually with typecheck-mypy and typecheck-pyright. Both also run through check and the CI quality job, using the locked Pixi environment rather than pre-commit environments.

Releases

Pushing a version tag runs .github/workflows/release.yml. The workflow checks out the tagged commit, builds the sdist and a wheel from that sdist, checks that their versions match the tag, and tests the installed wheel. A separate job publishes those same distributions to PyPI using trusted publishing through the pypi GitHub environment. No PyPI API token is needed. Tags follow the existing year-based version format, for example 2026.0. Prerelease tags such as 2026.0a1, 2026.0b1, and 2026.0rc1 use the same workflow and publish prerelease versions to PyPI. Development and local versions are rejected. A GitHub Release is not required.

After the intended commit has passed CI, create and push its tag:

git tag 2026.0
git push origin 2026.0

The environment approval is the final step before uploading the tested artifacts.

License maintenance

The software license is in LICENSE.txt. Dataset notices and provenance are collected in licenses/. Update the file inventory when adding or replacing data, including original source evidence, attribution, applicable terms, and changes made to the source. Keep legal texts verbatim. Existing license declarations are accepted unless contrary evidence is found. Record explicit terms for new datasets before including them.

About

Sample datasets for Bokeh examples

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages