publicdotcom-cli 1.0.0__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 (146) hide show
  1. publicdotcom_cli/__init__.py +3 -0
  2. publicdotcom_cli/__main__.py +5 -0
  3. publicdotcom_cli/_generated/__init__.py +8 -0
  4. publicdotcom_cli/_generated/api/__init__.py +1 -0
  5. publicdotcom_cli/_generated/api/account_details/__init__.py +1 -0
  6. publicdotcom_cli/_generated/api/account_details/get_account_portfolio_v2.py +182 -0
  7. publicdotcom_cli/_generated/api/account_details/get_history.py +250 -0
  8. publicdotcom_cli/_generated/api/authorization/__init__.py +1 -0
  9. publicdotcom_cli/_generated/api/authorization/create_personal_access_token.py +230 -0
  10. publicdotcom_cli/_generated/api/instrument_details/__init__.py +1 -0
  11. publicdotcom_cli/_generated/api/instrument_details/get_all_instruments.py +303 -0
  12. publicdotcom_cli/_generated/api/instrument_details/get_instrument.py +170 -0
  13. publicdotcom_cli/_generated/api/list_accounts/__init__.py +1 -0
  14. publicdotcom_cli/_generated/api/list_accounts/get_accounts.py +172 -0
  15. publicdotcom_cli/_generated/api/market_data/__init__.py +1 -0
  16. publicdotcom_cli/_generated/api/market_data/get_option_chain.py +200 -0
  17. publicdotcom_cli/_generated/api/market_data/get_option_expirations.py +210 -0
  18. publicdotcom_cli/_generated/api/market_data/get_quotes.py +200 -0
  19. publicdotcom_cli/_generated/api/option_details/__init__.py +1 -0
  20. publicdotcom_cli/_generated/api/option_details/get_option_greeks.py +194 -0
  21. publicdotcom_cli/_generated/api/order_placement/__init__.py +1 -0
  22. publicdotcom_cli/_generated/api/order_placement/cancel_order.py +123 -0
  23. publicdotcom_cli/_generated/api/order_placement/get_order.py +206 -0
  24. publicdotcom_cli/_generated/api/order_placement/place_multileg_order.py +214 -0
  25. publicdotcom_cli/_generated/api/order_placement/place_order.py +222 -0
  26. publicdotcom_cli/_generated/api/order_placement/preflight_multi_leg.py +276 -0
  27. publicdotcom_cli/_generated/api/order_placement/preflight_single_leg.py +220 -0
  28. publicdotcom_cli/_generated/api/order_placement/replace_order.py +222 -0
  29. publicdotcom_cli/_generated/client.py +272 -0
  30. publicdotcom_cli/_generated/errors.py +16 -0
  31. publicdotcom_cli/_generated/models/__init__.py +417 -0
  32. publicdotcom_cli/_generated/models/com_hellopublic_holdingsystem_core_types_option_price_increment.py +71 -0
  33. publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_api_personal_create_access_token_request.py +84 -0
  34. publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_api_personal_create_access_token_response.py +61 -0
  35. publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_domain_error_error_body.py +70 -0
  36. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings.py +161 -0
  37. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_account_type.py +14 -0
  38. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_brokerage_account_type.py +9 -0
  39. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_options_level.py +12 -0
  40. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_response.py +85 -0
  41. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_trade_permissions.py +11 -0
  42. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_response_page.py +195 -0
  43. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction.py +263 -0
  44. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_direction.py +9 -0
  45. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_security_type.py +13 -0
  46. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_side.py +9 -0
  47. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_sub_type.py +19 -0
  48. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_type.py +10 -0
  49. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_chain_request.py +85 -0
  50. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_chain_response.py +115 -0
  51. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_expirations_request.py +75 -0
  52. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_expirations_response.py +81 -0
  53. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote.py +272 -0
  54. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_outcome.py +9 -0
  55. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_request.py +84 -0
  56. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_response.py +87 -0
  57. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_one_day_change.py +74 -0
  58. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_option_details.py +135 -0
  59. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_greek_response.py +113 -0
  60. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_greeks_response.py +86 -0
  61. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_option_greeks_type_0.py +117 -0
  62. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_cancel_replace_order_request.py +139 -0
  63. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_cancel_replace_order_request_order_type.py +11 -0
  64. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto.py +265 -0
  65. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_fractional_trading.py +10 -0
  66. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_option_spread_trading.py +10 -0
  67. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_option_trading.py +10 -0
  68. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_shorting_availability.py +10 -0
  69. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_trading.py +10 -0
  70. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_response.py +87 -0
  71. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_multileg_order_request.py +141 -0
  72. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_multileg_order_request_type.py +11 -0
  73. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request.py +231 -0
  74. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_equity_market_session.py +9 -0
  75. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_open_close_indicator.py +9 -0
  76. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_order_side.py +9 -0
  77. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_order_type.py +11 -0
  78. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_result.py +69 -0
  79. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_leg_instrument.py +73 -0
  80. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_leg_instrument_type.py +9 -0
  81. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order.py +334 -0
  82. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_instrument.py +73 -0
  83. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_instrument_type.py +15 -0
  84. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg.py +125 -0
  85. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg_open_close_indicator.py +9 -0
  86. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg_side.py +9 -0
  87. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_open_close_indicator.py +9 -0
  88. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_side.py +9 -0
  89. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_status.py +17 -0
  90. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_type.py +11 -0
  91. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling.py +127 -0
  92. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling_availability.py +10 -0
  93. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling_uptick_rule.py +9 -0
  94. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details.py +67 -0
  95. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details_bond.py +74 -0
  96. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details_crypto.py +92 -0
  97. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_order_expiration.py +87 -0
  98. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_order_expiration_time_in_force.py +9 -0
  99. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gain_type_0.py +88 -0
  100. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_buying_power.py +77 -0
  101. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_cost_basis_type_0.py +167 -0
  102. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_account_v2.py +233 -0
  103. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_account_v2_account_type.py +14 -0
  104. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_equity_v2.py +100 -0
  105. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_equity_v2_type.py +14 -0
  106. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_instrument.py +93 -0
  107. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_instrument_type.py +14 -0
  108. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_position.py +352 -0
  109. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy.py +276 -0
  110. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy_leg.py +78 -0
  111. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_price_type_0.py +79 -0
  112. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_impact.py +70 -0
  113. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_requirement.py +70 -0
  114. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details.py +91 -0
  115. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details_type.py +9 -0
  116. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_rebate.py +79 -0
  117. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_price_increment.py +80 -0
  118. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_regulatory_fees.py +118 -0
  119. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response.py +167 -0
  120. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response_open_close_indicator.py +9 -0
  121. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response_side.py +9 -0
  122. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_request.py +148 -0
  123. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_request_order_type.py +11 -0
  124. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_response.py +313 -0
  125. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request.py +225 -0
  126. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_equity_market_session.py +11 -0
  127. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_open_close_indicator.py +11 -0
  128. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_order_side.py +9 -0
  129. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_order_type.py +11 -0
  130. publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_response.py +410 -0
  131. publicdotcom_cli/_generated/models/get_all_instruments_fractional_trading_filter_item.py +10 -0
  132. publicdotcom_cli/_generated/models/get_all_instruments_option_spread_trading_filter_item.py +10 -0
  133. publicdotcom_cli/_generated/models/get_all_instruments_option_trading_filter_item.py +10 -0
  134. publicdotcom_cli/_generated/models/get_all_instruments_trading_filter_item.py +10 -0
  135. publicdotcom_cli/_generated/models/get_all_instruments_type_filter_item.py +15 -0
  136. publicdotcom_cli/_generated/models/get_instrument_type.py +15 -0
  137. publicdotcom_cli/_generated/types.py +54 -0
  138. publicdotcom_cli/cli.py +761 -0
  139. publicdotcom_cli/client.py +83 -0
  140. publicdotcom_cli/config.py +222 -0
  141. publicdotcom_cli/output.py +77 -0
  142. publicdotcom_cli/payloads.py +36 -0
  143. publicdotcom_cli-1.0.0.dist-info/METADATA +256 -0
  144. publicdotcom_cli-1.0.0.dist-info/RECORD +146 -0
  145. publicdotcom_cli-1.0.0.dist-info/WHEEL +4 -0
  146. publicdotcom_cli-1.0.0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPortfolioGatewayStrategyLeg")
