Skip to main content
Files added late

11 files were added to this release more than 14 days after its initial publication. Inspect the release files before installing.

DOI Build Status Build status Documentation Status PyPI version Downloads

KDEpy

About

This Python 3.5+ package implements various kernel density estimators (KDE). Three algorithms are implemented through the same API: NaiveKDE, TreeKDE and FFTKDE. The class FFTKDE outperforms other popular implementations, see the comparison page.

Plot

The code generating the above graph is found in examples.py.

Installation

KDEpy is available through PyPI, and may be installed using pip:

pip install KDEpy

If you have trouble on Ubuntu, try running sudo apt install libpython3.X-dev, where 3.X is your Python version.

Example code and documentation

Below is an example using NumPy as np and scipy.stats.norm to plot a density estimate. From the code below, it should be clear how to set the kernel, bandwidth (variance of the kernel) and weights. See the documentation for more examples.

from KDEpy import FFTKDE
data = norm(loc=0, scale=1).rvs(2**3)
estimator = FFTKDE(kernel='gaussian', bw='silverman')
x, y = estimator.fit(data, weights=None).evaluate()
plt.plot(x, y, label='KDE estimate')

Plot

The package consists of three algorithms. Here's a brief explanation:

  • NaiveKDE - A naive computation. Supports d-dimensional data, variable bandwidth, weighted data and many kernel functions. Very slow on large data sets.
  • TreeKDE - A tree-based computation. Supports the same features as the naive algorithm, but is faster at the expense of small inaccuracy when using a kernel without finite support. Good for evaluation on non-uniform, arbitrary grids.
  • FFTKDE - A very fast convolution-based computation. Supports weighted d-dimensional data and many kernels, but not variable bandwidth. Must be evaluated on an equidistant grid, the finer the grid the higher the accuracy. Data points may not be outside of the grid.

Issues and contributing

Issues

If you are having trouble using the package, please let me know by creating an Issue on GitHub and I'll get back to you.

Contributing

Whatever your mathematical and Python background is, you are very welcome to contribute to KDEpy. To contribute, fork the project, create a branch and submit and Pull Request. Please follow these guidelines:

  • Import as few external dependencies as possible.
  • Use test driven development, have tests and docs for every method.
  • Cite literature and implement recent methods.
  • Unless it's a bottleneck computation, readability trumps speed.
  • Employ object orientation, but resist the temptation to implement many methods -- stick to the basics.
  • Follow PEP8.

Release files for KDEpy 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Files added late

11 files were uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for KDEpy 1.0.2
File Size Uploaded
KDEpy-1.0.2.tar.gz 136.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for KDEpy 1.0.2
File
KDEpy-1.0.2-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
KDEpy-1.0.2-cp38-cp38-manylinux1_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.5+ x86-64 Details
KDEpy-1.0.2-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
KDEpy-1.0.2-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
KDEpy-1.0.2-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
KDEpy-1.0.2-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
KDEpy-1.0.2-cp37-cp37m-macosx_10_6_intel.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
KDEpy-1.0.2-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
KDEpy-1.0.2-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
KDEpy-1.0.2-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
KDEpy-1.0.2-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
KDEpy-1.0.2-cp36-cp36m-macosx_10_6_intel.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386) Details
KDEpy-1.0.2-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
KDEpy-1.0.2-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
KDEpy-1.0.2-cp35-cp35m-manylinux2010_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64 Details
KDEpy-1.0.2-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
KDEpy-1.0.2-cp35-cp35m-macosx_10_6_intel.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386) Details

Total release size: 4.5 MB

Release files / KDEpy-1.0.2.tar.gz

Download URL KDEpy-1.0.2.tar.gz
Size 136.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6ddeae3f5e20d195b4c60f3416dd8fec08838e16a6f3c8dc857a1fc28f0e58a9
BLAKE2b-256 checksum
How to use checksums
c9ff0229a6cb3df501d2c1908b6a1c036389e695d4f888c502191471e3f2003e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.3

