publicdotcom-cli 1.3.2__tar.gz → 1.3.3__tar.gz

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 (232) hide show
  1. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/CHANGELOG.md +25 -0
  2. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/PKG-INFO +9 -2
  3. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/README.md +7 -0
  4. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/pyproject.toml +1 -1
  5. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/__init__.py +1 -1
  6. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_bars_v2.py +15 -0
  7. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_bars_v2_with_aggregation.py +15 -0
  8. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/__init__.py +2 -0
  9. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/bars_response.py +18 -0
  10. publicdotcom_cli-1.3.3/src/publicdotcom_cli/_generated/models/leading_fill.py +99 -0
  11. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/cli.py +13 -1
  12. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_cli.py +7 -0
  13. publicdotcom_cli-1.3.3/tests/test_generated_models.py +64 -0
  14. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/uv.lock +1 -1
  15. publicdotcom_cli-1.3.2/tests/test_generated_models.py +0 -26
  16. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/.gitattributes +0 -0
  17. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/.github/workflows/ci.yml +0 -0
  18. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/.github/workflows/release.yml +0 -0
  19. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/.gitignore +0 -0
  20. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/LICENSE +0 -0
  21. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/examples/order.replace.notional.json +0 -0
  22. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/examples/order.single-leg.cash-only.json +0 -0
  23. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/examples/order.single-leg.market-buy.json +0 -0
  24. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/examples/order.single-leg.tax-lot-matching.json +0 -0
  25. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/examples/strategy-quote.request.json +0 -0
  26. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/scripts/generate_client.py +0 -0
  27. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/__main__.py +0 -0
  28. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/__init__.py +0 -0
  29. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/__init__.py +0 -0
  30. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/account_details/__init__.py +0 -0
  31. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/account_details/get_account_portfolio_v2.py +0 -0
  32. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/account_details/get_history.py +0 -0
  33. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/authorization/__init__.py +0 -0
  34. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/authorization/create_personal_access_token.py +0 -0
  35. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/instrument_details/__init__.py +0 -0
  36. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/instrument_details/get_all_instruments.py +0 -0
  37. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/instrument_details/get_instrument.py +0 -0
  38. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/instrument_details/search_bonds.py +0 -0
  39. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/list_accounts/__init__.py +0 -0
  40. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/list_accounts/get_accounts.py +0 -0
  41. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/__init__.py +0 -0
  42. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_bond_details.py +0 -0
  43. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_option_chain.py +0 -0
  44. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_option_expirations.py +0 -0
  45. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/market_data/get_quotes.py +0 -0
  46. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/option_details/__init__.py +0 -0
  47. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/option_details/get_option_greeks.py +0 -0
  48. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/option_details/get_strategy_quote.py +0 -0
  49. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/__init__.py +0 -0
  50. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/cancel_order.py +0 -0
  51. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/get_order.py +0 -0
  52. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/place_multileg_order.py +0 -0
  53. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/place_order.py +0 -0
  54. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/preflight_multi_leg.py +0 -0
  55. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/preflight_single_leg.py +0 -0
  56. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/order_placement/replace_order.py +0 -0
  57. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/tax_lot_selling/__init__.py +0 -0
  58. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/tax_lot_selling/get_unrealized_tax_lots.py +0 -0
  59. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/tax_lot_selling/get_unrealized_tax_lots_csv.py +0 -0
  60. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/api/tax_lot_selling/get_unrealized_tax_lots_for_symbol.py +0 -0
  61. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/client.py +0 -0
  62. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/errors.py +0 -0
  63. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/bar.py +0 -0
  64. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_core_dto_base_64_file.py +0 -0
  65. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_fixedincomegateway_instrument_instrument_dto.py +0 -0
  66. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_holdingsystem_core_types_option_price_increment.py +0 -0
  67. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_instrument_specific_tax_lot_details.py +0 -0
  68. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_option_specific_tax_lot_details.py +0 -0
  69. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_option_specific_tax_lot_details_option_type.py +0 -0
  70. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_order_reference.py +0 -0
  71. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_out_of_date_status.py +0 -0
  72. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_out_of_date_status_description.py +0 -0
  73. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_out_of_date_status_type.py +0 -0
  74. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_unrealized_lot.py +0 -0
  75. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_unrealized_lot_summary.py +0 -0
  76. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_unrealized_lots_detail_response.py +0 -0
  77. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_hstier_2_service_taxlots_api_unrealized_lots_summary_response.py +0 -0
  78. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_trading_core_quote_bond_quote_detail.py +0 -0
  79. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_trading_core_quote_quote_specific_detail.py +0 -0
  80. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_trading_core_quote_signed_quote.py +0 -0
  81. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_trading_core_quote_signed_quote_uptick_rule.py +0 -0
  82. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_api_personal_create_access_token_request.py +0 -0
  83. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_api_personal_create_access_token_response.py +0 -0
  84. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapiauthservice_domain_error_error_body.py +0 -0
  85. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings.py +0 -0
  86. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_account_type.py +0 -0
  87. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_brokerage_account_type.py +0 -0
  88. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_options_level.py +0 -0
  89. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_response.py +0 -0
  90. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_account_account_settings_trade_permissions.py +0 -0
  91. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_response_page.py +0 -0
  92. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction.py +0 -0
  93. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_direction.py +0 -0
  94. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_security_type.py +0 -0
  95. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_side.py +0 -0
  96. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_sub_type.py +0 -0
  97. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_history_gateway_history_transaction_type.py +0 -0
  98. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_bonddetails_bond_details_response.py +0 -0
  99. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_bond_details.py +0 -0
  100. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_chain_request.py +0 -0
  101. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_chain_response.py +0 -0
  102. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_expirations_request.py +0 -0
  103. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_option_expirations_response.py +0 -0
  104. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote.py +0 -0
  105. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_outcome.py +0 -0
  106. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_request.py +0 -0
  107. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_gateway_quote_response.py +0 -0
  108. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_one_day_change.py +0 -0
  109. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_marketdata_quote_option_details.py +0 -0
  110. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_greek_response.py +0 -0
  111. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_greeks_response.py +0 -0
  112. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_options_option_greeks_type_0.py +0 -0
  113. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_cancel_replace_order_request.py +0 -0
  114. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_cancel_replace_order_request_order_type.py +0 -0
  115. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto.py +0 -0
  116. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_fractional_trading.py +0 -0
  117. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_option_spread_trading.py +0 -0
  118. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_option_trading.py +0 -0
  119. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_shorting_availability.py +0 -0
  120. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_dto_trading.py +0 -0
  121. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_instrument_response.py +0 -0
  122. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_multileg_order_request.py +0 -0
  123. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_multileg_order_request_type.py +0 -0
  124. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request.py +0 -0
  125. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_equity_market_session.py +0 -0
  126. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_open_close_indicator.py +0 -0
  127. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_order_side.py +0 -0
  128. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_request_order_type.py +0 -0
  129. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_api_order_result.py +0 -0
  130. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_leg_instrument.py +0 -0
  131. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_leg_instrument_type.py +0 -0
  132. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order.py +0 -0
  133. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_instrument.py +0 -0
  134. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_instrument_type.py +0 -0
  135. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg.py +0 -0
  136. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg_open_close_indicator.py +0 -0
  137. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_leg_side.py +0 -0
  138. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_open_close_indicator.py +0 -0
  139. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_side.py +0 -0
  140. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_status.py +0 -0
  141. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_order_type.py +0 -0
  142. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling.py +0 -0
  143. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling_availability.py +0 -0
  144. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_short_selling_uptick_rule.py +0 -0
  145. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_gateway_tax_lot_matching_instruction.py +0 -0
  146. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details.py +0 -0
  147. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details_bond.py +0 -0
  148. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_instrumentdetails_api_instrument_details_crypto.py +0 -0
  149. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_order_expiration.py +0 -0
  150. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_order_order_expiration_time_in_force.py +0 -0
  151. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gain.py +0 -0
  152. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_available_to_withdraw_type_0.py +0 -0
  153. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_buying_power.py +0 -0
  154. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_cost_basis.py +0 -0
  155. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_account_v2.py +0 -0
  156. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_account_v2_account_type.py +0 -0
  157. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_equity_v2.py +0 -0
  158. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_equity_v2_type.py +0 -0
  159. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_instrument.py +0 -0
  160. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_instrument_type.py +0 -0
  161. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_portfolio_position.py +0 -0
  162. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy.py +0 -0
  163. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_gateway_strategy_leg.py +0 -0
  164. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_portfolio_price.py +0 -0
  165. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_impact.py +0 -0
  166. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_margin_requirement.py +0 -0
  167. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details.py +0 -0
  168. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_details_type.py +0 -0
  169. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_option_rebate.py +0 -0
  170. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_price_increment.py +0 -0
  171. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_gateway_regulatory_fees.py +0 -0
  172. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response.py +0 -0
  173. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response_open_close_indicator.py +0 -0
  174. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_leg_response_side.py +0 -0
  175. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_request.py +0 -0
  176. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_request_order_type.py +0 -0
  177. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_multi_leg_response.py +0 -0
  178. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request.py +0 -0
  179. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_equity_market_session.py +0 -0
  180. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_open_close_indicator.py +0 -0
  181. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_order_side.py +0 -0
  182. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_request_order_type.py +0 -0
  183. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_hellopublic_userapigateway_api_rest_preflight_preflight_single_leg_response.py +0 -0
  184. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_order_leg_type_0.py +0 -0
  185. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_order_leg_type_0_open_close_indicator.py +0 -0
  186. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_order_leg_type_0_side.py +0 -0
  187. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_leg_dto.py +0 -0
  188. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_leg_dto_open_close_indicator.py +0 -0
  189. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_leg_dto_side.py +0 -0
  190. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_leg_instrument_dto.py +0 -0
  191. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_leg_instrument_dto_type.py +0 -0
  192. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_quote_dto.py +0 -0
  193. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_quote_dto_debit_credit.py +0 -0
  194. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/com_matadorapp_shared_customerordergateway_dto_strategy_quote_request.py +0 -0
  195. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_all_instruments_fractional_trading_filter_item.py +0 -0
  196. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_all_instruments_option_spread_trading_filter_item.py +0 -0
  197. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_all_instruments_option_trading_filter_item.py +0 -0
  198. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_all_instruments_trading_filter_item.py +0 -0
  199. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_all_instruments_type_filter_item.py +0 -0
  200. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_period.py +0 -0
  201. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_trading_session_toggle.py +0 -0
  202. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_type.py +0 -0
  203. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_with_aggregation_aggregation.py +0 -0
  204. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_with_aggregation_period.py +0 -0
  205. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_with_aggregation_trading_session_toggle.py +0 -0
  206. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_bars_v2_with_aggregation_type.py +0 -0
  207. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/get_instrument_type.py +0 -0
  208. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/last_session_close.py +0 -0
  209. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/market_session_bars.py +0 -0
  210. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/org_springframework_data_domain_page_com_hellopublic_fixedincomegateway_instrument_instrument_dto.py +0 -0
  211. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/pageable_object.py +16 -16
  212. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/regular_session_closing_data.py +0 -0
  213. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_bond_status_item.py +0 -0
  214. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_bond_type_item.py +0 -0
  215. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_coupon_frequency_item.py +0 -0
  216. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_rating_category.py +0 -0
  217. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_rating_item.py +0 -0
  218. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_sort_direction.py +0 -0
  219. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_sp_creditwatch_item.py +0 -0
  220. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_sp_outlook_item.py +0 -0
  221. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/search_bonds_treasury_subtype_item.py +0 -0
  222. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/models/sort_object.py +9 -9
  223. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/_generated/types.py +0 -0
  224. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/client.py +0 -0
  225. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/config.py +0 -0
  226. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/output.py +0 -0
  227. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/src/publicdotcom_cli/payloads.py +0 -0
  228. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_client.py +0 -0
  229. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_config.py +0 -0
  230. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_generated_enums.py +0 -0
  231. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_output.py +0 -0
  232. {publicdotcom_cli-1.3.2 → publicdotcom_cli-1.3.3}/tests/test_payloads.py +0 -0
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.3.3] - 2026-08-11
9
+
10
+ ### Added
11
+ - `--ipo-date` option on `public historicdata bars`, mirroring the new optional
12
+ `ipoDate` query parameter on both historic-data endpoints. Supplying the
13
+ asset's IPO / first-trade date lets the backend switch to a finer aggregation
14
+ over post-IPO history for assets younger than the requested period; the
15
+ response then includes a `leadingFill` object describing the flat pre-IPO
16
+ lead-in. Omitted, behavior is unchanged; not applied to the `DAY` chart.
17
+ - README examples for `--ipo-date`.
18
+
19
+ ### Changed
20
+ - Regenerated `_generated/` from the updated `spec.yaml`:
21
+ - New `LeadingFill` model (`startTimestamp`, `endTimestamp`, `value`,
22
+ `count`, `includedInTotalExpectedBars`, all required) and the optional
23
+ `leadingFill` field on `BarsResponse`.
24
+ - `ipo_date` parameter on the `get_bars_v2` and
25
+ `get_bars_v2_with_aggregation` endpoint modules.
26
+ - `PageableObject` / `SortObject` field order follows a cosmetic key reorder
27
+ in the spec (no behavioral change).
28
+ - The generator's usual unrelated churn (unpinned newer generator rewriting
29
+ `from_dict` to `typing_extensions.Self`, which is not a declared
30
+ dependency) was reverted; new/changed files were normalized to the
31
+ vendored TypeVar style.
32
+
8
33
  ## [1.3.2] - 2026-08-05