10
+
11
+
12
+ @_attrs_define
13
+ class ComHellopublicUserapigatewayApiRestPortfolioGatewayStrategyLeg:
14
+ """Represents a single leg of an option strategy
15
+
16
+ Attributes:
17
+ symbol (str): The symbol of the leg
18
+ position_type (str): The position type (LONG or SHORT)
19
+ ratio_quantity (str): The ratio quantity of this leg in the strategy
20
+ """
21
+
22
+ symbol: str
23
+ position_type: str
24
+ ratio_quantity: str
25
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ symbol = self.symbol
29
+
30
+ position_type = self.position_type
31
+
32
+ ratio_quantity = self.ratio_quantity
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "symbol": symbol,
39
+ "positionType": position_type,
40
+ "ratioQuantity": ratio_quantity,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ symbol = d.pop("symbol")
50
+
51
+ position_type = d.pop("positionType")
52
+
53
+ ratio_quantity = d.pop("ratioQuantity")
54
+
55
+ com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy_leg = cls(
56
+ symbol=symbol,
57
+ position_type=position_type,
58
+ ratio_quantity=ratio_quantity,
59
+ )
60
+
61
+ com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy_leg.additional_properties = d
62
+ return com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy_leg
63
+
64
+ @property
65
+ def additional_keys(self) -> list[str]:
66
+ return list(self.additional_properties.keys())
67
+
68
+ def __getitem__(self, key: str) -> Any:
69
+ return self.additional_properties[key]
70
+
71
+ def __setitem__(self, key: str, value: Any) -> None:
72
+ self.additional_properties[key] = value
73
+
74
+ def __delitem__(self, key: str) -> None:
75
+ del self.additional_properties[key]
76
+
77
+ def __contains__(self, key: str) -> bool:
78
+ return key in self.additional_properties
@@ -0,0 +1,79 @@
1
+ from __future__ import annotations
2
+
3
+ import datetime
4
+ from collections.abc import Mapping
5
+ from typing import Any, TypeVar
6
+
7
+ from attrs import define as _attrs_define
8
+ from attrs import field as _attrs_field
9
+ from dateutil.parser import isoparse
10
+
11
+ from ..types import UNSET, Unset
12
+
13
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPortfolioPriceType0")
14
+
15
+
16
+ @_attrs_define
17
+ class ComHellopublicUserapigatewayApiRestPortfolioPriceType0:
18
+ """
19
+ Attributes:
20
+ last_price (str | Unset):
21
+ timestamp (datetime.datetime | Unset):
22
+ """
23
+
24
+ last_price: str | Unset = UNSET
25
+ timestamp: datetime.datetime | Unset = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ last_price = self.last_price
30
+
31
+ timestamp: str | Unset = UNSET
32
+ if not isinstance(self.timestamp, Unset):
33
+ timestamp = self.timestamp.isoformat()
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update({})
38
+ if last_price is not UNSET:
39
+ field_dict["lastPrice"] = last_price
40
+ if timestamp is not UNSET:
41
+ field_dict["timestamp"] = timestamp
42
+
43
+ return field_dict
44
+
45
+ @classmethod
46
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
47
+ d = dict(src_dict)
48
+ last_price = d.pop("lastPrice", UNSET)
49
+
50
+ _timestamp = d.pop("timestamp", UNSET)
51
+ timestamp: datetime.datetime | Unset
52
+ if isinstance(_timestamp, Unset):
53
+ timestamp = UNSET
54
+ else:
55
+ timestamp = isoparse(_timestamp)
56
+
57
+ com_hellopublic_userapigateway_api_rest_portfolio_price_type_0 = cls(
58
+ last_price=last_price,
59
+ timestamp=timestamp,
60
+ )
61
+
62
+ com_hellopublic_userapigateway_api_rest_portfolio_price_type_0.additional_properties = d
63
+ return com_hellopublic_userapigateway_api_rest_portfolio_price_type_0
64
+
65
+ @property
66
+ def additional_keys(self) -> list[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -0,0 +1,70 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayMarginImpact")
12
+
13
+
14
+ @_attrs_define
15
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayMarginImpact:
16
+ """
17
+ Attributes:
18
+ margin_usage_impact (str | Unset):
19
+ initial_margin_requirement (str | Unset):
20
+ """
21
+
22
+ margin_usage_impact: str | Unset = UNSET
23
+ initial_margin_requirement: str | Unset = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ margin_usage_impact = self.margin_usage_impact
28
+
29
+ initial_margin_requirement = self.initial_margin_requirement
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update({})
34
+ if margin_usage_impact is not UNSET:
35
+ field_dict["marginUsageImpact"] = margin_usage_impact
36
+ if initial_margin_requirement is not UNSET:
37
+ field_dict["initialMarginRequirement"] = initial_margin_requirement
38
+
39
+ return field_dict
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ margin_usage_impact = d.pop("marginUsageImpact", UNSET)
45
+
46
+ initial_margin_requirement = d.pop("initialMarginRequirement", UNSET)
47
+
48
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_impact = cls(
49
+ margin_usage_impact=margin_usage_impact,
50
+ initial_margin_requirement=initial_margin_requirement,
51
+ )
52
+
53
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_impact.additional_properties = d
54
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_impact
55
+
56
+ @property
57
+ def additional_keys(self) -> list[str]:
58
+ return list(self.additional_properties.keys())
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ return self.additional_properties[key]
62
+
63
+ def __setitem__(self, key: str, value: Any) -> None:
64
+ self.additional_properties[key] = value
65
+
66
+ def __delitem__(self, key: str) -> None:
67
+ del self.additional_properties[key]
68
+
69
+ def __contains__(self, key: str) -> bool:
70
+ return key in self.additional_properties
@@ -0,0 +1,70 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayMarginRequirement")
12
+
13
+
14
+ @_attrs_define
15
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayMarginRequirement:
16
+ """
17
+ Attributes:
18
+ long_maintenance_requirement (str | Unset):
19
+ long_initial_requirement (str | Unset):
20
+ """
21
+
22
+ long_maintenance_requirement: str | Unset = UNSET
23
+ long_initial_requirement: str | Unset = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ long_maintenance_requirement = self.long_maintenance_requirement
28
+
29
+ long_initial_requirement = self.long_initial_requirement
30
+
31
+ field_dict: dict[str, Any] = {}
32
+ field_dict.update(self.additional_properties)
33
+ field_dict.update({})
34
+ if long_maintenance_requirement is not UNSET:
35
+ field_dict["longMaintenanceRequirement"] = long_maintenance_requirement
36
+ if long_initial_requirement is not UNSET:
37
+ field_dict["longInitialRequirement"] = long_initial_requirement
38
+
39
+ return field_dict
40
+
41
+ @classmethod
42
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
+ d = dict(src_dict)
44
+ long_maintenance_requirement = d.pop("longMaintenanceRequirement", UNSET)
45
+
46
+ long_initial_requirement = d.pop("longInitialRequirement", UNSET)
47
+
48
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_requirement = cls(
49
+ long_maintenance_requirement=long_maintenance_requirement,
50
+ long_initial_requirement=long_initial_requirement,
51
+ )
52
+
53
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_requirement.additional_properties = d
54
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_requirement
55
+
56
+ @property
57
+ def additional_keys(self) -> list[str]:
58
+ return list(self.additional_properties.keys())
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ return self.additional_properties[key]
62
+
63
+ def __setitem__(self, key: str, value: Any) -> None:
64
+ self.additional_properties[key] = value
65
+
66
+ def __delitem__(self, key: str) -> None:
67
+ del self.additional_properties[key]
68
+
69
+ def __contains__(self, key: str) -> bool:
70
+ return key in self.additional_properties
@@ -0,0 +1,91 @@
1
+ from __future__ import annotations
2
+
3
+ import datetime
4
+ from collections.abc import Mapping
5
+ from typing import Any, TypeVar
6
+
7
+ from attrs import define as _attrs_define
8
+ from attrs import field as _attrs_field
9
+ from dateutil.parser import isoparse
10
+
11
+ from ..models.com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details_type import (
12
+ ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetailsType,
13
+ )
14
+
15
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetails")
16
+
17
+
18
+ @_attrs_define
19
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetails:
20
+ """
21
+ Attributes:
22
+ base_symbol (str):
23
+ type_ (ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetailsType):
24
+ strike_price (str):
25
+ option_expire_date (datetime.date):
26
+ """
27
+
28
+ base_symbol: str
29
+ type_: ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetailsType
30
+ strike_price: str
31
+ option_expire_date: datetime.date
32
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
+
34
+ def to_dict(self) -> dict[str, Any]:
35
+ base_symbol = self.base_symbol
36
+
37
+ type_ = self.type_.value
38
+
39
+ strike_price = self.strike_price
40
+
41
+ option_expire_date = self.option_expire_date.isoformat()
42
+
43
+ field_dict: dict[str, Any] = {}
44
+ field_dict.update(self.additional_properties)
45
+ field_dict.update(
46
+ {
47
+ "baseSymbol": base_symbol,
48
+ "type": type_,
49
+ "strikePrice": strike_price,
50
+ "optionExpireDate": option_expire_date,
51
+ }
52
+ )
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
58
+ d = dict(src_dict)
59
+ base_symbol = d.pop("baseSymbol")
60
+
61
+ type_ = ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetailsType(d.pop("type"))
62
+
63
+ strike_price = d.pop("strikePrice")
64
+
65
+ option_expire_date = isoparse(d.pop("optionExpireDate")).date()
66
+
67
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details = cls(
68
+ base_symbol=base_symbol,
69
+ type_=type_,
70
+ strike_price=strike_price,
71
+ option_expire_date=option_expire_date,
72
+ )
73
+
74
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details.additional_properties = d
75
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details
76
+
77
+ @property
78
+ def additional_keys(self) -> list[str]:
79
+ return list(self.additional_properties.keys())
80
+
81
+ def __getitem__(self, key: str) -> Any:
82
+ return self.additional_properties[key]
83
+
84
+ def __setitem__(self, key: str, value: Any) -> None:
85
+ self.additional_properties[key] = value
86
+
87
+ def __delitem__(self, key: str) -> None:
88
+ del self.additional_properties[key]
89
+
90
+ def __contains__(self, key: str) -> bool:
91
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayOptionDetailsType(str, Enum):
5
+ CALL = "CALL"
6
+ PUT = "PUT"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,79 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayOptionRebate")
12
+
13
+
14
+ @_attrs_define
15
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayOptionRebate:
16
+ """
17
+ Attributes:
18
+ estimated_option_rebate (str | Unset):
19
+ option_rebate_percent (int | Unset):
20
+ per_contract_rebate (str | Unset):
21
+ """
22
+
23
+ estimated_option_rebate: str | Unset = UNSET
24
+ option_rebate_percent: int | Unset = UNSET
25
+ per_contract_rebate: str | Unset = UNSET
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ estimated_option_rebate = self.estimated_option_rebate
30
+
31
+ option_rebate_percent = self.option_rebate_percent
32
+
33
+ per_contract_rebate = self.per_contract_rebate
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update({})
38
+ if estimated_option_rebate is not UNSET:
39
+ field_dict["estimatedOptionRebate"] = estimated_option_rebate
40
+ if option_rebate_percent is not UNSET:
41
+ field_dict["optionRebatePercent"] = option_rebate_percent
42
+ if per_contract_rebate is not UNSET:
43
+ field_dict["perContractRebate"] = per_contract_rebate
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ d = dict(src_dict)
50
+ estimated_option_rebate = d.pop("estimatedOptionRebate", UNSET)
51
+
52
+ option_rebate_percent = d.pop("optionRebatePercent", UNSET)
53
+
54
+ per_contract_rebate = d.pop("perContractRebate", UNSET)
55
+
56
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_option_rebate = cls(
57
+ estimated_option_rebate=estimated_option_rebate,
58
+ option_rebate_percent=option_rebate_percent,
59
+ per_contract_rebate=per_contract_rebate,
60
+ )
61
+
62
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_option_rebate.additional_properties = d
63
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_option_rebate
64
+
65
+ @property
66
+ def additional_keys(self) -> list[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -0,0 +1,80 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayPriceIncrement")
12
+
13
+
14
+ @_attrs_define
15
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayPriceIncrement:
16
+ """Price increment information for option orders.
17
+
18
+ Attributes:
19
+ increment_below_3 (str | Unset):
20
+ increment_above_3 (str | Unset):
21
+ current_increment (str | Unset):
22
+ """
23
+
24
+ increment_below_3: str | Unset = UNSET
25
+ increment_above_3: str | Unset = UNSET
26
+ current_increment: str | Unset = UNSET
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ increment_below_3 = self.increment_below_3
31
+
32
+ increment_above_3 = self.increment_above_3
33
+
34
+ current_increment = self.current_increment
35
+
36
+ field_dict: dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update({})
39
+ if increment_below_3 is not UNSET:
40
+ field_dict["incrementBelow3"] = increment_below_3
41
+ if increment_above_3 is not UNSET:
42
+ field_dict["incrementAbove3"] = increment_above_3
43
+ if current_increment is not UNSET:
44
+ field_dict["currentIncrement"] = current_increment
45
+
46
+ return field_dict
47
+
48
+ @classmethod
49
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
50
+ d = dict(src_dict)
51
+ increment_below_3 = d.pop("incrementBelow3", UNSET)
52
+
53
+ increment_above_3 = d.pop("incrementAbove3", UNSET)
54
+
55
+ current_increment = d.pop("currentIncrement", UNSET)
56
+
57
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_price_increment = cls(
58
+ increment_below_3=increment_below_3,
59
+ increment_above_3=increment_above_3,
60
+ current_increment=current_increment,
61
+ )
62
+
63
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_price_increment.additional_properties = d
64
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_price_increment
65
+
66
+ @property
67
+ def additional_keys(self) -> list[str]:
68
+ return list(self.additional_properties.keys())
69
+
70
+ def __getitem__(self, key: str) -> Any:
71
+ return self.additional_properties[key]
72
+
73
+ def __setitem__(self, key: str, value: Any) -> None:
74
+ self.additional_properties[key] = value
75
+
76
+ def __delitem__(self, key: str) -> None:
77
+ del self.additional_properties[key]
78
+
79
+ def __contains__(self, key: str) -> bool:
80
+ return key in self.additional_properties
@@ -0,0 +1,118 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="ComHellopublicUserapigatewayApiRestPreflightGatewayRegulatoryFees")
12
+
13
+
14
+ @_attrs_define
15
+ class ComHellopublicUserapigatewayApiRestPreflightGatewayRegulatoryFees:
16
+ """# GatewayRegulatoryFees
17
+ Represents various regulatory fees associated with trading orders.
18
+ <br/>
19
+ ## Fields
20
+ - **secFee** - The SEC charges a regulatory fee for sell orders that execute. The fee is based on the dollar amount
21
+ of the order.
22
+ - **tafFee** - The Trading Activity Fee is a FINRA fee. The fee is based on the order quantity.
23
+ - **orfFee** - The Options Regulatory Fee (ORF). This is the combined exchange fee rate for all exchanges. Changes
24
+ monthly.
25
+ - **exchangeFee** - The exchange charges a fee for executing orders for index options.
26
+ - **occFee** - The Options Clearing Corporation Fee (OCC)
27
+ - **catFee** - The Consolidated Audit Trail Fee (CAT)
28
+
29
+ Attributes:
30
+ sec_fee (str | Unset):
31
+ taf_fee (str | Unset):
32
+ orf_fee (str | Unset):
33
+ exchange_fee (str | Unset):
34
+ occ_fee (str | Unset):
35
+ cat_fee (str | Unset):
36
+ """
37
+
38
+ sec_fee: str | Unset = UNSET
39
+ taf_fee: str | Unset = UNSET
40
+ orf_fee: str | Unset = UNSET
41
+ exchange_fee: str | Unset = UNSET
42
+ occ_fee: str | Unset = UNSET
43
+ cat_fee: str | Unset = UNSET
44
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
45
+
46
+ def to_dict(self) -> dict[str, Any]:
47
+ sec_fee = self.sec_fee
48
+
49
+ taf_fee = self.taf_fee
50
+
51
+ orf_fee = self.orf_fee
52
+
53
+ exchange_fee = self.exchange_fee
54
+
55
+ occ_fee = self.occ_fee
56
+
57
+ cat_fee = self.cat_fee
58
+
59
+ field_dict: dict[str, Any] = {}
60
+ field_dict.update(self.additional_properties)
61
+ field_dict.update({})
62
+ if sec_fee is not UNSET:
63
+ field_dict["secFee"] = sec_fee
64
+ if taf_fee is not UNSET:
65
+ field_dict["tafFee"] = taf_fee
66
+ if orf_fee is not UNSET:
67
+ field_dict["orfFee"] = orf_fee
68
+ if exchange_fee is not UNSET:
69
+ field_dict["exchangeFee"] = exchange_fee
70
+ if occ_fee is not UNSET:
71
+ field_dict["occFee"] = occ_fee
72
+ if cat_fee is not UNSET:
73
+ field_dict["catFee"] = cat_fee
74
+
75
+ return field_dict
76
+
77
+ @classmethod
78
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
79
+ d = dict(src_dict)
80
+ sec_fee = d.pop("secFee", UNSET)
81
+
82
+ taf_fee = d.pop("tafFee", UNSET)
83
+
84
+ orf_fee = d.pop("orfFee", UNSET)
85
+
86
+ exchange_fee = d.pop("exchangeFee", UNSET)
87
+
88
+ occ_fee = d.pop("occFee", UNSET)
89
+
90
+ cat_fee = d.pop("catFee", UNSET)
91
+
92
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_regulatory_fees = cls(
93
+ sec_fee=sec_fee,
94
+ taf_fee=taf_fee,
95
+ orf_fee=orf_fee,
96
+ exchange_fee=exchange_fee,
97
+ occ_fee=occ_fee,
98
+ cat_fee=cat_fee,
99
+ )
100
+
101
+ com_hellopublic_userapigateway_api_rest_preflight_gateway_regulatory_fees.additional_properties = d
102
+ return com_hellopublic_userapigateway_api_rest_preflight_gateway_regulatory_fees
103
+
104
+ @property
105
+ def additional_keys(self) -> list[str]:
106
+ return list(self.additional_properties.keys())
107
+
108
+ def __getitem__(self, key: str) -> Any:
109
+ return self.additional_properties[key]
110
+
111
+ def __setitem__(self, key: str, value: Any) -> None:
112
+ self.additional_properties[key] = value
113
+
114
+ def __delitem__(self, key: str) -> None:
115
+ del self.additional_properties[key]
116
+
117
+ def __contains__(self, key: str) -> bool:
118
+ return key in self.additional_properties