Release files / KDEpy-1.0.2-cp38-cp38-manylinux2010_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp38-cp38-manylinux2010_x86_64.whl
Size 419.9 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
94daf5064678a923c9332d1bb92333ebbdf52b121a58540bcbff5aef8c0448d0
BLAKE2b-256 checksum
How to use checksums
222048f2321586cb10b0ac498913544acf67f5a760e102870ba99bab6a548ff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

Release files / KDEpy-1.0.2-cp38-cp38-manylinux1_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp38-cp38-manylinux1_x86_64.whl
Size 419.9 kB
Tags CPython 3.8 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
eb18675e6cd415cde398e50d08248274a8832c69323c8c0556fc6db7a618df7a
BLAKE2b-256 checksum
How to use checksums
64e0b28952bea6356da0e14fd69acb72b64a0b8f651997c5665eaecf5aab935a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.1

Release files / KDEpy-1.0.2-cp37-cp37m-win_amd64.whl

Download URL KDEpy-1.0.2-cp37-cp37m-win_amd64.whl
Size 110.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
dad68717136964ef5d07919be3e7a1bf4cd2a0d1c943811ddafa0815a4114403
BLAKE2b-256 checksum
How to use checksums
6c4c8d671ac59491c4330a465a7ceac0c19060526de996e4f70652637310d431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp37-cp37m-win32.whl

Download URL KDEpy-1.0.2-cp37-cp37m-win32.whl
Size 97.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
c69a33897fcb62655c5b8ca509857ff86fdbf5fcd92006691a31ea8b21d6b821
BLAKE2b-256 checksum
How to use checksums
3d891dcdb16b67a531f7ae35c61c342dccec93dfc6d4eb01290a5037f4bf326e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp37-cp37m-manylinux2010_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp37-cp37m-manylinux2010_x86_64.whl
Size 383.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
39ec7ee0b792e51e7a4bf203be744ccd0b0c665b838a2233e52034d7861a9905
BLAKE2b-256 checksum
How to use checksums
65eee375b22921835a4d38c18a653e6da40b032dfd7e7a330bd657e77dd206a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp37-cp37m-manylinux1_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp37-cp37m-manylinux1_x86_64.whl
Size 383.6 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
edaabd9854608e2f64e39606aa384bda2ceb49b7bc5fe5d44a8d4b61e19287ba
BLAKE2b-256 checksum
How to use checksums
5dd70370313a016f6f2e20a75e9456545a46a518336acbbe700935e48da82032
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp37-cp37m-macosx_10_6_intel.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp37-cp37m-macosx_10_6_intel.whl
Size 193.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
858e09a9ea1cdff42b944d07fbfdc3d58bea5b64f1fcfc79d32b742e7627094c
BLAKE2b-256 checksum
How to use checksums
59e0e6d01f0a16fc1f7868a6f48a28683daa1d577cd4f3136d680e6de775182a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0

Release files / KDEpy-1.0.2-cp36-cp36m-win_amd64.whl

Download URL KDEpy-1.0.2-cp36-cp36m-win_amd64.whl
Size 110.1 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
45586faab8173a9298a7c0a44c40e26ae64b20f4de589fdcf911a722e094ba80
BLAKE2b-256 checksum
How to use checksums
9f5f99e33f3161841bb848ea061187875096e997a79d0d020f02077b29233565
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp36-cp36m-win32.whl

