Coverage for src/usaspending/resources/transactions_resource.py: 100%
10 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-03 17:15 -0700
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-03 17:15 -0700
1"""Transactions resource implementation."""
3from __future__ import annotations
4from typing import TYPE_CHECKING
6from .base_resource import BaseResource
7from ..logging_config import USASpendingLogger
9if TYPE_CHECKING:
10 from ..queries.transactions_search import TransactionsSearch
12logger = USASpendingLogger.get_logger(__name__)
15class TransactionsResource(BaseResource):
16 """Resource for transaction-related operations.
18 Provides access to transaction search and retrieval endpoints.
19 """
21 def for_award(self, award_id: str) -> "TransactionsSearch":
22 """Create a transactions search query for a specific award.
24 Args:
25 award_id: Unique award identifier
27 Returns:
28 TransactionsSearch query builder for chaining filters
30 Example:
31 >>> transactions = client.transactions.for_award("CONT_AWD_123")
32 ... .limit(50)
33 >>> for txn in transactions:
34 ... print(f"{txn.action_date}: ${txn.federal_action_obligation:,.2f}")
35 """
36 logger.debug(f"Creating transactions search for award: {award_id}")
37 from ..queries.transactions_search import TransactionsSearch
39 return TransactionsSearch(self._client).for_award(award_id)