tango-python 0.0.1a1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. tango/__init__.py +83 -0
  2. tango/_base_client.py +2045 -0
  3. tango/_client.py +544 -0
  4. tango/_compat.py +219 -0
  5. tango/_constants.py +14 -0
  6. tango/_exceptions.py +108 -0
  7. tango/_files.py +123 -0
  8. tango/_models.py +788 -0
  9. tango/_qs.py +150 -0
  10. tango/_resource.py +43 -0
  11. tango/_response.py +824 -0
  12. tango/_streaming.py +333 -0
  13. tango/_types.py +219 -0
  14. tango/_utils/__init__.py +56 -0
  15. tango/_utils/_logs.py +25 -0
  16. tango/_utils/_proxy.py +62 -0
  17. tango/_utils/_reflection.py +42 -0
  18. tango/_utils/_streams.py +12 -0
  19. tango/_utils/_sync.py +71 -0
  20. tango/_utils/_transform.py +392 -0
  21. tango/_utils/_typing.py +120 -0
  22. tango/_utils/_utils.py +414 -0
  23. tango/_version.py +4 -0
  24. tango/lib/.keep +4 -0
  25. tango/py.typed +0 -0
  26. tango/resources/__init__.py +229 -0
  27. tango/resources/agencies.py +255 -0
  28. tango/resources/assistance_listings.py +214 -0
  29. tango/resources/bulk/__init__.py +33 -0
  30. tango/resources/bulk/bulk.py +102 -0
  31. tango/resources/bulk/entities.py +152 -0
  32. tango/resources/business_types.py +218 -0
  33. tango/resources/contracts.py +381 -0
  34. tango/resources/departments.py +210 -0
  35. tango/resources/entities.py +325 -0
  36. tango/resources/idvs/__init__.py +33 -0
  37. tango/resources/idvs/awards.py +287 -0
  38. tango/resources/idvs/idvs.py +413 -0
  39. tango/resources/naics.py +317 -0
  40. tango/resources/notices.py +391 -0
  41. tango/resources/offices.py +281 -0
  42. tango/resources/opportunities.py +420 -0
  43. tango/resources/pscs.py +210 -0
  44. tango/resources/schemas.py +398 -0
  45. tango/resources/subawards.py +313 -0
  46. tango/resources/versions.py +136 -0
  47. tango/types/__init__.py +43 -0
  48. tango/types/agency.py +17 -0
  49. tango/types/agency_list_params.py +14 -0
  50. tango/types/agency_list_response.py +10 -0
  51. tango/types/assistance_listing.py +12 -0
  52. tango/types/assistance_listing_list_response.py +10 -0
  53. tango/types/assistance_listing_retrieve_response.py +26 -0
  54. tango/types/bulk/__init__.py +3 -0
  55. tango/types/business_type.py +14 -0
  56. tango/types/business_type_list_response.py +10 -0
  57. tango/types/contract_list_params.py +78 -0
  58. tango/types/contract_list_response.py +55 -0
  59. tango/types/contract_retrieve_response.py +51 -0
  60. tango/types/department.py +16 -0
  61. tango/types/department_list_response.py +10 -0
  62. tango/types/entity_list_params.py +38 -0
  63. tango/types/entity_list_response.py +37 -0
  64. tango/types/entity_retrieve_response.py +116 -0
  65. tango/types/idv.py +102 -0
  66. tango/types/idv_list_params.py +78 -0
  67. tango/types/idv_list_response.py +27 -0
  68. tango/types/idvs/__init__.py +6 -0
  69. tango/types/idvs/award_list_params.py +55 -0
  70. tango/types/idvs/award_list_response.py +55 -0
  71. tango/types/naic_list_params.py +47 -0
  72. tango/types/naic_list_response.py +10 -0
  73. tango/types/naic_retrieve_response.py +13 -0
  74. tango/types/naics_code.py +13 -0
  75. tango/types/notice_list_params.py +81 -0
  76. tango/types/notice_list_response.py +60 -0
  77. tango/types/notice_retrieve_response.py +93 -0
  78. tango/types/office.py +15 -0
  79. tango/types/office_list_params.py +18 -0
  80. tango/types/office_list_response.py +18 -0
  81. tango/types/opportunity_list_params.py +97 -0
  82. tango/types/opportunity_list_response.py +101 -0
  83. tango/types/opportunity_retrieve_response.py +123 -0
  84. tango/types/product_service_code.py +21 -0
  85. tango/types/psc_list_response.py +10 -0
  86. tango/types/schema_retrieve_params.py +113 -0
  87. tango/types/schema_retrieve_response.py +8 -0
  88. tango/types/subaward.py +172 -0
  89. tango/types/subaward_list_params.py +33 -0
  90. tango/types/subaward_list_response.py +18 -0
  91. tango_python-0.0.1a1.dist-info/METADATA +359 -0
  92. tango_python-0.0.1a1.dist-info/RECORD +94 -0
  93. tango_python-0.0.1a1.dist-info/WHEEL +4 -0
  94. tango_python-0.0.1a1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,116 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import date
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["EntityRetrieveResponse"]
9
+
10
+
11
+ class EntityRetrieveResponse(BaseModel):
12
+ awards_summary: Dict[str, object]
13
+
14
+ legal_business_name: str
15
+
16
+ purpose_of_registration_code: str
17
+
18
+ purpose_of_registration_desc: str
19
+
20
+ registration_status: str
21
+
22
+ sam_registration_date: date
23
+
24
+ uei: str
25
+
26
+ business_types: Optional[object] = None
27
+
28
+ cage_code: Optional[str] = None
29
+
30
+ capabilities: Optional[str] = None
31
+
32
+ congressional_district: Optional[str] = None
33
+
34
+ country_of_incorporation_code: Optional[str] = None
35
+
36
+ country_of_incorporation_desc: Optional[str] = None
37
+
38
+ dba_name: Optional[str] = None
39
+
40
+ description: Optional[str] = None
41
+
42
+ dodaac: Optional[str] = None
43
+
44
+ email_address: Optional[str] = None
45
+
46
+ entity_division_name: Optional[str] = None
47
+
48
+ entity_division_number: Optional[str] = None
49
+
50
+ entity_start_date: Optional[str] = None
51
+
52
+ entity_structure_code: Optional[str] = None
53
+
54
+ entity_structure_desc: Optional[str] = None
55
+
56
+ entity_type_code: Optional[str] = None
57
+
58
+ entity_type_desc: Optional[str] = None
59
+
60
+ entity_url: Optional[str] = None
61
+
62
+ evs_source: Optional[str] = None
63
+
64
+ exclusion_status_flag: Optional[str] = None
65
+
66
+ exclusion_url: Optional[str] = None
67
+
68
+ fiscal_year_end_close_date: Optional[str] = None
69
+
70
+ highest_owner: Optional[object] = None
71
+
72
+ immediate_owner: Optional[object] = None
73
+
74
+ keywords: Optional[str] = None
75
+
76
+ last_update_date: Optional[date] = None
77
+
78
+ mailing_address: Optional[object] = None
79
+
80
+ naics_codes: Optional[object] = None
81
+
82
+ organization_structure_code: Optional[str] = None
83
+
84
+ organization_structure_desc: Optional[str] = None
85
+
86
+ physical_address: Optional[object] = None
87
+
88
+ primary_naics: Optional[str] = None
89
+
90
+ profit_structure_code: Optional[str] = None
91
+
92
+ profit_structure_desc: Optional[str] = None
93
+
94
+ psc_codes: Optional[object] = None
95
+
96
+ public_display_flag: Optional[str] = None
97
+
98
+ registered: Optional[str] = None
99
+
100
+ sam_activation_date: Optional[date] = None
101
+
102
+ sam_expiration_date: Optional[date] = None
103
+
104
+ sba_business_types: Optional[object] = None
105
+
106
+ state_of_incorporation_code: Optional[str] = None
107
+
108
+ state_of_incorporation_desc: Optional[str] = None
109
+
110
+ submission_date: Optional[date] = None
111
+
112
+ uei_creation_date: Optional[date] = None
113
+
114
+ uei_expiration_date: Optional[date] = None
115
+
116
+ uei_status: Optional[str] = None
tango/types/idv.py ADDED
@@ -0,0 +1,102 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List, Optional
6
+ from datetime import datetime
7
+
8
+ from .office import Office
9
+ from .._compat import PYDANTIC_V2
10
+ from .._models import BaseModel
11
+
12
+ __all__ = ["Idv", "ContractSet", "ContractSetRecipient", "Recipient"]
13
+
14
+
15
+ class ContractSetRecipient(BaseModel):
16
+ legal_business_name: str
17
+
18
+ uei: str
19
+
20
+ dba_name: Optional[str] = None
21
+
22
+
23
+ class ContractSet(BaseModel):
24
+ awarding_office: Office
25
+
26
+ contract_award_unique_key: str
27
+
28
+ funding_office: Office
29
+
30
+ recipient: ContractSetRecipient
31
+
32
+ set_aside: str
33
+
34
+ award_date: Optional[datetime] = None
35
+
36
+ award_piid: Optional[str] = None
37
+
38
+ current_total_value: Optional[float] = None
39
+
40
+ description: Optional[str] = None
41
+
42
+ naics_code: Optional[int] = None
43
+
44
+ obligated: Optional[float] = None
45
+
46
+ potential_total_value: Optional[float] = None
47
+
48
+ psc_code: Optional[str] = None
49
+
50
+
51
+ class Recipient(BaseModel):
52
+ legal_business_name: str
53
+
54
+ uei: str
55
+
56
+ dba_name: Optional[str] = None
57
+
58
+
59
+ class Idv(BaseModel):
60
+ awarding_office: Office
61
+
62
+ contract_award_unique_key: str
63
+
64
+ contract_set: List[ContractSet]
65
+
66
+ funding_office: Office
67
+
68
+ idv_set: List[Idv]
69
+
70
+ idv_type: Dict[str, str]
71
+
72
+ recipient: Recipient
73
+
74
+ set_aside: str
75
+
76
+ award_date: Optional[datetime] = None
77
+
78
+ award_piid: Optional[str] = None
79
+
80
+ current_total_value: Optional[float] = None
81
+
82
+ description: Optional[str] = None
83
+
84
+ naics_code: Optional[int] = None
85
+
86
+ obligated: Optional[float] = None
87
+
88
+ potential_total_value: Optional[float] = None
89
+
90
+ psc_code: Optional[str] = None
91
+
92
+
93
+ if PYDANTIC_V2:
94
+ Idv.model_rebuild()
95
+ ContractSet.model_rebuild()
96
+ ContractSetRecipient.model_rebuild()
97
+ Recipient.model_rebuild()
98
+ else:
99
+ Idv.update_forward_refs() # type: ignore
100
+ ContractSet.update_forward_refs() # type: ignore
101
+ ContractSetRecipient.update_forward_refs() # type: ignore
102
+ Recipient.update_forward_refs() # type: ignore
@@ -0,0 +1,78 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["IdvListParams"]
8
+
9
+
10
+ class IdvListParams(TypedDict, total=False):
11
+ award_date: str
12
+ """
13
+ <details><summary>Filter by award date</summary><ul><li><span>Accepted values: <var>2024-08-01</var>, <var>2024-08</var></span></li></ul></details>
14
+ """
15
+
16
+ award_date_gte: str
17
+ """
18
+ <details><summary>Filter by award date</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
19
+ """
20
+
21
+ award_date_lte: str
22
+ """
23
+ <details><summary>Filter by award date</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
24
+ """
25
+
26
+ awarding_agency: str
27
+ """
28
+ <details><summary>Filter by awarding agency</summary><ul><li>Accepts any agency or department code, acronym, or (partial) name</li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
29
+ """
30
+
31
+ fiscal_year: str
32
+ """
33
+ <details><summary>Filter by fiscal year</summary><ul><li><span>Accepted values: <var>2024</var></span></li></ul></details>
34
+ """
35
+
36
+ fiscal_year_gte: str
37
+ """
38
+ <details><summary>Filter by fiscal year</summary><ul><li><span>Accepted values: <var>2024</var></span></li></ul></details>
39
+ """
40
+
41
+ fiscal_year_lte: str
42
+ """
43
+ <details><summary>Filter by fiscal year</summary><ul><li><span>Accepted values: <var>2024</var></span></li></ul></details>
44
+ """
45
+
46
+ funding_agency: str
47
+ """
48
+ <details><summary>Filter by funding agency</summary><ul><li>Accepts any agency or department code, acronym, or (partial) name</li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
49
+ """
50
+
51
+ limit: int
52
+ """Number of results to return per page."""
53
+
54
+ naics: str
55
+ """
56
+ <details><summary>Filter by NAICS Code</summary><ul><li><span>Accepted values: <var>541511</var>, <var>541512</var>, <var>etc.</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
57
+ """
58
+
59
+ ordering: str
60
+ """
61
+ <details><summary>Order results by a field of your choice.</summary><ul><li><span>Accepted values: <var>award_date</var>, <var>obligated</var>, <var>potential_total_value</var>, <var>recipient_name</var></span></li><li>Prefix with <var>-</var> to reverse order (e.g. <var>-award_date</var>)</li></ul></details>
62
+ """
63
+
64
+ page: int
65
+ """A page number within the paginated result set."""
66
+
67
+ psc: str
68
+ """
69
+ <details><summary>Filter by PSC (Product Service Code)</summary><ul><li><span>Accepted values: <var>S222</var>, <var>T005</var>, <var>etc.</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
70
+ """
71
+
72
+ set_aside: str
73
+ """
74
+ <details><summary>Filter by set-aside type</summary><ul><li><span>Accepted values: <var>8A</var>, <var>8AN</var>, <var>BICiv</var>, <var>EDWOSB</var>, <var>EDWOSBSS</var>, <var>HUBZONE</var>, <var>HZC</var>, <var>HZS</var>, <var>IEE</var>, <var>ISBEE</var>, <var>LAS</var>, <var>NONE</var>, <var>SB</var>, <var>SBA</var>, <var>SBP</var>, <var>SDB</var>, <var>SDVOSB</var>, <var>SDVOSBC</var>, <var>SDVOSBS</var>, <var>VOSB</var>, <var>VSA</var>, <var>VSS</var>, <var>WOSB</var>, <var>WOSBSS</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
75
+ """
76
+
77
+ uei: str
78
+ """Filter by recipient UEI (Unique Entity Identifier)"""
@@ -0,0 +1,27 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Optional
6
+
7
+ from .idv import Idv
8
+ from .._compat import PYDANTIC_V2
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["IdvListResponse"]
12
+
13
+
14
+ class IdvListResponse(BaseModel):
15
+ count: int
16
+
17
+ results: List[Idv]
18
+
19
+ next: Optional[str] = None
20
+
21
+ previous: Optional[str] = None
22
+
23
+
24
+ if PYDANTIC_V2:
25
+ IdvListResponse.model_rebuild()
26
+ else:
27
+ IdvListResponse.update_forward_refs() # type: ignore
@@ -0,0 +1,6 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .award_list_params import AwardListParams as AwardListParams
6
+ from .award_list_response import AwardListResponse as AwardListResponse
@@ -0,0 +1,55 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import date
7
+ from typing_extensions import Required, Annotated, TypedDict
8
+
9
+ from ..._utils import PropertyInfo
10
+
11
+ __all__ = ["AwardListParams"]
12
+
13
+
14
+ class AwardListParams(TypedDict, total=False):
15
+ path_contract_award_unique_key: Required[Annotated[str, PropertyInfo(alias="contract_award_unique_key")]]
16
+
17
+ award_date: str
18
+ """Filter by the award date"""
19
+
20
+ award_date_gte: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
21
+
22
+ award_date_lte: Annotated[Union[str, date], PropertyInfo(format="iso8601")]
23
+
24
+ awarding_agency: str
25
+ """Filter by awarding agency or department"""
26
+
27
+ query_contract_award_unique_key: Annotated[str, PropertyInfo(alias="contract_award_unique_key")]
28
+ """The unique key for the contract award."""
29
+
30
+ fiscal_year: int
31
+
32
+ fiscal_year_gte: int
33
+
34
+ fiscal_year_lte: int
35
+
36
+ funding_agency: str
37
+ """Filter by funding agency or department"""
38
+
39
+ limit: int
40
+ """Number of results to return per page."""
41
+
42
+ naics: str
43
+
44
+ ordering: str
45
+ """Which field to use when ordering the results."""
46
+
47
+ page: int
48
+ """A page number within the paginated result set."""
49
+
50
+ psc: str
51
+
52
+ set_aside: str
53
+
54
+ uei: str
55
+ """Unique Entity Identifier"""
@@ -0,0 +1,55 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..office import Office
7
+ from ..._models import BaseModel
8
+
9
+ __all__ = ["AwardListResponse", "Result", "ResultRecipient"]
10
+
11
+
12
+ class ResultRecipient(BaseModel):
13
+ legal_business_name: str
14
+
15
+ uei: str
16
+
17
+ dba_name: Optional[str] = None
18
+
19
+
20
+ class Result(BaseModel):
21
+ awarding_office: Office
22
+
23
+ contract_award_unique_key: str
24
+
25
+ funding_office: Office
26
+
27
+ recipient: ResultRecipient
28
+
29
+ set_aside: str
30
+
31
+ award_date: Optional[datetime] = None
32
+
33
+ award_piid: Optional[str] = None
34
+
35
+ current_total_value: Optional[float] = None
36
+
37
+ description: Optional[str] = None
38
+
39
+ naics_code: Optional[int] = None
40
+
41
+ obligated: Optional[float] = None
42
+
43
+ potential_total_value: Optional[float] = None
44
+
45
+ psc_code: Optional[str] = None
46
+
47
+
48
+ class AwardListResponse(BaseModel):
49
+ count: int
50
+
51
+ results: List[Result]
52
+
53
+ next: Optional[str] = None
54
+
55
+ previous: Optional[str] = None
@@ -0,0 +1,47 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["NaicListParams"]
8
+
9
+
10
+ class NaicListParams(TypedDict, total=False):
11
+ employee_limit: str
12
+ """
13
+ <details><summary>Filter by employee limit</summary><ul><li><span>Accepted values: <var>100</var>, <var>750</var>, <var>1500</var></span></li></ul></details>
14
+ """
15
+
16
+ employee_limit_gte: str
17
+ """
18
+ <details><summary>Filter by employee limit</summary><ul><li><span>Accepted values: <var>100</var>, <var>750</var>, <var>1500</var></span></li></ul></details>
19
+ """
20
+
21
+ employee_limit_lte: str
22
+ """
23
+ <details><summary>Filter by employee limit</summary><ul><li><span>Accepted values: <var>100</var>, <var>750</var>, <var>1500</var></span></li></ul></details>
24
+ """
25
+
26
+ revenue_limit: str
27
+ """
28
+ <details><summary>Filter by revenue limit</summary><ul><li><span>Accepted values: <var>20000000</var>, <var>50000000</var></span></li></ul></details>
29
+ """
30
+
31
+ revenue_limit_gte: str
32
+ """
33
+ <details><summary>Filter by revenue limit</summary><ul><li><span>Accepted values: <var>20000000</var>, <var>50000000</var></span></li></ul></details>
34
+ """
35
+
36
+ revenue_limit_lte: str
37
+ """
38
+ <details><summary>Filter by revenue limit</summary><ul><li><span>Accepted values: <var>20000000</var>, <var>50000000</var></span></li></ul></details>
39
+ """
40
+
41
+ search: str
42
+ """
43
+ <details><summary>Filter by code or description</summary><ul><li><span>Accepted values: <var>111110</var>, <var>111</var>, <var>forestry</var></span></li></ul></details>
44
+ """
45
+
46
+ show_limits: str
47
+ """If included, size standards will be included in the response"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import TypeAlias
5
+
6
+ from .naics_code import NaicsCode
7
+
8
+ __all__ = ["NaicListResponse"]
9
+
10
+ NaicListResponse: TypeAlias = List[NaicsCode]
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+
4
+ from .._models import BaseModel
5
+
6
+ __all__ = ["NaicRetrieveResponse"]
7
+
8
+
9
+ class NaicRetrieveResponse(BaseModel):
10
+ code: int
11
+
12
+ description: str
13
+ """Naics Description"""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+
4
+ from .._models import BaseModel
5
+
6
+ __all__ = ["NaicsCode"]
7
+
8
+
9
+ class NaicsCode(BaseModel):
10
+ code: int
11
+
12
+ description: str
13
+ """Naics Description"""
@@ -0,0 +1,81 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["NoticeListParams"]
8
+
9
+
10
+ class NoticeListParams(TypedDict, total=False):
11
+ active: bool
12
+ """Filter active and inactive"""
13
+
14
+ agency: str
15
+ """
16
+ <details><summary>Filter by agency</summary><ul><li>Accepts any agency or department code, acronym, or (partial) name</li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
17
+ """
18
+
19
+ limit: int
20
+ """Number of results to return per page."""
21
+
22
+ naics: str
23
+ """
24
+ <details><summary>Filter by NAICS Code</summary><ul><li><span>Accepted values: <var>541511</var>, <var>541512</var>, <var>etc.</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
25
+ """
26
+
27
+ notice_type: str
28
+ """
29
+ <details><summary>Filter by notice type</summary><ul><li><span>Accepted values: <var>a</var>, <var>g</var>, <var>f</var>, <var>i</var>, <var>j</var>, <var>k</var>, <var>l</var>, <var>m</var>, <var>o</var>, <var>p</var>, <var>r</var>, <var>s</var>, <var>u</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
30
+ """
31
+
32
+ ordering: str
33
+ """
34
+ <details><summary>Order results by a field of your choice.</summary><ul><li><span>Accepted values: <var>last_updated</var>, <var>posted_date</var>, <var>response_deadline</var></span></li><li>Prefix with <var>-</var> to reverse order (e.g. <var>-last_updated</var>)</li></ul></details>
35
+ """
36
+
37
+ page: int
38
+ """A page number within the paginated result set."""
39
+
40
+ place_of_performance: str
41
+ """
42
+ <details><summary>Filter by place of performance</summary><ul><li>Accepts cities, states, zip codes, and 3-character country codes</li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
43
+ """
44
+
45
+ posted_date_after: str
46
+ """
47
+ <details><summary>Filter by posted date</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
48
+ """
49
+
50
+ posted_date_before: str
51
+ """
52
+ <details><summary>Filter by posted date</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
53
+ """
54
+
55
+ psc: str
56
+ """
57
+ <details><summary>Filter by PSC (Product Service Code)</summary><ul><li><span>Accepted values: <var>S222</var>, <var>T005</var>, <var>etc.</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
58
+ """
59
+
60
+ response_deadline_after: str
61
+ """
62
+ <details><summary>Filter by response deadline</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
63
+ """
64
+
65
+ response_deadline_before: str
66
+ """
67
+ <details><summary>Filter by response deadline</summary><ul><li><span>Accepted values: <var>2024-08-01</var></span></li></ul></details>
68
+ """
69
+
70
+ search: str
71
+ """
72
+ <details><summary>Search within a notice/opportunity's title, description, or solicitation number</summary><ul><li>Disjunctive with <var>|</var> or <var>OR</var></li><li>Conjunctive with <var>,</var> or <var>AND</var></li><li>Accepts phrases with <var>"</var></li></ul></details>
73
+ """
74
+
75
+ set_aside: str
76
+ """
77
+ <details><summary>Filter by set-aside type</summary><ul><li><span>Accepted values: <var>8A</var>, <var>8AN</var>, <var>BICiv</var>, <var>EDWOSB</var>, <var>EDWOSBSS</var>, <var>HUBZONE</var>, <var>HZC</var>, <var>HZS</var>, <var>IEE</var>, <var>ISBEE</var>, <var>LAS</var>, <var>NONE</var>, <var>SB</var>, <var>SBA</var>, <var>SBP</var>, <var>SDB</var>, <var>SDVOSB</var>, <var>SDVOSBC</var>, <var>SDVOSBS</var>, <var>VOSB</var>, <var>VSA</var>, <var>VSS</var>, <var>WOSB</var>, <var>WOSBSS</var></span></li><li>Disjunctive with <var>|</var> or <var>OR</var></li></ul></details>
78
+ """
79
+
80
+ solicitation_number: str
81
+ """Search by solicitation number"""
@@ -0,0 +1,60 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["NoticeListResponse", "Result", "ResultOpportunity"]
9
+
10
+
11
+ class ResultOpportunity(BaseModel):
12
+ link: str
13
+
14
+ opportunity_id: str
15
+
16
+
17
+ class Result(BaseModel):
18
+ attachment_count: int
19
+
20
+ last_updated: datetime
21
+
22
+ notice_id: str
23
+ """This corresponds to the uuid in SAM.gov.
24
+
25
+ You can have multiple notices for a given solicitation.
26
+ """
27
+
28
+ opportunity: ResultOpportunity
29
+
30
+ psc_code: Optional[str] = None
31
+
32
+ sam_url: Optional[str] = None
33
+
34
+ title: str
35
+
36
+ active: Optional[bool] = None
37
+
38
+ award_number: Optional[str] = None
39
+
40
+ description: Optional[str] = None
41
+
42
+ naics_code: Optional[str] = None
43
+
44
+ posted_date: Optional[datetime] = None
45
+
46
+ response_deadline: Optional[datetime] = None
47
+
48
+ set_aside: Optional[str] = None
49
+
50
+ solicitation_number: Optional[str] = None
51
+
52
+
53
+ class NoticeListResponse(BaseModel):
54
+ count: int
55
+
56
+ results: List[Result]
57
+
58
+ next: Optional[str] = None
59
+
60
+ previous: Optional[str] = None