Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
python-version: ['3.11', '3.12', '3.13', '3.14', '3.15']

steps:
- name: Checkout repository
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).


## v9.0.0 - 2026-10-12

* Drop support for Python 3.9 and 3.10 and add support for 3.14 and 3.15


## v8.2.1 - 2026-10-12

* Added `handle_errors_async()` to Buzz
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ qa/format: ## Run code formatter
@uv run ruff format ${PACKAGE_TARGET} tests src/buzz_demo

qa/mutate: ## Run mutation testing (slow, not part of qa/full)
@uv run mutmut run
@uv run --group mutation mutmut run


## ==== Documentation ==================================================================================================
Expand Down
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
[![Latest Version](https://img.shields.io/pypi/v/py-buzz?label=pypi-version&logo=python&style=plastic)](https://pypi.org/project/py-buzz/)
[![Python Versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fdusktreader%2Fpy-buzz%2Fmain%2Fpyproject.toml&style=plastic&logo=python&label=python-versions)](https://www.python.org/)
[![Build Status](https://github.com/dusktreader/py-buzz/actions/workflows/main.yml/badge.svg)](https://github.com/dusktreader/py-buzz/actions/workflows/main.yml)
[![Documentation Status](https://github.com/dusktreader/py-buzz/actions/workflows/docs.yml/badge.svg)](https://dusktreader.github.io/py-buzz/)
[![Latest
Version](https://img.shields.io/pypi/v/py-buzz?label=pypi-version&logo=python&style=plastic)](https://pypi.org/project/py-buzz/)
[![Python
Versions](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fdusktreader%2Fpy-buzz%2Fmain%2Fpyproject.toml&style=plastic&logo=python&label=python-versions)](https://www.python.org/)
[![Build
Status](https://github.com/dusktreader/py-buzz/actions/workflows/main.yml/badge.svg)](https://github.com/dusktreader/py-buzz/actions/workflows/main.yml)
[![Documentation
Status](https://github.com/dusktreader/py-buzz/actions/workflows/docs.yml/badge.svg)](https://dusktreader.github.io/py-buzz/)

![py-buzz-logo](https://github.com/dusktreader/py-buzz/blob/main/docs/source/images/buzz-logo-text.png)

Expand All @@ -23,12 +27,14 @@ include:
py-buzz also provides an exception class, Buzz, that can be used as a base class
for custom exceptions within a project.


## Super-quick Start

* Only requires Python 3.10 or later
* Requires Python 3.11 or later
* Installed with pip (`$ pip install py-buzz`)
* Each feature demonstrated in an executable demo "extra"


## Documentation

The complete documentation can be found at the [py-buzz documentation page](https://dusktreader.github.io/py-buzz/)
8 changes: 4 additions & 4 deletions docs/source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ exception type.

### Requirements

* Python 3.9 or greater
* Requires Python 3.11 or later


### Installation

This will install the latest release of py-buzz from pypi via pip:

```bash
```shell
pip install py-buzz
```

Expand All @@ -82,13 +82,13 @@ For more examples of usage, see the [Features](features.md) page.

`py-buzz` comes with an optional demo extra that can show you how to use the features. To install and run, try:

```bash
```shell
pip install py-buzz[demo]
py-buzz-demo
```

Alternatively, you can run them in one command using `uv`:

```bash
```shell
uvx --from=py-buzz[demo] py-buzz-demo
```
10 changes: 6 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[project]
name = "py-buzz"
version = "8.2.1"
version = "9.0.0"
description = "\"That's not flying, it's falling with style\": Exceptions with extras"
authors = [
{name = "Tucker Beck", email = "tucker.beck@gmail.com"}
]
readme = "README.md"
license-files = ["LICENSE.md"]
requires-python = ">=3.10"
requires-python = ">=3.11"
dependencies = [
"typing-extensions>=4.0.0" # When support for Python 3.10 and 3.11 is drooped, this can be removed
"typing-extensions>=4.0.0" # Provides TypeForm for Python 3.11–3.14
]

[project.urls]
Expand Down Expand Up @@ -41,7 +41,6 @@ dev = [
"ipython>=8.38.0",
"mkdocs-material>=9.7.1",
"mkdocstrings-python>=2.0.1",
"mutmut>=3.4.0",
"pre-commit>=4.5.1",
"pyclean>=3.5.0",
"pygments>=2.19.2",
Expand All @@ -53,6 +52,9 @@ dev = [
"typos>=1.42.2",
"yamllint>=1.38.0"
]
mutation = [
"mutmut>=3.4.0"
]

[tool.pytest.ini_options]
minversion = "7.4.0"
Expand Down
Loading
Loading