Skip to content

Commit b440f7c

Browse files
committed
chore!: bump minimum Python version to 3.11
BREAKING CHANGE: Drop support for Python 3.9 and 3.10. This change: - Updates requires-python from >=3.9 to >=3.11 - Removes Python 3.9 and 3.10 from CI matrix and classifiers - Removes eval-type-backport dependency (only needed for Python <3.10) - Removes python_version conditions from mcp and crewai dependencies - Updates ruff target-version from py39 to py311 - Updates README requirements section Python 3.11 is now the minimum supported version, allowing the use of modern typing features and simplifying dependency management.
1 parent d583d37 commit b440f7c

File tree

3 files changed

+8
-16
lines changed

3 files changed

+8
-16
lines changed

.github/workflows/ci.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,9 @@ jobs:
3434
runs-on: ubuntu-latest
3535
strategy:
3636
matrix:
37-
python-version: ["3.9", "3.10", "3.13"]
37+
python-version: ["3.11", "3.13"]
3838
include:
39-
- python-version: "3.9"
40-
sync-extras: "--all-extras --no-extra mcp"
41-
- python-version: "3.10"
39+
- python-version: "3.11"
4240
sync-extras: "--all-extras"
4341
- python-version: "3.13"
4442
sync-extras: "--all-extras"

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ StackOne AI provides a unified interface for accessing various SaaS tools throug
2525

2626
## Requirements
2727

28-
- Python 3.10+ (MCP extra required for `fetch_tools()`)
28+
- Python 3.11+
2929

3030
## Installation
3131

@@ -265,12 +265,10 @@ _ = app.invoke({"messages": [("user", "Get employee with id emp123") ]})
265265
</details>
266266

267267
<details>
268-
<summary>CrewAI Integration (Python 3.10+)</summary>
268+
<summary>CrewAI Integration</summary>
269269

270270
CrewAI uses LangChain tools natively, making integration seamless:
271271

272-
> **Note**: CrewAI requires Python 3.10+. Install with `pip install 'stackone-ai[mcp,examples]'`
273-
274272
```python
275273
from crewai import Agent, Crew, Task
276274
from stackone_ai import StackOneToolSet

pyproject.toml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "stackone-ai"
33
version = "0.3.4"
44
description = "agents performing actions on your SaaS"
55
readme = "README.md"
6-
requires-python = ">=3.9"
6+
requires-python = ">=3.11"
77
authors = [
88
{ name = "StackOne", email = "[email protected]" }
99
]
@@ -12,8 +12,6 @@ classifiers = [
1212
"Intended Audience :: Developers",
1313
"License :: OSI Approved :: MIT License",
1414
"Programming Language :: Python :: 3",
15-
"Programming Language :: Python :: 3.9",
16-
"Programming Language :: Python :: 3.10",
1715
"Programming Language :: Python :: 3.11",
1816
"Programming Language :: Python :: 3.12",
1917
"Programming Language :: Python :: 3.13",
@@ -26,7 +24,6 @@ dependencies = [
2624
"bm25s>=0.2.2",
2725
"numpy>=1.24.0",
2826
"typing-extensions>=4.0.0",
29-
"eval-type-backport; python_version<'3.10'", # TODO: Remove when Python 3.9 support is dropped
3027
]
3128

3229
[build-system]
@@ -43,12 +40,11 @@ packages = ["stackone_ai"]
4340
"py.typed" = "py.typed"
4441

4542
[project.optional-dependencies]
46-
# TODO: Remove python_version conditions when Python 3.9 support is dropped
4743
mcp = [
48-
"mcp>=1.3.0; python_version>='3.10'",
44+
"mcp>=1.3.0",
4945
]
5046
examples = [
51-
"crewai>=0.102.0; python_version>='3.10'",
47+
"crewai>=0.102.0",
5248
"langchain-openai>=0.3.6",
5349
"langgraph>=0.2.0",
5450
"openai>=1.63.2",
@@ -82,7 +78,7 @@ markers = [
8278

8379
[tool.ruff]
8480
line-length = 110
85-
target-version = "py39"
81+
target-version = "py311"
8682

8783
[tool.ruff.lint]
8884
select = [

0 commit comments

Comments
 (0)