diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7696bb7..1dd09d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,21 +27,32 @@ jobs: - run: ruff check . && black --check . --target-version py312 && mypy pyfragment test: - name: Tests + name: Tests (Python ${{ matrix.python-version }}) runs-on: ubuntu-latest env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true COOKIES_JSON: ${{ secrets.COOKIES_JSON }} + strategy: + fail-fast: false + matrix: + python-version: ["3.12", "3.13", "3.14"] + steps: - uses: actions/checkout@v6.0.2 - - uses: actions/setup-python@v6.2.0 + - name: Set up conda (Miniconda) + uses: conda-incubator/setup-miniconda@v3 with: - python-version: "3.12" + auto-update-conda: true + python-version: ${{ matrix.python-version }} + activate-environment: pyfragment-test + auto-activate-base: false - - uses: astral-sh/setup-uv@v7.6.0 + - name: Install package and dev dependencies + shell: bash -el {0} + run: pip install ".[dev]" - - run: uv pip install --system ".[dev]" - - - run: pytest + - name: Run tests + shell: bash -el {0} + run: pytest diff --git a/pyfragment/utils/http.py b/pyfragment/utils/http.py index d21702e..cffc227 100644 --- a/pyfragment/utils/http.py +++ b/pyfragment/utils/http.py @@ -114,7 +114,7 @@ async def fragment_request( async def execute_transaction_request( session: httpx.AsyncClient, - headers: dict, + headers: dict[str, str], tx_data: dict[str, Any], fragment_hash: str, ) -> dict[str, Any]: diff --git a/pyfragment/utils/wallet.py b/pyfragment/utils/wallet.py index db4620c..6587786 100644 --- a/pyfragment/utils/wallet.py +++ b/pyfragment/utils/wallet.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: from pyfragment.client import FragmentClient -async def process_transaction(client: "FragmentClient", transaction_data: dict) -> str: +async def process_transaction(client: "FragmentClient", transaction_data: dict[str, Any]) -> str: """Sign and broadcast a Fragment transaction to the TON network. Validates the payload structure, checks the wallet balance, decodes the diff --git a/pyproject.toml b/pyproject.toml index 753fb5e..4655514 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ ] dependencies = [ "httpx==0.28.1", - "tonutils[pytoniq]==2.0.4", + "tonutils[pytoniq]==2.0.5", ] [project.optional-dependencies]