9
34
 
10
35
  ### Added
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: publicdotcom-cli
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Command-line client for the Public.com Trading API
5
5
  Project-URL: Homepage, https://github.com/publicdotcom/publicdotcom-cli
6
6
  Project-URL: Repository, https://github.com/publicdotcom/publicdotcom-cli
@@ -192,6 +192,7 @@ public options strategy-quote --file examples/strategy-quote.request.json
192
192
  public historicdata bars EQUITY AAPL YEAR
193
193
  public historicdata bars EQUITY AAPL DAY --aggregation FIVE_MINUTES
194
194
  public historicdata bars EQUITY AAPL SINCE_PURCHASE --purchase-date 2024-01-15
195
+ public historicdata bars EQUITY RDDT FIVE_YEARS --ipo-date 2024-03-21
195
196
  public taxlots list
196
197
  public taxlots symbol AAPL
197
198
  public taxlots csv --output taxlots.csv
@@ -223,6 +224,12 @@ When using the `SINCE_PURCHASE` period, supply the purchase date:
223
224
  public historicdata bars EQUITY AAPL SINCE_PURCHASE --purchase-date 2024-01-15
224
225
  ```
225
226
 
227
+ For recently listed assets, pass the IPO / first-trade date with `--ipo-date`. When the asset is younger than the requested period, the backend switches to a finer aggregation over the available post-IPO history and the response includes a `leadingFill` object describing the flat lead-in to draw for the pre-IPO portion. Omitting the option leaves behavior unchanged, and it is not applied to the `DAY` chart:
228
+
229
+ ```bash
230
+ public historicdata bars EQUITY RDDT FIVE_YEARS --ipo-date 2024-03-21
231
+ ```
232
+
226
233
  Trading requests use JSON files so the exact payload is visible before submission:
227
234
 
228
235
  ```bash
