fix: update Python version requirements to support 3.10 and adjust CI workflow

This commit is contained in:
bohd4nx
2026-04-14 01:34:27 +03:00
parent 028984155b
commit 6b6ca37f10
21 changed files with 43 additions and 4 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: ["3.10", "3.11", "3.12"] python-version: ["3.10", "3.11", "3.12"] # 3.13, 3.14 are not supported by some dependencies yet
steps: steps:
- uses: actions/checkout@v6.0.2 - uses: actions/checkout@v6.0.2
+2 -2
View File
@@ -9,7 +9,7 @@
[![PyPI version](https://img.shields.io/pypi/v/pyfragment?style=flat&color=blue)](https://pypi.org/project/pyfragment/) [![PyPI version](https://img.shields.io/pypi/v/pyfragment?style=flat&color=blue)](https://pypi.org/project/pyfragment/)
[![PyPI downloads](https://img.shields.io/pypi/dm/pyfragment?style=flat&color=brightgreen)](https://pypi.org/project/pyfragment/) [![PyPI downloads](https://img.shields.io/pypi/dm/pyfragment?style=flat&color=brightgreen)](https://pypi.org/project/pyfragment/)
[![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=flat&logo=python&logoColor=white)](https://python.org) [![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=flat&logo=python&logoColor=white)](https://python.org)
[![License](https://img.shields.io/github/license/bohd4nx/pyfragment?style=flat&color=lightgrey)](LICENSE) [![License](https://img.shields.io/github/license/bohd4nx/pyfragment?style=flat&color=lightgrey)](LICENSE)
[![Stars](https://img.shields.io/github/stars/bohd4nx/pyfragment?style=flat&color=yellow)](https://github.com/bohd4nx/pyfragment/stargazers) [![Stars](https://img.shields.io/github/stars/bohd4nx/pyfragment?style=flat&color=yellow)](https://github.com/bohd4nx/pyfragment/stargazers)
[![CI](https://img.shields.io/github/actions/workflow/status/bohd4nx/pyfragment/ci.yml?style=flat&label=tests&logo=github)](https://github.com/bohd4nx/pyfragment/actions) [![CI](https://img.shields.io/github/actions/workflow/status/bohd4nx/pyfragment/ci.yml?style=flat&label=tests&logo=github)](https://github.com/bohd4nx/pyfragment/actions)
@@ -34,7 +34,7 @@ To install the latest unreleased changes from the `dev` branch:
pip install git+https://github.com/bohd4nx/pyfragment.git@dev pip install git+https://github.com/bohd4nx/pyfragment.git@dev
``` ```
Requires Python 3.12+. Requires Python 3.10+.
--- ---
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import Any, cast from typing import Any, cast
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import html import html
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
import time import time
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from pyfragment.types import FragmentAPIError, FragmentError, GiftsResult, UnexpectedError from pyfragment.types import FragmentAPIError, FragmentError, GiftsResult, UnexpectedError
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from pyfragment.types import FragmentAPIError, FragmentError, NumbersResult, UnexpectedError from pyfragment.types import FragmentAPIError, FragmentError, NumbersResult, UnexpectedError
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
from typing import TYPE_CHECKING, Any from typing import TYPE_CHECKING, Any
from pyfragment.types import FragmentAPIError, FragmentError, UnexpectedError, UsernamesResult from pyfragment.types import FragmentAPIError, FragmentError, UnexpectedError, UsernamesResult
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import json import json
from typing import Any, Literal, get_args from typing import Any, Literal, get_args
+3
View File
@@ -1,3 +1,6 @@
from __future__ import annotations
class FragmentError(Exception): class FragmentError(Exception):
"""Base exception for all pyfragment library errors.""" """Base exception for all pyfragment library errors."""
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
from dataclasses import dataclass from dataclasses import dataclass
from typing import Any from typing import Any
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import base64 import base64
from ton_core import Cell from ton_core import Cell
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import re import re
from typing import Any from typing import Any
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import re import re
from typing import Any from typing import Any
+2
View File
@@ -1,3 +1,5 @@
from __future__ import annotations
import asyncio import asyncio
import base64 import base64
import ssl import ssl
+3 -1
View File
@@ -8,7 +8,7 @@ version = "2026.2.0"
description = "Async Python client for the Fragment API — a unified toolkit to manage Telegram assets: purchase Stars and Premium, top up TON and Ads balances, run giveaways, manage anonymous numbers, and explore the marketplace for usernames, numbers, and gifts." description = "Async Python client for the Fragment API — a unified toolkit to manage Telegram assets: purchase Stars and Premium, top up TON and Ads balances, run giveaways, manage anonymous numbers, and explore the marketplace for usernames, numbers, and gifts."
readme = "README.md" readme = "README.md"
license = { text = "MIT" } license = { text = "MIT" }
requires-python = ">=3.12" requires-python = ">=3.10"
authors = [{ name = "bohd4nx", url = "https://github.com/bohd4nx" }] authors = [{ name = "bohd4nx", url = "https://github.com/bohd4nx" }]
keywords = ["fragment", "telegram", "ton", "stars", "premium", "crypto", "blockchain"] keywords = ["fragment", "telegram", "ton", "stars", "premium", "crypto", "blockchain"]
classifiers = [ classifiers = [
@@ -18,6 +18,8 @@ classifiers = [
"Natural Language :: English", "Natural Language :: English",
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Framework :: AsyncIO", "Framework :: AsyncIO",
"Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Libraries :: Python Modules",