Download URL KDEpy-1.0.2-cp36-cp36m-win32.whl
Size 97.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
5efc56342777a20dc20e6d48292f0cb6cbcf42c7cdfff59769098b0bb9f89746
BLAKE2b-256 checksum
How to use checksums
737f03c7045cc7ef398b6c635aec22602a92d0042ca50d1c2ce8b2607b849465
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp36-cp36m-manylinux2010_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp36-cp36m-manylinux2010_x86_64.whl
Size 384.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
21a0540f9b7a19491afaf8c4795068a358603c748e1fb584b0c8c60d1ca0abc5
BLAKE2b-256 checksum
How to use checksums
15935200d0dd5ef1bc4eb4b5699a67a73cfad4a0ee1fdc3ba2f0038a3ce9afe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp36-cp36m-manylinux1_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp36-cp36m-manylinux1_x86_64.whl
Size 384.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
4204b6346a7e898b1b51a0f5c64fc34fb4ad795d68550f0d5e0590798276e09c
BLAKE2b-256 checksum
How to use checksums
6db58d5dd787c766532c99047a452fbe362d4917ea49d866615c15604d559c91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp36-cp36m-macosx_10_6_intel.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp36-cp36m-macosx_10_6_intel.whl
Size 192.9 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
e52ba340882419e59339ffd236bc92ff8acb86bfc6cd244296ee52f6335cfb9a
BLAKE2b-256 checksum
How to use checksums
40bc9c99d99fa8ca3014343b168727408dcc31c86491b170f6eb0658507ea100
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0

Release files / KDEpy-1.0.2-cp35-cp35m-win_amd64.whl

Download URL KDEpy-1.0.2-cp35-cp35m-win_amd64.whl
Size 109.8 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
b1d328ccc5ac2afe09fb96a280e0add86937e69caafc55931f3afb98243d681a
BLAKE2b-256 checksum
How to use checksums
222155760767b3a6c99c6fb410dec3de9b1c7c2dc8ad76c1c34a4480f3070918
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp35-cp35m-win32.whl

Download URL KDEpy-1.0.2-cp35-cp35m-win32.whl
Size 96.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
430a91907849b1339c3e3771671531b13650f1d2a6280cc860a655e74d87da8f
BLAKE2b-256 checksum
How to use checksums
1d4779a4f0fde3e798e5dd5dc4bd62930e6571b8c26c4ef6ae847569519fdf54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release files / KDEpy-1.0.2-cp35-cp35m-manylinux2010_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp35-cp35m-manylinux2010_x86_64.whl
Size 379.0 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e3a8822a2b88b3e8e41a92ba1a03b1d3e7ead36fa1b46ef8362a1c514aa84028
BLAKE2b-256 checksum
How to use checksums
4513de2ea6eda930e2faf306d288e60eabc8e7babd94030ed72c12dc69f51896
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp35-cp35m-manylinux1_x86_64.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp35-cp35m-manylinux1_x86_64.whl
Size 379.0 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
0f06fb14d0b005b2d1e5fa9dc74394cc55ed09a506cfb31adb48011867fc8174
BLAKE2b-256 checksum
How to use checksums
5a3a2c782d79f94359d20d98afc1c28f251905727ccc15146ac7d07f23d4fce7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.7

Release files / KDEpy-1.0.2-cp35-cp35m-macosx_10_6_intel.whl

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL KDEpy-1.0.2-cp35-cp35m-macosx_10_6_intel.whl
Size 190.7 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
708dc40b9334ff7a90e58db146fda4d5ef5d6f60b69d4c88fbfa246f540f250d
BLAKE2b-256 checksum
How to use checksums
627bb9e1b6cfc9649550644da13f0a4bce1f6fd2e32817d6f7df6b0bd5b040c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0

Release history Release notifications | RSS feed

1.1.9

26 release files

1.1.7

13 release files

1.1.6

13 release files

1.1.5

29 release files

1.1.4

29 release files

1.1.3

29 release files

1.1.1

35 release files

1.1.0

66 release files

1.0.9

15 release files

1.0.8

15 release files

1.0.7

15 release files

1.0.6

15 release files

1.0.5

21 release files

1.0.4

9 release files

1.0.3

15 release files

This release

1.0.2 This release

18 release files

0.6.11

7 release files

0.6.10

1 release file

0.6.9

10 release files

0.6

13 release files

0.5.6

11 release files

0.5.5

2 release files

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page