@@ -154,6 +154,7 @@ public options strategy-quote --file examples/strategy-quote.request.json
154
154
  public historicdata bars EQUITY AAPL YEAR
155
155
  public historicdata bars EQUITY AAPL DAY --aggregation FIVE_MINUTES
156
156
  public historicdata bars EQUITY AAPL SINCE_PURCHASE --purchase-date 2024-01-15
157
+ public historicdata bars EQUITY RDDT FIVE_YEARS --ipo-date 2024-03-21
157
158
  public taxlots list
158
159
  public taxlots symbol AAPL
159
160
  public taxlots csv --output taxlots.csv
@@ -185,6 +186,12 @@ When using the `SINCE_PURCHASE` period, supply the purchase date:
185
186
  public historicdata bars EQUITY AAPL SINCE_PURCHASE --purchase-date 2024-01-15
186
187
  ```
187
188
 
189
+ For recently listed assets, pass the IPO / first-trade date with `--ipo-date`. When the asset is younger than the requested period, the backend switches to a finer aggregation over the available post-IPO history and the response includes a `leadingFill` object describing the flat lead-in to draw for the pre-IPO portion. Omitting the option leaves behavior unchanged, and it is not applied to the `DAY` chart:
190
+
191
+ ```bash
192
+ public historicdata bars EQUITY RDDT FIVE_YEARS --ipo-date 2024-03-21
193
+ ```
194
+
188
195
  Trading requests use JSON files so the exact payload is visible before submission:
189
196
 
190
197
  ```bash
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "publicdotcom-cli"
3
- version = "1.3.2"
3
+ version = "1.3.3"
4
4
  description = "Command-line client for the Public.com Trading API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """Command-line tools for the Public API."""
2
2
 
3
- __version__ = "1.3.2"
3
+ __version__ = "1.3.3"
@@ -20,6 +20,7 @@ def _get_kwargs(
20
20
  *,
21
21
  purchase_date: str | Unset = UNSET,
22
22
  trading_session_toggle: GetBarsV2TradingSessionToggle | Unset = UNSET,
23
+ ipo_date: str | Unset = UNSET,
23
24
  ) -> dict[str, Any]:
24
25
 
25
26
  params: dict[str, Any] = {}
@@ -32,6 +33,8 @@ def _get_kwargs(
32
33
 
33
34
  params["tradingSessionToggle"] = json_trading_session_toggle
34
35
 
36
+ params["ipoDate"] = ipo_date
37
+
35
38
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
36
39
 
37
40
  _kwargs: dict[str, Any] = {
@@ -80,6 +83,7 @@ def sync_detailed(
80
83
  client: AuthenticatedClient | Client,
81
84
  purchase_date: str | Unset = UNSET,
82
85
  trading_session_toggle: GetBarsV2TradingSessionToggle | Unset = UNSET,
86
+ ipo_date: str | Unset = UNSET,
83
87
  ) -> Response[BarsResponse]:
84
88
  """Fetch bar data for a given symbol and period
