From ff89bb4d273cd81245b6c1bd4080326474e7406b Mon Sep 17 00:00:00 2001 From: KimigaiiWuyi <444835641@qq.com> Date: Wed, 8 Apr 2026 03:31:30 +0800 Subject: [PATCH] feat: relax Python version requirement --- .github/workflows/ci.yml | 2 +- pyproject.toml | 7 +++++-- src/memv/models.py | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 105a917..40ad994 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13"] services: postgres: image: pgvector/pgvector:pg17 diff --git a/pyproject.toml b/pyproject.toml index 49f90a0..a8051c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,12 +7,15 @@ license = "MIT" authors = [ { name = "bartosz roguski", email = "bartosz.k.roguski@gmail.com" } ] -requires-python = ">=3.13" +requires-python = ">=3.10" keywords = ["ai", "agents", "memory", "llm", "rag", "temporal"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Typing :: Typed", @@ -58,7 +61,7 @@ dev = [ "asyncpg>=0.30.0", "cohere>=5.0.0", "fastembed>=0.6.0", - "ipython>=9.9.0", + "ipython>=8.0.0", "pgvector>=0.3.6", "voyageai>=0.3.0", "pre-commit>=4.5.1", diff --git a/src/memv/models.py b/src/memv/models.py index 1bbb87f..1e13a19 100644 --- a/src/memv/models.py +++ b/src/memv/models.py @@ -2,7 +2,7 @@ import asyncio from datetime import datetime, timezone -from enum import StrEnum +from enum import Enum from typing import TYPE_CHECKING, Literal from uuid import UUID, uuid4 @@ -12,7 +12,7 @@ from asyncio import Task -class MessageRole(StrEnum): +class MessageRole(str, Enum): USER = "user" ASSISTANT = "assistant" SYSTEM = "system" @@ -156,7 +156,7 @@ class ExtractedKnowledge(BaseModel): supersedes: int | None = None # Index into numbered existing knowledge list -class ProcessStatus(StrEnum): +class ProcessStatus(str, Enum): PENDING = "pending" RUNNING = "running" COMPLETED = "completed"