Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
20 changes: 14 additions & 6 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,30 +28,38 @@ jobs:
- ubuntu-26.04
- windows-2025
python:
- "3.10"
- "3.14"
- "3.11"
- "3.15"
coverage:
- "nocov"
# Test oldest and newest on all OS's, but others only on one
# to save CI load.
include:
- os: ubuntu-26.04
python: "3.11"
python: "3.12"
coverage: "nocov"
resolution: "lowest-direct"
- os: ubuntu-26.04
python: "3.12"
python: "3.13"
coverage: "nocov"
resolution: "lowest-direct"
- os: ubuntu-26.04
python: "3.13"
python: "3.14"
coverage: "nocov"
resolution: "lowest-direct"
- os: ubuntu-26.04
python: "3.14t"
coverage: "nocov"
resolution: "lowest-direct"
# Enable coverage on just one job
- os: ubuntu-26.04
python: "3.14"
python: "3.15"
coverage: "cov"
resolution: "lowest-direct"
- os: ubuntu-26.04
python: "3.15t"
coverage: "nocov"
resolution: "lowest-direct"
env:
# Shared env variables for all the tests
UV_RESOLUTION: "${{ matrix.resolution }}"
Expand Down
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ $ git commit -s -m "your commit message"

### Prerequisites

- Python 3.10 or later

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since uv will provision it actually I don't think this is a prereq

- [uv](https://docs.astral.sh/uv/) for dependency management

### Installation
Expand Down
1 change: 0 additions & 1 deletion DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

### Prerequisites

- Python 3.10 or later
- [uv](https://docs.astral.sh/uv/) for dependency management

### Installation
Expand Down
5 changes: 3 additions & 2 deletions connectrpc-grpcreflect/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "connectrpc-grpcreflect"
version = "0.1.0"
description = "gRPC reflection for connectrpc"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe a follow up: the top-level calls it "Connect RPC"; these are all "connectrpc" in the description. not sure if we want them to match or if deliberate to match the top-level module name.

readme = "README.md"
requires-python = ">= 3.10"
requires-python = ">= 3.11"
license = "Apache-2.0"
license-files = ["LICENSE"]
maintainers = [
Expand All @@ -24,11 +24,12 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Programming Language :: Python :: Free Threading",
"Topic :: System :: Networking",
]
dependencies = [
Expand Down
5 changes: 3 additions & 2 deletions connectrpc-otel/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "connectrpc-otel"
version = "0.2.0"
description = "OpenTelemetry instrumentation for connectrpc"
readme = "README.md"
requires-python = ">= 3.10"
requires-python = ">= 3.11"
license = "Apache-2.0"
license-files = ["LICENSE"]
maintainers = [
Expand All @@ -28,11 +28,12 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Programming Language :: Python :: Free Threading",
"Topic :: System :: Networking",
]
dependencies = [
Expand Down
6 changes: 3 additions & 3 deletions protoc-gen-connectrpc/protoc_gen_connectrpc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import importlib.metadata
import re
from dataclasses import dataclass, field
from enum import Enum
from enum import StrEnum
from typing import TYPE_CHECKING

from protobuf.plugin import (
Expand Down Expand Up @@ -87,7 +87,7 @@
)


class _ProtobufOption(str, Enum):
class _ProtobufOption(StrEnum):
"""Whether to generate code for google.protobuf or protobuf-py."""

GOOGLE = "google"
Expand All @@ -97,7 +97,7 @@ class _ProtobufOption(str, Enum):
"""Generates code for protobuf-py."""


class _IOOption(str, Enum):
class _IOOption(StrEnum):
"""Whether to generate synchronous or asynchronous code."""

SYNC = "sync"
Expand Down
5 changes: 3 additions & 2 deletions protoc-gen-connectrpc/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "protoc-gen-connectrpc"
version = "0.12.1"
description = "Code generator for connectrpc"
readme = "README.md"
requires-python = ">= 3.10"
requires-python = ">= 3.11"
license = "Apache-2.0"
license-files = ["LICENSE"]
maintainers = [
Expand Down Expand Up @@ -34,11 +34,12 @@ classifiers = [
"Programming Language :: Go",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Programming Language :: Python :: Free Threading",
"Topic :: Software Development :: Code Generators",
"Topic :: Software Development :: Compilers",
"Topic :: System :: Networking",
Expand Down
11 changes: 6 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "connectrpc"
version = "0.12.1"
description = "Server and client runtime library for Connect RPC"
readme = "README.md"
requires-python = ">= 3.10"
requires-python = ">= 3.11"
license = "Apache-2.0"
license-files = ["LICENSE"]
maintainers = [
Expand All @@ -19,18 +19,19 @@ classifiers = [
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Programming Language :: Python :: Free Threading",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
dependencies = [
"protobuf-py>=0.3.0",
"pyqwest>=0.5.1",
"pyqwest>=0.12.0",
"typing_extensions>=4.13.0",
]

Expand Down Expand Up @@ -60,7 +61,7 @@ dev = [
"pytest-asyncio==1.4.0",
"pytest-cov==7.1.0",
"pytest-timeout==2.5.0",
"pyvoy==1.2.0",
"pyvoy==1.3.0",
"ruff==0.16.10",
"tombi==1.7.2",
"ty==0.0.84",
Expand Down Expand Up @@ -110,7 +111,7 @@ skip-magic-trailing-comma = true
docstring-code-format = true

[tool.ruff.lint]
typing-extensions = false
typing-extensions = true

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could have done this before, doing it now

select = ["ALL"]
ignore = [
# Rules recommended to ignore when using ruff formatting
Expand Down
177 changes: 0 additions & 177 deletions src/connectrpc/_asyncio_timeout.py

This file was deleted.

Loading
Loading