From ac9e26533caee20d2ec84a646d40395ebb5f1761 Mon Sep 17 00:00:00 2001 From: Kwan Yuet Stephen Ho <3810067+stephenhky@users.noreply.github.com> Date: Thu, 1 Oct 2026 22:40:04 -0400 Subject: [PATCH 1/2] started removing Python 3.10 support --- .circleci/config.yml | 6 ------ .github/workflows/tests.yaml | 2 +- pyproject.toml | 3 +-- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8fdb628..2f155a6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,11 +28,6 @@ shared: &shared jobs: - py310: - <<: *shared - docker: - - image: cimg/python:3.10 - py311: <<: *shared docker: @@ -57,7 +52,6 @@ workflows: version: 2 build: jobs: - - py310 - py311 - py312 - py313 diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 8ae9dca..606e6f0 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -13,7 +13,7 @@ jobs: continue-on-error: true strategy: matrix: - python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 1bd5e65..79d783b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "finsim" -version = "1.2.3a1" +version = "2.0.0a1" authors = [ {name = "Kwan Yuet Stephen Ho", email = "stephenhky@yahoo.com.hk"} ] @@ -17,7 +17,6 @@ classifiers = [ "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Version Control :: Git", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", From 7a07da1827cab119d37724619fc113c4c3ab38a4 Mon Sep 17 00:00:00 2001 From: Kwan Yuet Stephen Ho <3810067+stephenhky@users.noreply.github.com> Date: Thu, 1 Oct 2026 22:58:14 -0400 Subject: [PATCH 2/2] removed support for Python 3.10 --- pyproject.toml | 3 +-- src/finsim/portfolio/dynamic.py | 7 +------ src/finsim/portfolio/portfolio.py | 7 +------ 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 79d783b..2b653b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ description = "Financial simulation and inference" readme = {file = "README.md", content-type = "text/markdown"} license = {text = "LGPL"} keywords = ["simulation", "finance", "quantitative finance", "inference", "portfolio analysis"] -requires-python = ">=3.10" +requires-python = ">=3.11" classifiers = [ "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules", @@ -36,7 +36,6 @@ dependencies = [ "yfinance>=0.2.59", "openpyxl>=3.1.0", "numba", - "typing-extensions", "pydantic" ] diff --git a/src/finsim/portfolio/dynamic.py b/src/finsim/portfolio/dynamic.py index 94b52b5..62ef60c 100644 --- a/src/finsim/portfolio/dynamic.py +++ b/src/finsim/portfolio/dynamic.py @@ -4,15 +4,10 @@ from collections import defaultdict import logging import json -import sys -from typing import Any, Optional +from typing import Any, Optional, Self from os import PathLike from io import TextIOWrapper import warnings -if sys.version_info < (3, 11): - from typing_extensions import Self -else: - from typing import Self import numpy as np import pandas as pd diff --git a/src/finsim/portfolio/portfolio.py b/src/finsim/portfolio/portfolio.py index 10c8482..52bf6d4 100644 --- a/src/finsim/portfolio/portfolio.py +++ b/src/finsim/portfolio/portfolio.py @@ -1,15 +1,10 @@ import json import logging -import sys from collections import defaultdict -from typing import Any, Optional, Literal, Annotated +from typing import Any, Optional, Literal, Annotated, Self from os import PathLike from io import TextIOWrapper -if sys.version_info < (3, 11): - from typing_extensions import Self -else: - from typing import Self import numpy as np from numpy.typing import NDArray