Skip to main content

Library used to query data from copy of Wait Wait Stats Database.

Project description

Overview

This project provides a Python library that provides an interface to retrieve data from a copy of the Wait Wait Stats Database.

If you are in need of a pre-built package to use to build applications, the library is available at PyPI.

Requirements

Starting with version 2.21.0, the minimum supported version of Python has been changed from Python 3.10 to 3.12. All versions prior to 3.12 will no longer be supported.

Testing for this library has been done using Python 3.12 and preliminary testing has been started for Python 3.13.

In addition to the Python version requirement, the library depends on a copy of the Wait Wait Stats Database running on a MySQL Server (or a distribution of MySQL Server like Percona) running version 8.0 or higher.

Starting with version 2.21.0, experimental support has been added for MariaDB versions 11.8 and 12.0. Test runs have been run successfully against a MariaDB Server 11.8 and 12.0 running on Debian 13. Versions prior to 11.8 have not and will not be tested.

If you are planning to use MariaDB instead of MySQL, it is recommended that version 11.8 is used over 12 due to the former being on a stable release train while the latter is on a rolling release train. Rolling releases can introduce regressions or breaking changes that are generally avoided with stable releases.

Running Tests

Included in this repository are tests that are written for use with pytest. To run the tests, simply run: pytest from the root of the repository.

A performance testing script is also included in the repository named, perf_test.py that tests the core class methods. This script can be used to create a performance baseline and also used to track changes in performance between code changes or configuration changes.

Documentation

This project uses reStructuredText located in docstrings and individual files for its documentation and makes use of Sphinx to build an HTML (and other formats supported by Sphinx) version of documents. To build the documentation for this project, use venv, virtualenv or a similar tool of your choice to create a virtual environment under docs/ and install the required packages in docs/requirements.txt, including Sphinx and the Flask theme.

The documentation style guide closely follows the one documented in the Python Developer’s Guide.

Once the required packages are installed, an HTML version of the documentation can be generated by running:

make html

An online version of the documentation is also available at docs.wwdt.me

Building

After tests have been successfully run, any and all documentation updates have been made, a release wheel can then be created for distribution. To create a wheel, run the following command with the virtualenv activated.

python -m build

Known Issues

For documentation on known issues with this project, check out the Known Issues documentation on docs.wwdt.me.

Versioning

This project does its best to follow Semantic Versioning 2.0.0 starting with version 2.0 of the library. There have been some semantic versioning errors made since the initial release of version 2.0.

Contributing

If you would like to contribute to this project, please refer to the Contributing Guidelines file in this repository.

AI Generated Code

Please note that this project does not accept pull requests or bugfixes that include code that has been partially or wholly generated using AI.

Code of Conduct

The Code of Conduct for this project is adapted from the Contributor Covenant, version 3.0, permanently available at: https://www.contributor-covenant.org/version/3/0/.

The adapted version with instructions on how to report possible violations are available in the Code of Conduct file in this repository.

License

This library is licensed under the terms of the Apache License 2.0.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wwdtm-2.23.0b1.tar.gz (68.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wwdtm-2.23.0b1-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file wwdtm-2.23.0b1.tar.gz.

File metadata

  • Download URL: wwdtm-2.23.0b1.tar.gz
  • Upload date:
  • Size: 68.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for wwdtm-2.23.0b1.tar.gz
Algorithm Hash digest
SHA256 e796013f4d1e305913d99a0b7e3e110c9e135f13191454379159a39a71adae99
MD5 92a4ad5c6b7668603bc9445fc0967e51
BLAKE2b-256 a55ab2f3ef60c63afa4012527fc9945aa704ad0a9dc96715e4db2ebfb951c637

See more details on using hashes here.

File details

Details for the file wwdtm-2.23.0b1-py3-none-any.whl.

File metadata

  • Download URL: wwdtm-2.23.0b1-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for wwdtm-2.23.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 01b438f3f32b0e91043650a1036c384127ade73782b08bc723be45ed1dc27f72
MD5 151ed4a8742f46e999c1fd2ca13d10bd
BLAKE2b-256 ad6923e2460981220bc47f5755a1d35191bed5b9f8fc1f4fd639228dd594305c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page