85
89
 
@@ -89,6 +93,7 @@ def sync_detailed(
89
93
  period (GetBarsV2Period):
90
94
  purchase_date (str | Unset): Example: 2025-02-24.
91
95
  trading_session_toggle (GetBarsV2TradingSessionToggle | Unset):
96
+ ipo_date (str | Unset): Example: 2026-07-20.
92
97
 
93
98
  Raises:
94
99
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -104,6 +109,7 @@ def sync_detailed(
104
109
  period=period,
105
110
  purchase_date=purchase_date,
106
111
  trading_session_toggle=trading_session_toggle,
112
+ ipo_date=ipo_date,
107
113
  )
108
114
 
109
115
  response = client.get_httpx_client().request(
@@ -121,6 +127,7 @@ def sync(
121
127
  client: AuthenticatedClient | Client,
122
128
  purchase_date: str | Unset = UNSET,
123
129
  trading_session_toggle: GetBarsV2TradingSessionToggle | Unset = UNSET,
130
+ ipo_date: str | Unset = UNSET,
124
131
  ) -> BarsResponse | None:
125
132
  """Fetch bar data for a given symbol and period
126
133
 
@@ -130,6 +137,7 @@ def sync(
130
137
  period (GetBarsV2Period):
131
138
  purchase_date (str | Unset): Example: 2025-02-24.
132
139
  trading_session_toggle (GetBarsV2TradingSessionToggle | Unset):
140
+ ipo_date (str | Unset): Example: 2026-07-20.
133
141
 
134
142
  Raises:
135
143
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -146,6 +154,7 @@ def sync(
146
154
  client=client,
147
155
  purchase_date=purchase_date,
148
156
  trading_session_toggle=trading_session_toggle,
157
+ ipo_date=ipo_date,
149
158
  ).parsed
150
159
 
151
160
 
@@ -157,6 +166,7 @@ async def asyncio_detailed(
157
166
  client: AuthenticatedClient | Client,
158
167
  purchase_date: str | Unset = UNSET,
159
168
  trading_session_toggle: GetBarsV2TradingSessionToggle | Unset = UNSET,
169
+ ipo_date: str | Unset = UNSET,
160
170
  ) -> Response[BarsResponse]:
161
171
  """Fetch bar data for a given symbol and period
162
172
 
@@ -166,6 +176,7 @@ async def asyncio_detailed(
166
176
  period (GetBarsV2Period):
167
177
  purchase_date (str | Unset): Example: 2025-02-24.
168
178
  trading_session_toggle (GetBarsV2TradingSessionToggle | Unset):
179
+ ipo_date (str | Unset): Example: 2026-07-20.
169
180
 
170
181
  Raises:
171
182
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -181,6 +192,7 @@ async def asyncio_detailed(
181
192
  period=period,
182
193
  purchase_date=purchase_date,
183
194
  trading_session_toggle=trading_session_toggle,
195
+ ipo_date=ipo_date,
184
196
  )
185
197
 
186
198
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -196,6 +208,7 @@ async def asyncio(
196
208
  client: AuthenticatedClient | Client,
197
209
  purchase_date: str | Unset = UNSET,
198
210
  trading_session_toggle: GetBarsV2TradingSessionToggle | Unset = UNSET,
211
+ ipo_date: str | Unset = UNSET,
199
212
  ) -> BarsResponse | None:
200
213
  """Fetch bar data for a given symbol and period
201
214
 
@@ -205,6 +218,7 @@ async def asyncio(
205
218
  period (GetBarsV2Period):
206
219
  purchase_date (str | Unset): Example: 2025-02-24.
207
220
  trading_session_toggle (GetBarsV2TradingSessionToggle | Unset):
221
+ ipo_date (str | Unset): Example: 2026-07-20.
208
222
 
209
223
  Raises:
210
224
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -222,5 +236,6 @@ async def asyncio(
222
236
  client=client,
223
237
  purchase_date=purchase_date,
224
238
  trading_session_toggle=trading_session_toggle,
239
+ ipo_date=ipo_date,
225
240
  )
226
241
  ).parsed
@@ -24,6 +24,7 @@ def _get_kwargs(
24
24
  *,
25
25
  purchase_date: str | Unset = UNSET,
26
26
  trading_session_toggle: GetBarsV2WithAggregationTradingSessionToggle | Unset = UNSET,
27
+ ipo_date: str | Unset = UNSET,
27
28
  ) -> dict[str, Any]:
28
29
 
29
30
  params: dict[str, Any] = {}
@@ -36,6 +37,8 @@ def _get_kwargs(
36
37
 
37
38
  params["tradingSessionToggle"] = json_trading_session_toggle
38
39
 
40
+ params["ipoDate"] = ipo_date
41
+
39
42
  params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
40
43
 
41
44
  _kwargs: dict[str, Any] = {
@@ -86,6 +89,7 @@ def sync_detailed(
86
89
  client: AuthenticatedClient | Client,
87
90
  purchase_date: str | Unset = UNSET,
88
91
  trading_session_toggle: GetBarsV2WithAggregationTradingSessionToggle | Unset = UNSET,
92
+ ipo_date: str | Unset = UNSET,
89
93
  ) -> Response[BarsResponse]:
90
94
  """Fetch bar data for a given symbol and period
91
95
 
@@ -96,6 +100,7 @@ def sync_detailed(
96
100
  aggregation (GetBarsV2WithAggregationAggregation):
97
101
  purchase_date (str | Unset): Example: 2025-02-24.
98
102
  trading_session_toggle (GetBarsV2WithAggregationTradingSessionToggle | Unset):
103
+ ipo_date (str | Unset): Example: 2026-07-20.
99
104
 
100
105
  Raises:
101
106
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -112,6 +117,7 @@ def sync_detailed(
112
117
  aggregation=aggregation,
113
118
  purchase_date=purchase_date,
114
119
  trading_session_toggle=trading_session_toggle,
120
+ ipo_date=ipo_date,
115
121
  )
116
122
 
117
123
  response = client.get_httpx_client().request(
@@ -130,6 +136,7 @@ def sync(
130
136
  client: AuthenticatedClient | Client,
131
137
  purchase_date: str | Unset = UNSET,
132
138
  trading_session_toggle: GetBarsV2WithAggregationTradingSessionToggle | Unset = UNSET,
139
+ ipo_date: str | Unset = UNSET,
133
140
  ) -> BarsResponse | None:
134
141
  """Fetch bar data for a given symbol and period
135
142
 
@@ -140,6 +147,7 @@ def sync(
140
147
  aggregation (GetBarsV2WithAggregationAggregation):
141
148
  purchase_date (str | Unset): Example: 2025-02-24.
142
149
  trading_session_toggle (GetBarsV2WithAggregationTradingSessionToggle | Unset):
150
+ ipo_date (str | Unset): Example: 2026-07-20.
143
151
 
144
152
  Raises:
145
153
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -157,6 +165,7 @@ def sync(
157
165
  client=client,
158
166
  purchase_date=purchase_date,
159
167
  trading_session_toggle=trading_session_toggle,
168
+ ipo_date=ipo_date,
160
169
  ).parsed
161
170
 
162
171
 
@@ -169,6 +178,7 @@ async def asyncio_detailed(
169
178
  client: AuthenticatedClient | Client,
170
179
  purchase_date: str | Unset = UNSET,
171
180
  trading_session_toggle: GetBarsV2WithAggregationTradingSessionToggle | Unset = UNSET,
181
+ ipo_date: str | Unset = UNSET,
172
182
  ) -> Response[BarsResponse]:
173
183
  """Fetch bar data for a given symbol and period
174
184
 
@@ -179,6 +189,7 @@ async def asyncio_detailed(
179
189
  aggregation (GetBarsV2WithAggregationAggregation):
180
190
  purchase_date (str | Unset): Example: 2025-02-24.
181
191
  trading_session_toggle (GetBarsV2WithAggregationTradingSessionToggle | Unset):
192
+ ipo_date (str | Unset): Example: 2026-07-20.
182
193
 
183
194
  Raises:
184
195
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -195,6 +206,7 @@ async def asyncio_detailed(
195
206
  aggregation=aggregation,
196
207
  purchase_date=purchase_date,
197
208
  trading_session_toggle=trading_session_toggle,
209
+ ipo_date=ipo_date,
198
210
  )
199
211
 
200
212
  response = await client.get_async_httpx_client().request(**kwargs)
@@ -211,6 +223,7 @@ async def asyncio(
211
223
  client: AuthenticatedClient | Client,
212
224
  purchase_date: str | Unset = UNSET,
213
225
  trading_session_toggle: GetBarsV2WithAggregationTradingSessionToggle | Unset = UNSET,
226
+ ipo_date: str | Unset = UNSET,
214
227
  ) -> BarsResponse | None:
215
228
  """Fetch bar data for a given symbol and period
216
229
 
@@ -221,6 +234,7 @@ async def asyncio(
221
234
  aggregation (GetBarsV2WithAggregationAggregation):
222
235
  purchase_date (str | Unset): Example: 2025-02-24.
223
236
  trading_session_toggle (GetBarsV2WithAggregationTradingSessionToggle | Unset):
237
+ ipo_date (str | Unset): Example: 2026-07-20.
224
238
 
225
239
  Raises:
226
240
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -239,5 +253,6 @@ async def asyncio(
239
253
  client=client,
240
254
  purchase_date=purchase_date,
241
255
  trading_session_toggle=trading_session_toggle,
256
+ ipo_date=ipo_date,
242
257
  )
243
258
  ).parsed
@@ -413,6 +413,7 @@ from .get_bars_v2_with_aggregation_trading_session_toggle import (
413
413
  from .get_bars_v2_with_aggregation_type import GetBarsV2WithAggregationType
414
414
  from .get_instrument_type import GetInstrumentType
415
415
  from .last_session_close import LastSessionClose
416
+ from .leading_fill import LeadingFill
416
417
  from .market_session_bars import MarketSessionBars
417
418
  from .org_springframework_data_domain_page_com_hellopublic_fixedincomegateway_instrument_instrument_dto import (
418
419
  OrgSpringframeworkDataDomainPageComHellopublicFixedincomegatewayInstrumentInstrumentDto,
@@ -578,6 +579,7 @@ __all__ = (
578
579
  "GetBarsV2WithAggregationType",
579
580
  "GetInstrumentType",
580
581
  "LastSessionClose",
582
+ "LeadingFill",
581
583
  "MarketSessionBars",
582
584
  "OrgSpringframeworkDataDomainPageComHellopublicFixedincomegatewayInstrumentInstrumentDto",
583
585
  "PageableObject",
@@ -10,6 +10,7 @@ from ..types import UNSET, Unset
10
10
 
11
11
  if TYPE_CHECKING:
12
12
  from ..models.last_session_close import LastSessionClose
13
+ from ..models.leading_fill import LeadingFill
13
14
  from ..models.market_session_bars import MarketSessionBars
14
15
  from ..models.regular_session_closing_data import RegularSessionClosingData
15
16
 
@@ -35,6 +36,7 @@ class BarsResponse:
35
36
  last_trading_session_close (LastSessionClose | Unset):
36
37
  regular_session_closing_data (RegularSessionClosingData | Unset):
37
38
  last_regular_trading_session_close (LastSessionClose | Unset):
39
+ leading_fill (LeadingFill | Unset):
38
40
  """
39
41
 
40
42
  symbol: str
@@ -51,6 +53,7 @@ class BarsResponse:
51
53
  last_trading_session_close: LastSessionClose | Unset = UNSET
52
54
  regular_session_closing_data: RegularSessionClosingData | Unset = UNSET
53
55
  last_regular_trading_session_close: LastSessionClose | Unset = UNSET
56
+ leading_fill: LeadingFill | Unset = UNSET
54
57
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
55
58
 
56
59
  def to_dict(self) -> dict[str, Any]:
@@ -104,6 +107,10 @@ class BarsResponse:
104
107
  if not isinstance(self.last_regular_trading_session_close, Unset):
105
108
  last_regular_trading_session_close = self.last_regular_trading_session_close.to_dict()
106
109
 
110
+ leading_fill: dict[str, Any] | Unset = UNSET
111
+ if not isinstance(self.leading_fill, Unset):
112
+ leading_fill = self.leading_fill.to_dict()
113
+
107
114
  field_dict: dict[str, Any] = {}
108
115
  field_dict.update(self.additional_properties)
109
116
  field_dict.update(
@@ -132,12 +139,15 @@ class BarsResponse:
132
139
  field_dict["regularSessionClosingData"] = regular_session_closing_data
133
140
  if last_regular_trading_session_close is not UNSET:
134
141
  field_dict["lastRegularTradingSessionClose"] = last_regular_trading_session_close
142
+ if leading_fill is not UNSET:
143
+ field_dict["leadingFill"] = leading_fill
135
144
 
136
145
  return field_dict
137
146
 
138
147
  @classmethod
139
148
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
140
149
  from ..models.last_session_close import LastSessionClose
150
+ from ..models.leading_fill import LeadingFill
141
151
  from ..models.market_session_bars import MarketSessionBars
142
152
  from ..models.regular_session_closing_data import RegularSessionClosingData
143
153
 
@@ -222,6 +232,13 @@ class BarsResponse:
222
232
  _last_regular_trading_session_close
223
233
  )
224
234
 
235
+ _leading_fill = d.pop("leadingFill", UNSET)
236
+ leading_fill: LeadingFill | Unset
237
+ if isinstance(_leading_fill, Unset):
238
+ leading_fill = UNSET
239
+ else:
240
+ leading_fill = LeadingFill.from_dict(_leading_fill)
241
+
225
242
  bars_response = cls(
226
243
  symbol=symbol,
227
244
  period=period,
@@ -237,6 +254,7 @@ class BarsResponse:
237
254
  last_trading_session_close=last_trading_session_close,
238
255
  regular_session_closing_data=regular_session_closing_data,
239
256
  last_regular_trading_session_close=last_regular_trading_session_close,
257
+ leading_fill=leading_fill,
240
258
  )
241
259
 
242
260
  bars_response.additional_properties = d
@@ -0,0 +1,99 @@
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="LeadingFill")
10
+
11
+
12
+ @_attrs_define
13
+ class LeadingFill:
14
+ """
15
+ Attributes:
16
+ start_timestamp (str): ISO-8601 start of the requested (visible) period — where the flat fill begins.
17
+ end_timestamp (str): ISO-8601 timestamp of the first real data point — where the flat fill ends. Matches the
18
+ first bar's timestamp.
19
+ value (str): The value to draw the flat fill at (equal to the first real data point's value, so the fill meets
20
+ the series).
21
+ count (int): Number of leading grey bars to draw (same meaning for every timeframe). Index-based renderers use
22
+ this to reserve/offset the leading width.
23
+ included_in_total_expected_bars (bool): Whether `count` is already part of `totalExpectedBars`. false (non-DAY):
24
+ additive — prepend `count` grey bars in front of the real series (total slots = count + totalExpectedBars). true
25
+ (DAY): a subset of the fixed-session `totalExpectedBars` — the real bars start at index `count` (grey + real +
26
+ trailing-empty = totalExpectedBars).
27
+ """
28
+
29
+ start_timestamp: str
30
+ end_timestamp: str
31
+ value: str
32
+ count: int
33
+ included_in_total_expected_bars: bool
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ start_timestamp = self.start_timestamp
38
+
39
+ end_timestamp = self.end_timestamp
40
+
41
+ value = self.value
42
+
43
+ count = self.count
44
+
45
+ included_in_total_expected_bars = self.included_in_total_expected_bars
46
+
47
+ field_dict: dict[str, Any] = {}
48
+ field_dict.update(self.additional_properties)
49
+ field_dict.update(
50
+ {
51
+ "startTimestamp": start_timestamp,
52
+ "endTimestamp": end_timestamp,
53
+ "value": value,
54
+ "count": count,
55
+ "includedInTotalExpectedBars": included_in_total_expected_bars,
56
+ }
57
+ )
58
+
59
+ return field_dict
60
+
61
+ @classmethod
62
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
63
+ d = dict(src_dict)
64
+ start_timestamp = d.pop("startTimestamp")
65
+
66
+ end_timestamp = d.pop("endTimestamp")
67
+
68
+ value = d.pop("value")
69
+
70
+ count = d.pop("count")
71
+
72
+ included_in_total_expected_bars = d.pop("includedInTotalExpectedBars")
73
+
74
+ leading_fill = cls(
75
+ start_timestamp=start_timestamp,
76
+ end_timestamp=end_timestamp,
77
+ value=value,
78
+ count=count,
79
+ included_in_total_expected_bars=included_in_total_expected_bars,
80
+ )
81
+
82
+ leading_fill.additional_properties = d
83
+ return leading_fill
84
+
85
+ @property
86
+ def additional_keys(self) -> list[str]:
87
+ return list(self.additional_properties.keys())
88
+
89
+ def __getitem__(self, key: str) -> Any:
90
+ return self.additional_properties[key]
91
+
92
+ def __setitem__(self, key: str, value: Any) -> None:
93
+ self.additional_properties[key] = value
94
+
95
+ def __delitem__(self, key: str) -> None:
96
+ del self.additional_properties[key]
97
+
98
+ def __contains__(self, key: str) -> bool:
99
+ return key in self.additional_properties
@@ -1072,10 +1072,22 @@ def historicdata_bars(
1072
1072
  str | None,
1073
1073
  typer.Option("--purchase-date", help="Required when period is SINCE_PURCHASE. YYYY-MM-DD."),
1074
1074
  ] = None,
1075
+ ipo_date: Annotated[
1076
+ str | None,
1077
+ typer.Option(
1078
+ "--ipo-date",
1079
+ help=(
1080
+ "Optional IPO / first-trade date, YYYY-MM-DD. When the asset is younger "
1081
+ "than the requested period, the response uses a finer aggregation over "
1082
+ "post-IPO history and includes a leadingFill object describing the flat "
1083
+ "pre-IPO lead-in. Not applied to the DAY chart."
1084
+ ),
1085
+ ),
1086
+ ] = None,
1075
1087
  ) -> None:
1076
1088
  base = f"/userapigateway/historicdata/{security_type.upper()}/{symbol.upper()}/{period.upper()}"
1077
1089
  path = f"{base}/{aggregation.upper()}" if aggregation else base
1078
- result = _call(ctx, "GET", path, params={"purchaseDate": purchase_date})
1090
+ result = _call(ctx, "GET", path, params={"purchaseDate": purchase_date, "ipoDate": ipo_date})
1079
1091
  _print(ctx, result)
1080
1092
 
1081
1093
 
@@ -59,6 +59,13 @@ def test_order_replace_help_lists_quantity_and_amount() -> None:
59
59
  assert "--amount" in _plain(result.stdout)
60
60
 
61
61
 
62
+ def test_historicdata_bars_help_lists_ipo_date() -> None:
63
+ result = CliRunner().invoke(app, ["historicdata", "bars", "--help"])
64
+
65
+ assert result.exit_code == 0
66
+ assert "--ipo-date" in _plain(result.stdout)
67
+
68
+
62
69
  def test_order_replace_rejects_quantity_with_amount(tmp_path: Path) -> None:
63
70
  request = tmp_path / "replace.json"
64
71
  request.write_text("{}", encoding="utf-8")
@@ -0,0 +1,64 @@
1
+ from publicdotcom_cli._generated.models import (
2
+ BarsResponse,
3
+ ComHellopublicUserapigatewayApiRestOrderApiCancelReplaceOrderRequest as CancelReplaceOrderRequest,
4
+ LeadingFill,
5
+ )
6
+
7
+ REPLACE_REQUEST = {
8
+ "orderId": "0d2abd8d-3625-4c83-a806-98abf35567cc",
9
+ "requestId": "9b2f8a64-6f19-4c8e-9a5d-0e8b1c2d3e4f",
10
+ "orderType": "MARKET",
11
+ "expiration": {"timeInForce": "DAY"},
12
+ }
13
+
14
+
15
+ def test_cancel_replace_request_round_trips_amount() -> None:
16
+ request = CancelReplaceOrderRequest.from_dict({**REPLACE_REQUEST, "amount": "100.00"})
17
+
18
+ assert request.amount == "100.00"
19
+ assert request.to_dict()["amount"] == "100.00"
20
+ assert "quantity" not in request.to_dict()
21
+
22
+
23
+ def test_cancel_replace_request_round_trips_quantity() -> None:
24
+ request = CancelReplaceOrderRequest.from_dict({**REPLACE_REQUEST, "quantity": "5"})
25
+
26
+ assert request.quantity == "5"
27
+ assert request.to_dict()["quantity"] == "5"
28
+ assert "amount" not in request.to_dict()
29
+
30
+
31
+ BARS_RESPONSE = {
32
+ "symbol": "RDDT",
33
+ "period": "FIVE_YEARS",
34
+ "totalExpectedBars": 260,
35
+ "preMarket": {"expectedBars": 0, "bars": []},
36
+ "regularMarket": {"expectedBars": 260, "bars": []},
37
+ "afterMarket": {"expectedBars": 0, "bars": []},
38
+ }
39
+
40
+ LEADING_FILL = {
41
+ "startTimestamp": "2021-08-11T13:30:00Z",
42
+ "endTimestamp": "2024-03-21T13:30:00Z",
43
+ "value": "50.44",
44
+ "count": 135,
45
+ "includedInTotalExpectedBars": False,
46
+ }
47
+
48
+
49
+ def test_bars_response_round_trips_leading_fill() -> None:
50
+ response = BarsResponse.from_dict({**BARS_RESPONSE, "leadingFill": LEADING_FILL})
51
+
52
+ assert isinstance(response.leading_fill, LeadingFill)
53
+ assert response.leading_fill.start_timestamp == "2021-08-11T13:30:00Z"
54
+ assert response.leading_fill.end_timestamp == "2024-03-21T13:30:00Z"
55
+ assert response.leading_fill.value == "50.44"
56
+ assert response.leading_fill.count == 135
57
+ assert response.leading_fill.included_in_total_expected_bars is False
58
+ assert response.to_dict()["leadingFill"] == LEADING_FILL
59
+
60
+
61
+ def test_bars_response_omits_leading_fill_when_absent() -> None:
62
+ response = BarsResponse.from_dict(BARS_RESPONSE)
63
+
64
+ assert "leadingFill" not in response.to_dict()
@@ -376,7 +376,7 @@ wheels = [
376
376
 
377
377
  [[package]]
378
378
  name = "publicdotcom-cli"
379
- version = "1.3.2"
379
+ version = "1.3.3"
380
380
  source = { editable = "." }
381
381
  dependencies = [
382
382
  { name = "attrs" },
@@ -1,26 +0,0 @@
1
- from publicdotcom_cli._generated.models import (
2
- ComHellopublicUserapigatewayApiRestOrderApiCancelReplaceOrderRequest as CancelReplaceOrderRequest,
3
- )
4
-
5
- REPLACE_REQUEST = {
6
- "orderId": "0d2abd8d-3625-4c83-a806-98abf35567cc",
7
- "requestId": "9b2f8a64-6f19-4c8e-9a5d-0e8b1c2d3e4f",
8
- "orderType": "MARKET",
9
- "expiration": {"timeInForce": "DAY"},
10
- }
11
-
12
-
13
- def test_cancel_replace_request_round_trips_amount() -> None:
14
- request = CancelReplaceOrderRequest.from_dict({**REPLACE_REQUEST, "amount": "100.00"})
15
-
16
- assert request.amount == "100.00"
17
- assert request.to_dict()["amount"] == "100.00"
18
- assert "quantity" not in request.to_dict()
19
-
20
-
21
- def test_cancel_replace_request_round_trips_quantity() -> None:
22
- request = CancelReplaceOrderRequest.from_dict({**REPLACE_REQUEST, "quantity": "5"})
23
-
24
- assert request.quantity == "5"
25
- assert request.to_dict()["quantity"] == "5"
26
- assert "amount" not in request.to_dict()