finatic-server-python 0.9.10__tar.gz → 0.9.14__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.
- finatic_server_python-0.9.14/.flake8 +15 -0
- finatic_server_python-0.9.14/.github/CONTRIBUTING.md +34 -0
- finatic_server_python-0.9.14/.github/workflows/ci.yml +40 -0
- finatic_server_python-0.9.14/.github/workflows/release.yml +155 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/.gitignore +1 -0
- finatic_server_python-0.9.14/CHANGELOG.md +10 -0
- finatic_server_python-0.9.14/PKG-INFO +102 -0
- finatic_server_python-0.9.14/README.md +55 -0
- finatic_server_python-0.9.14/docs/README.md +23 -0
- finatic_server_python-0.9.14/docs/architecture-and-runtime.md +25 -0
- finatic_server_python-0.9.14/finatic_server/__init__.py +30 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/finatic_server_python/__init__.py +2 -3
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/pyproject.toml +23 -20
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/quality_check.py +4 -3
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/src/.openapi-generator-ignore +3 -0
- finatic_server_python-0.9.14/src/FinaticServer.py +9 -0
- finatic_server_python-0.9.10/src/generated/FinaticServer.py → finatic_server_python-0.9.14/src/FinaticServerCore.py +1096 -761
- finatic_server_python-0.9.14/src/__init__.py +13 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/config.py +132 -56
- finatic_server_python-0.9.14/src/finatic_fdx_types.py +19 -0
- finatic_server_python-0.9.14/src/openapi/.openapi-generator-ignore +26 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/__init__.py +807 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/api/__init__.py +6 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/api/brokers_api.py +2470 -1813
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/api/company_api.py +41 -62
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/api/session_api.py +302 -333
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/api_client.py +139 -184
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/api_response.py +6 -5
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/configuration.py +116 -76
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/exceptions.py +26 -22
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/__init__.py +503 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/accountnumber.py +41 -20
- finatic_server_python-0.9.10/src/generated/models/strikeprice1.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/accountnumber1.py +51 -30
- finatic_server_python-0.9.10/src/generated/models/accountnumber1.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/accountnumber2.py +44 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/accounts.py +157 -88
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_crypto_limit_order_place_query_params.py +86 -51
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_crypto_market_order_place_query_params.py +75 -49
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_crypto_stop_limit_order_place_query_params.py +88 -52
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_equity_limit_order_place_query_params.py +144 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_equity_market_order_place_query_params.py +140 -73
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_equity_stop_limit_order_place_query_params.py +146 -75
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_equity_stop_order_place_query_params.py +144 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_equity_trailing_stop_order_place_query_params.py +144 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_option_limit_order_place_query_params.py +99 -59
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_option_market_order_place_query_params.py +95 -58
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_order_cancel_query_params.py +22 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/alpaca_order_place_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/availablebalance.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/availabletowithdraw.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/broker_data_account_type_enum.py +10 -10
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/broker_data_asset_type_enum.py +14 -14
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/broker_data_option_type_enum.py +9 -9
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/broker_data_order_side_enum.py +9 -9
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/broker_data_position_status_enum.py +10 -10
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/broker_info.py +196 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/buyingpower.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/cancel_order_api_beta_brokers_orders_order_id_delete_request.py +170 -50
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/cashbalance.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/currentbalance.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/day_tif.py +23 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/disconnect_company_from_broker_connection_result.py +58 -23
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/etoro_order_cancel_query_params.py +137 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/etoro_order_cancel_request.py +118 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/etoro_order_place_query_params.py +185 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/etoro_order_place_request.py +118 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_api_error_response.py +36 -26
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_broker_factory_core_standard_models_abstract_responses_finatic_response_portal_url_response2.py +60 -34
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_broker_factory_core_standard_models_abstract_responses_finatic_response_session_response_data2.py +60 -34
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_broker_factory_core_standard_models_abstract_responses_finatic_response_session_user_response2.py +60 -34
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_broker_factory_core_standard_models_abstract_responses_finatic_response_token_response_data2.py +60 -34
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_accounts.py +55 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_disconnect_company_from_broker_connection_result.py +61 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_broker_info.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_order.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_order_event.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_order_fill.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_order_group.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_position.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_position_lot.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_position_lot_fill.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_fdx_broker_transaction.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_legacy_broker_account.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_legacy_broker_balance.py +57 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_list_user_broker_connection_with_permissions.py +59 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/finatic_response_order_action_result.py +57 -33
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/finatic_response_portal_url_response.py +149 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/finatic_response_session_response_data.py +149 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/finatic_response_session_user_response.py +149 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/finatic_response_token_response_data.py +149 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/foktif.py +23 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/gtctif.py +23 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/gtdtif.py +29 -26
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/http_validation_error.py +32 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/initialmargin.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ioctif.py +23 -23
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/legacy_broker_account.py +348 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/legacy_broker_balance.py +401 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/location_inner.py +41 -20
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/maintenancemargin.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/netliquidationvalue.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_future_limit_order_place_query_params.py +93 -53
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_future_market_order_place_query_params.py +91 -52
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_future_stop_limit_order_place_query_params.py +95 -54
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_future_stop_order_place_query_params.py +93 -53
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_future_trailing_stop_order_place_query_params.py +105 -59
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_order_cancel_query_params.py +65 -38
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_order_modify_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/ninja_trader_order_place_request.py +38 -28
- finatic_server_python-0.9.10/src/generated/models/notional2.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/notional.py +46 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/notional1.py +43 -21
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order.py +68 -32
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order1.py +321 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order2.py +178 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order2_any_of.py +317 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order2_any_of1.py +317 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order2_any_of2.py +317 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order3.py +70 -32
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order3_one_of.py +286 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order3_one_of1.py +286 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order4.py +80 -36
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order4_one_of.py +321 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order4_one_of1.py +321 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order4_one_of2.py +321 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order5.py +131 -44
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order6.py +67 -31
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order6_one_of.py +315 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order6_one_of1.py +115 -40
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order7.py +131 -44
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order_action_result.py +29 -25
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order_modify_query_params_base.py +108 -54
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order_modify_query_params_base_time_in_force.py +68 -32
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order_one_of.py +315 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order_one_of1.py +99 -36
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/order_one_of2.py +251 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/order_request.py +108 -38
- finatic_server_python-0.9.10/src/generated/models/averagesellprice.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/orderqty.py +52 -37
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/orderqty1.py +160 -0
- finatic_server_python-0.9.10/src/generated/models/averagefillprice.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/orderqty2.py +52 -37
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/orderqty3.py +160 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/orderqty4.py +160 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/pendingbalance.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/place_order_api_beta_brokers_orders_post_request.py +164 -48
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/portal_url_response.py +21 -21
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_crypto_limit_order_place_query_params.py +93 -48
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_crypto_market_order_place_query_params.py +81 -45
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_crypto_stop_limit_order_place_query_params.py +95 -49
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_crypto_stop_order_place_query_params.py +93 -48
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_crypto_trailing_stop_order_place_query_params.py +105 -54
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/robinhood_equity_limit_order_place_query_params.py +212 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/robinhood_equity_market_order_place_query_params.py +207 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/robinhood_equity_stop_limit_order_place_query_params.py +212 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/robinhood_equity_stop_order_place_query_params.py +212 -0
- finatic_server_python-0.9.14/src/openapi/finatic_server/models/robinhood_equity_trailing_stop_order_place_query_params.py +232 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_limit_order_place_query_params.py +136 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_market_order_place_query_params.py +134 -73
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_spread_leg.py +59 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_stop_limit_order_place_query_params.py +138 -75
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_stop_order_place_query_params.py +136 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_option_trailing_stop_order_place_query_params.py +148 -80
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_order_cancel_query_params.py +39 -26
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_order_modify_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/robinhood_order_place_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/session_response_data.py +64 -31
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/session_start_request.py +26 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/session_status.py +12 -12
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/session_user_response.py +21 -21
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/strikeprice.py +44 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_accounts.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_disconnect_company_from_broker_connection_result.py +44 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_broker_info.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_order.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_order_event.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_order_fill.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_order_group.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_position.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_position_lot.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_position_lot_fill.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_fdx_broker_transaction.py +31 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_legacy_broker_account.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_legacy_broker_balance.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_list_user_broker_connection_with_permissions.py +47 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_order_action_result.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_portal_url_response.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_session_response_data.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_session_user_response.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/success_payload_token_response_data.py +42 -29
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_equity_limit_order_place_query_params.py +109 -62
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_equity_market_order_place_query_params.py +105 -61
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_equity_stop_order_place_query_params.py +109 -62
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_equity_trailing_stop_order_place_query_params.py +121 -68
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_option_limit_order_place_query_params.py +140 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_option_market_order_place_query_params.py +138 -73
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_option_stop_order_place_query_params.py +140 -74
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_option_trailing_stop_order_place_query_params.py +152 -80
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_order_cancel_query_params.py +36 -26
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_order_modify_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tasty_trade_order_place_request.py +38 -28
- finatic_server_python-0.9.10/src/generated/models/timeinforce1.py → finatic_server_python-0.9.14/src/openapi/finatic_server/models/timeinforce.py +65 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/token_response_data.py +27 -23
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/totalcashvalue.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/totalrealizedpnl.py +43 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_equity_limit_order_place_query_params.py +76 -45
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_equity_market_order_place_query_params.py +65 -43
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_equity_stop_limit_order_place_query_params.py +78 -46
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_equity_stop_order_place_query_params.py +76 -45
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_equity_trailing_stop_order_place_query_params.py +88 -51
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_future_limit_order_place_query_params.py +83 -48
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_future_market_order_place_query_params.py +72 -46
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_future_stop_limit_order_place_query_params.py +85 -49
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_future_stop_order_place_query_params.py +83 -48
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_future_trailing_stop_order_place_query_params.py +95 -54
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_option_limit_order_place_query_params.py +100 -55
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_option_market_order_place_query_params.py +89 -53
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_option_stop_limit_order_place_query_params.py +102 -56
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_option_stop_order_place_query_params.py +100 -55
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_option_trailing_stop_order_place_query_params.py +112 -61
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_order_cancel_query_params.py +22 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/tradestation_order_place_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_limit_order_place_query_params.py +99 -45
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_market_order_place_query_params.py +95 -44
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_order_cancel_query_params.py +24 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_order_modify_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_order_place_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_stop_limit_order_place_query_params.py +101 -46
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trading212_stop_order_place_query_params.py +99 -45
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trail_percent.py +42 -20
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/trail_price.py +42 -20
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/user_broker_connection_with_permissions.py +100 -39
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/validation_error.py +37 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_equity_limit_order_place_query_params.py +112 -55
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_equity_market_order_place_query_params.py +108 -54
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_equity_stop_limit_order_place_query_params.py +114 -56
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_equity_stop_order_place_query_params.py +112 -55
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_equity_trailing_stop_order_place_query_params.py +124 -61
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_limit_order_modify_query_params.py +99 -50
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_market_order_modify_query_params.py +100 -51
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_option_limit_order_place_query_params.py +114 -62
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_option_market_order_place_query_params.py +103 -60
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_option_stop_order_place_query_params.py +114 -62
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_order_cancel_query_params.py +22 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_order_cancel_request.py +40 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_order_modify_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_order_place_request.py +38 -28
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_stop_order_modify_query_params.py +96 -49
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/models/webull_trailing_stop_order_modify_query_params.py +96 -49
- finatic_server_python-0.9.14/src/openapi/finatic_server/py.typed +0 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src/openapi/finatic_server}/rest.py +26 -42
- finatic_server_python-0.9.14/src/openapi/path_bootstrap.py +16 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/types.py +4 -5
- finatic_server_python-0.9.14/src/utils/__init__.py +52 -0
- finatic_server_python-0.9.14/src/utils/cache.py +75 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/enum_coercion.py +17 -21
- finatic_server_python-0.9.14/src/utils/error_handling.py +131 -0
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/interceptors.py +49 -36
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/logger.py +29 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/pagination.py +40 -33
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/plain_object.py +31 -22
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/request_id.py +1 -2
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/retry.py +37 -24
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/url_utils.py +47 -35
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/utils/validation.py +15 -13
- {finatic_server_python-0.9.10/src/generated → finatic_server_python-0.9.14/src}/wrappers/__init__.py +1 -5
- finatic_server_python-0.9.14/src/wrappers/brokers.py +6420 -0
- finatic_server_python-0.9.14/src/wrappers/company.py +394 -0
- finatic_server_python-0.9.14/src/wrappers/session.py +1419 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/conftest.py +4 -4
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_brokers.py +4 -2
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_company.py +4 -2
- finatic_server_python-0.9.14/tests/unit/test_contract_surface.py +36 -0
- finatic_server_python-0.9.14/tests/unit/test_custom_extensions.py +24 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_generated_api_smoke.py +31 -17
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_generated_model_imports.py +5 -3
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_generated_sdk_smoke.py +4 -2
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_generated_utils_coverage.py +20 -9
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_generated_wrapper_smoke.py +3 -3
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_session.py +4 -2
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/uv.lock +52 -2
- finatic_server_python-0.9.10/CHANGELOG.md +0 -28
- finatic_server_python-0.9.10/PKG-INFO +0 -356
- finatic_server_python-0.9.10/README.md +0 -310
- finatic_server_python-0.9.10/coverage.xml +0 -27832
- finatic_server_python-0.9.10/demo-app/README.md +0 -115
- finatic_server_python-0.9.10/demo-app/demo_cli.py +0 -172
- finatic_server_python-0.9.10/demo-app/env.example +0 -6
- finatic_server_python-0.9.10/demo-app/pyproject.toml +0 -122
- finatic_server_python-0.9.10/demo-app/uv.lock +0 -3249
- finatic_server_python-0.9.10/src/__init__.py +0 -22
- finatic_server_python-0.9.10/src/custom/FinaticServer.py +0 -31
- finatic_server_python-0.9.10/src/custom/__init__.py +0 -15
- finatic_server_python-0.9.10/src/custom/wrappers/brokers.py +0 -21
- finatic_server_python-0.9.10/src/custom/wrappers/company.py +0 -19
- finatic_server_python-0.9.10/src/custom/wrappers/session.py +0 -23
- finatic_server_python-0.9.10/src/generated/__init__.py +0 -614
- finatic_server_python-0.9.10/src/generated/api/__init__.py +0 -7
- finatic_server_python-0.9.10/src/generated/models/__init__.py +0 -297
- finatic_server_python-0.9.10/src/generated/models/_ninja_trader_order_modify_request.py +0 -3
- finatic_server_python-0.9.10/src/generated/models/assettype.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/averagebuyprice.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/broker_info.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/closedquantity.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/closepriceavg.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/commission.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/commission1.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/commissionshare.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/costbasis.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/costbasis1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/costbasiswithcommission.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/costbasiswithcommission1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/currentprice.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/eventtype.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/fdx_asset_type.py +0 -41
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_order.py +0 -242
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_order_event.py +0 -206
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_order_fill.py +0 -185
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_order_group.py +0 -161
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_position.py +0 -340
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_position_lot.py +0 -230
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_position_lot_fill.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/fdx_broker_transaction.py +0 -159
- finatic_server_python-0.9.10/src/generated/models/fdx_order_class.py +0 -41
- finatic_server_python-0.9.10/src/generated/models/fdx_order_event_type.py +0 -53
- finatic_server_python-0.9.10/src/generated/models/fdx_order_group_order.py +0 -133
- finatic_server_python-0.9.10/src/generated/models/fdx_order_group_type.py +0 -40
- finatic_server_python-0.9.10/src/generated/models/fdx_order_leg.py +0 -264
- finatic_server_python-0.9.10/src/generated/models/fdx_order_side.py +0 -37
- finatic_server_python-0.9.10/src/generated/models/fdx_order_status.py +0 -45
- finatic_server_python-0.9.10/src/generated/models/fdx_order_type.py +0 -40
- finatic_server_python-0.9.10/src/generated/models/fdx_position_side.py +0 -37
- finatic_server_python-0.9.10/src/generated/models/fdx_position_status.py +0 -37
- finatic_server_python-0.9.10/src/generated/models/fdx_security_id_type.py +0 -39
- finatic_server_python-0.9.10/src/generated/models/fdx_time_in_force.py +0 -40
- finatic_server_python-0.9.10/src/generated/models/filledquantity.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/fillprice.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/fillquantity.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/futureunderlyingassettype.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/grouptype.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/legacy_broker_account.py +0 -250
- finatic_server_python-0.9.10/src/generated/models/legacy_broker_balance.py +0 -273
- finatic_server_python-0.9.10/src/generated/models/limitprice.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/marketvalue.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/notional.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/openprice.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/openquantity.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/order1.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order2.py +0 -199
- finatic_server_python-0.9.10/src/generated/models/order2_one_of.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order2_one_of1.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order2_one_of2.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order3_one_of.py +0 -193
- finatic_server_python-0.9.10/src/generated/models/order3_one_of1.py +0 -193
- finatic_server_python-0.9.10/src/generated/models/order4_one_of.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order4_one_of1.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order4_one_of2.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order6_one_of.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order_one_of.py +0 -212
- finatic_server_python-0.9.10/src/generated/models/order_one_of2.py +0 -174
- finatic_server_python-0.9.10/src/generated/models/orderclass.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/orderstatus.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/ordertype.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/previousstatus.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/price.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/quantity.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/quantity1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/quantity2.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/realizedprofitloss.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/realizedprofitloss1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/realizedprofitlosspercent.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/realizedprofitlosswithcommission.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/realizedprofitlosswithcommission1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/remainingquantity.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/remainingquantity1.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/robinhood_equity_limit_order_place_query_params.py +0 -155
- finatic_server_python-0.9.10/src/generated/models/robinhood_equity_market_order_place_query_params.py +0 -153
- finatic_server_python-0.9.10/src/generated/models/robinhood_equity_stop_limit_order_place_query_params.py +0 -157
- finatic_server_python-0.9.10/src/generated/models/robinhood_equity_stop_order_place_query_params.py +0 -155
- finatic_server_python-0.9.10/src/generated/models/robinhood_equity_trailing_stop_order_place_query_params.py +0 -169
- finatic_server_python-0.9.10/src/generated/models/securityidtype.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/side.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/side1.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/side2.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/side3.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/status.py +0 -136
- finatic_server_python-0.9.10/src/generated/models/status1.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/stopprice.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/timeinforce.py +0 -142
- finatic_server_python-0.9.10/src/generated/models/transactionamount.py +0 -139
- finatic_server_python-0.9.10/src/generated/models/units.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/unrealizedprofitloss.py +0 -145
- finatic_server_python-0.9.10/src/generated/models/unrealizedprofitlosspercent.py +0 -145
- finatic_server_python-0.9.10/src/generated/utils/__init__.py +0 -48
- finatic_server_python-0.9.10/src/generated/utils/cache.py +0 -72
- finatic_server_python-0.9.10/src/generated/utils/error_handling.py +0 -129
- finatic_server_python-0.9.10/src/generated/wrappers/brokers.py +0 -4529
- finatic_server_python-0.9.10/src/generated/wrappers/company.py +0 -297
- finatic_server_python-0.9.10/src/generated/wrappers/session.py +0 -1020
- finatic_server_python-0.9.10/tests/unit/test_contract_surface.py +0 -14
- finatic_server_python-0.9.10/tests/unit/test_custom_extensions.py +0 -32
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/.editorconfig +0 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/LICENSE +0 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/pytest.ini +0 -0
- {finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/tests/unit/test_market_data.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[flake8]
|
|
2
|
+
max-line-length = 88
|
|
3
|
+
extend-ignore = E203,E266,E501,W503
|
|
4
|
+
exclude =
|
|
5
|
+
.git,
|
|
6
|
+
__pycache__,
|
|
7
|
+
build,
|
|
8
|
+
dist,
|
|
9
|
+
*.egg-info,
|
|
10
|
+
.venv,
|
|
11
|
+
venv,
|
|
12
|
+
src/openapi/finatic_server
|
|
13
|
+
per-file-ignores =
|
|
14
|
+
finatic_server_python/__init__.py:E402,F401,F403
|
|
15
|
+
src/__init__.py:F401,F403
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Contributing (Issue Hygiene)
|
|
2
|
+
|
|
3
|
+
Use GitHub Issue Forms for all new work so planning stays consistent across repositories.
|
|
4
|
+
|
|
5
|
+
## Which template to use
|
|
6
|
+
- **Bug**: broken behavior, regressions, production defects
|
|
7
|
+
- **Task**: implementation/refactor/cleanup/operations work
|
|
8
|
+
- **Feature**: net-new product capability or enhancement
|
|
9
|
+
|
|
10
|
+
## Required planning fields
|
|
11
|
+
Every issue should include:
|
|
12
|
+
- Problem / Why
|
|
13
|
+
- Scope and Out of Scope
|
|
14
|
+
- Priority (`P0`-`P3`)
|
|
15
|
+
- Size (`XS/S/M/L/XL`)
|
|
16
|
+
- Estimate (days)
|
|
17
|
+
- Acceptance Criteria (checkboxes)
|
|
18
|
+
- Dependencies / Blockers
|
|
19
|
+
- Verification Plan
|
|
20
|
+
|
|
21
|
+
## Sizing standard
|
|
22
|
+
- `XS`: < 1 day
|
|
23
|
+
- `S`: 1-2 days
|
|
24
|
+
- `M`: 3-4 days
|
|
25
|
+
- `L`: 5-6 days
|
|
26
|
+
- `XL`: 7+ days
|
|
27
|
+
|
|
28
|
+
## Status flow (project board)
|
|
29
|
+
`Freezer` -> `Backlog` -> `Ready` -> `In Progress` -> `In Review` -> `Complete`
|
|
30
|
+
|
|
31
|
+
## Linking related work
|
|
32
|
+
- Add a **Related Issues** section with direct links to dependent/coupled tasks.
|
|
33
|
+
- Add a **Subtasks** checklist for child tasks when work can be split.
|
|
34
|
+
- Keep relationships current as issues move across statuses.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, develop, staging]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, develop, staging]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
quality:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.11", "3.12"]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- uses: actions/setup-python@v5
|
|
21
|
+
with:
|
|
22
|
+
python-version: ${{ matrix.python-version }}
|
|
23
|
+
|
|
24
|
+
- uses: astral-sh/setup-uv@v7
|
|
25
|
+
with:
|
|
26
|
+
enable-cache: true
|
|
27
|
+
|
|
28
|
+
- name: Install package with dev dependencies
|
|
29
|
+
run: |
|
|
30
|
+
uv venv
|
|
31
|
+
uv pip install -e ".[dev]"
|
|
32
|
+
|
|
33
|
+
- name: Compile package
|
|
34
|
+
run: uv run python -m compileall finatic_server_python src tests
|
|
35
|
+
|
|
36
|
+
- name: Run tests
|
|
37
|
+
run: uv run pytest -q
|
|
38
|
+
|
|
39
|
+
- name: Build package
|
|
40
|
+
run: uv run python -m build
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
dry_run:
|
|
9
|
+
description: "Build artifacts without publishing to PyPI"
|
|
10
|
+
required: true
|
|
11
|
+
default: "true"
|
|
12
|
+
type: choice
|
|
13
|
+
options: ["true", "false"]
|
|
14
|
+
version:
|
|
15
|
+
description: "Optional release version. Defaults to the next patch version."
|
|
16
|
+
required: false
|
|
17
|
+
type: string
|
|
18
|
+
publish_repository:
|
|
19
|
+
description: "Publish target for non-dry-run manual releases"
|
|
20
|
+
required: true
|
|
21
|
+
default: "pypi"
|
|
22
|
+
type: choice
|
|
23
|
+
options: ["pypi", "testpypi"]
|
|
24
|
+
|
|
25
|
+
permissions:
|
|
26
|
+
contents: write
|
|
27
|
+
id-token: write
|
|
28
|
+
|
|
29
|
+
jobs:
|
|
30
|
+
release:
|
|
31
|
+
if: github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore(release):')
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v4
|
|
36
|
+
with:
|
|
37
|
+
fetch-depth: 0
|
|
38
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
39
|
+
|
|
40
|
+
- uses: actions/setup-python@v5
|
|
41
|
+
with:
|
|
42
|
+
python-version: "3.12"
|
|
43
|
+
|
|
44
|
+
- uses: astral-sh/setup-uv@v7
|
|
45
|
+
with:
|
|
46
|
+
enable-cache: true
|
|
47
|
+
|
|
48
|
+
- name: Install build dependencies
|
|
49
|
+
run: |
|
|
50
|
+
uv venv
|
|
51
|
+
uv pip install -e ".[dev]"
|
|
52
|
+
|
|
53
|
+
- name: Resolve release mode
|
|
54
|
+
id: mode
|
|
55
|
+
shell: bash
|
|
56
|
+
run: |
|
|
57
|
+
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
|
58
|
+
echo "dry_run=${{ inputs.dry_run }}" >> "$GITHUB_OUTPUT"
|
|
59
|
+
echo "repository=${{ inputs.publish_repository }}" >> "$GITHUB_OUTPUT"
|
|
60
|
+
else
|
|
61
|
+
echo "dry_run=false" >> "$GITHUB_OUTPUT"
|
|
62
|
+
echo "repository=pypi" >> "$GITHUB_OUTPUT"
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
- name: Guard publish ref
|
|
66
|
+
shell: bash
|
|
67
|
+
run: |
|
|
68
|
+
if [[ "${{ steps.mode.outputs.dry_run }}" != "true" && "$GITHUB_REF" != "refs/heads/main" ]]; then
|
|
69
|
+
echo "::error::Non-dry-run releases must run from refs/heads/main."
|
|
70
|
+
exit 1
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
- name: Prepare release version
|
|
74
|
+
id: version
|
|
75
|
+
shell: python
|
|
76
|
+
env:
|
|
77
|
+
REQUESTED_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.version || '' }}
|
|
78
|
+
DRY_RUN: ${{ steps.mode.outputs.dry_run }}
|
|
79
|
+
run: |
|
|
80
|
+
from pathlib import Path
|
|
81
|
+
import os
|
|
82
|
+
import re
|
|
83
|
+
|
|
84
|
+
pyproject = Path("pyproject.toml")
|
|
85
|
+
text = pyproject.read_text()
|
|
86
|
+
match = re.search(r'^version = "([^"]+)"$', text, flags=re.MULTILINE)
|
|
87
|
+
if not match:
|
|
88
|
+
raise SystemExit("Could not find project version in pyproject.toml")
|
|
89
|
+
|
|
90
|
+
current = match.group(1)
|
|
91
|
+
requested = os.environ["REQUESTED_VERSION"].strip()
|
|
92
|
+
if requested:
|
|
93
|
+
next_version = requested
|
|
94
|
+
else:
|
|
95
|
+
parts = current.split(".")
|
|
96
|
+
if len(parts) != 3 or not all(part.isdigit() for part in parts):
|
|
97
|
+
raise SystemExit(f"Cannot auto-bump non-semver version: {current}")
|
|
98
|
+
major, minor, patch = map(int, parts)
|
|
99
|
+
next_version = f"{major}.{minor}.{patch + 1}"
|
|
100
|
+
|
|
101
|
+
if os.environ["DRY_RUN"] != "true":
|
|
102
|
+
pyproject.write_text(
|
|
103
|
+
text[: match.start(1)] + next_version + text[match.end(1) :]
|
|
104
|
+
)
|
|
105
|
+
changelog = Path("CHANGELOG.md")
|
|
106
|
+
existing = changelog.read_text() if changelog.exists() else "# Changelog\n\n"
|
|
107
|
+
entry = (
|
|
108
|
+
f"## {next_version}\n\n"
|
|
109
|
+
f"- Release from {os.environ.get('GITHUB_SHA', 'unknown commit')}.\n\n"
|
|
110
|
+
)
|
|
111
|
+
if f"## {next_version}" not in existing:
|
|
112
|
+
if existing.startswith("# Changelog\n\n"):
|
|
113
|
+
existing = "# Changelog\n\n" + entry + existing[len("# Changelog\n\n") :]
|
|
114
|
+
else:
|
|
115
|
+
existing = "# Changelog\n\n" + entry + existing
|
|
116
|
+
changelog.write_text(existing)
|
|
117
|
+
|
|
118
|
+
with open(os.environ["GITHUB_OUTPUT"], "a") as output:
|
|
119
|
+
output.write(f"version={next_version}\n")
|
|
120
|
+
output.write(f"tag=v{next_version}\n")
|
|
121
|
+
|
|
122
|
+
- name: Run quality gate
|
|
123
|
+
run: |
|
|
124
|
+
uv run python -m compileall finatic_server_python src tests
|
|
125
|
+
uv run pytest -q
|
|
126
|
+
|
|
127
|
+
- name: Build wheel and sdist
|
|
128
|
+
run: uv run python -m build
|
|
129
|
+
|
|
130
|
+
- name: Upload release artifacts
|
|
131
|
+
uses: actions/upload-artifact@v4
|
|
132
|
+
with:
|
|
133
|
+
name: finatic-server-python-${{ steps.version.outputs.version }}
|
|
134
|
+
path: dist/*
|
|
135
|
+
|
|
136
|
+
- name: Commit version bump and tag
|
|
137
|
+
if: steps.mode.outputs.dry_run != 'true'
|
|
138
|
+
shell: bash
|
|
139
|
+
run: |
|
|
140
|
+
git config user.name "github-actions[bot]"
|
|
141
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
142
|
+
git add pyproject.toml CHANGELOG.md
|
|
143
|
+
git commit -m "chore(release): v${{ steps.version.outputs.version }}"
|
|
144
|
+
git tag "${{ steps.version.outputs.tag }}"
|
|
145
|
+
git push origin HEAD:main --follow-tags
|
|
146
|
+
|
|
147
|
+
- name: Publish to TestPyPI
|
|
148
|
+
if: steps.mode.outputs.dry_run != 'true' && steps.mode.outputs.repository == 'testpypi'
|
|
149
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
150
|
+
with:
|
|
151
|
+
repository-url: https://test.pypi.org/legacy/
|
|
152
|
+
|
|
153
|
+
- name: Publish to PyPI
|
|
154
|
+
if: steps.mode.outputs.dry_run != 'true' && steps.mode.outputs.repository == 'pypi'
|
|
155
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: finatic-server-python
|
|
3
|
+
Version: 0.9.14
|
|
4
|
+
Summary: Python SDK for Finatic Server API
|
|
5
|
+
Project-URL: Homepage, https://github.com/FinaticORG/FinaticServerSDK-Python
|
|
6
|
+
Project-URL: Documentation, https://docs.finatic.com/python
|
|
7
|
+
Project-URL: Repository, https://github.com/FinaticORG/FinaticServerSDK-Python
|
|
8
|
+
Project-URL: Issues, https://github.com/FinaticORG/FinaticServerSDK-Python/issues
|
|
9
|
+
Author-email: Finatic <support@finatic.dev>
|
|
10
|
+
License: PROPRIETARY
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: api,finance,finatic,sdk,trading
|
|
13
|
+
Classifier: Development Status :: 3 - Alpha
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: Other/Proprietary License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Topic :: Office/Business :: Financial
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Requires-Dist: aiohttp-retry>=2.9.1
|
|
26
|
+
Requires-Dist: aiohttp>=3.13.2
|
|
27
|
+
Requires-Dist: cachetools>=6.2.2
|
|
28
|
+
Requires-Dist: pydantic>=2.12.5
|
|
29
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
30
|
+
Requires-Dist: structlog>=25.5.0
|
|
31
|
+
Requires-Dist: tenacity>=9.1.2
|
|
32
|
+
Requires-Dist: typing-extensions>=4.15.0
|
|
33
|
+
Requires-Dist: urllib3>=2.6.1
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: build>=1.2.2; extra == 'dev'
|
|
37
|
+
Requires-Dist: flake8>=6.0.0; extra == 'dev'
|
|
38
|
+
Requires-Dist: isort>=5.12.0; extra == 'dev'
|
|
39
|
+
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
|
|
41
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: types-cachetools>=5.3.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: types-python-dateutil>=2.8.0; extra == 'dev'
|
|
46
|
+
Description-Content-Type: text/markdown
|
|
47
|
+
|
|
48
|
+
# Finatic Server SDK (Python)
|
|
49
|
+
|
|
50
|
+
Python SDK for server-side Finatic integrations.
|
|
51
|
+
|
|
52
|
+
Use this package to authenticate with Finatic from Python services, generate client tokens, and retrieve standardized broker-domain data.
|
|
53
|
+
|
|
54
|
+
## Install
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pip install finatic-server-python
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Quick Start
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
from finatic_server_python import FinaticServer
|
|
64
|
+
|
|
65
|
+
finatic = await FinaticServer.init(api_key="your-api-key")
|
|
66
|
+
token = await finatic.get_token()
|
|
67
|
+
positions = await finatic.get_all_positions()
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Common Commands
|
|
71
|
+
|
|
72
|
+
| Task | Command |
|
|
73
|
+
|---|---|
|
|
74
|
+
| Install in editable mode | `uv pip install -e .` |
|
|
75
|
+
| Run tests | `pytest` |
|
|
76
|
+
| Build package | `python -m build` |
|
|
77
|
+
| Lint | `ruff check .` |
|
|
78
|
+
| Format | `ruff format .` |
|
|
79
|
+
|
|
80
|
+
## Core Capabilities
|
|
81
|
+
|
|
82
|
+
- API-key initialization and session management.
|
|
83
|
+
- Portal URL generation for end-user authentication.
|
|
84
|
+
- One-time token generation for client SDK sessions.
|
|
85
|
+
- Typed access to orders, positions, accounts, and balances.
|
|
86
|
+
- Consistent response/error structures across endpoints.
|
|
87
|
+
|
|
88
|
+
## Documentation
|
|
89
|
+
|
|
90
|
+
- Product docs: [https://finatic.dev/docs](https://finatic.dev/docs)
|
|
91
|
+
- API reference: [https://finatic.dev/docs/api-reference](https://finatic.dev/docs/api-reference)
|
|
92
|
+
- LLM context doc: [https://finatic.dev/llms.txt](https://finatic.dev/llms.txt)
|
|
93
|
+
|
|
94
|
+
## Using Finatic with AI
|
|
95
|
+
|
|
96
|
+
Use this SDK in Python AI/data systems to:
|
|
97
|
+
|
|
98
|
+
- query balances, positions, and orders across connected brokers
|
|
99
|
+
- normalize broker interactions behind one SDK surface
|
|
100
|
+
- feed structured brokerage data into analytics or model workflows
|
|
101
|
+
|
|
102
|
+
MCP support is coming soon.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Finatic Server SDK (Python)
|
|
2
|
+
|
|
3
|
+
Python SDK for server-side Finatic integrations.
|
|
4
|
+
|
|
5
|
+
Use this package to authenticate with Finatic from Python services, generate client tokens, and retrieve standardized broker-domain data.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install finatic-server-python
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
from finatic_server_python import FinaticServer
|
|
17
|
+
|
|
18
|
+
finatic = await FinaticServer.init(api_key="your-api-key")
|
|
19
|
+
token = await finatic.get_token()
|
|
20
|
+
positions = await finatic.get_all_positions()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Common Commands
|
|
24
|
+
|
|
25
|
+
| Task | Command |
|
|
26
|
+
|---|---|
|
|
27
|
+
| Install in editable mode | `uv pip install -e .` |
|
|
28
|
+
| Run tests | `pytest` |
|
|
29
|
+
| Build package | `python -m build` |
|
|
30
|
+
| Lint | `ruff check .` |
|
|
31
|
+
| Format | `ruff format .` |
|
|
32
|
+
|
|
33
|
+
## Core Capabilities
|
|
34
|
+
|
|
35
|
+
- API-key initialization and session management.
|
|
36
|
+
- Portal URL generation for end-user authentication.
|
|
37
|
+
- One-time token generation for client SDK sessions.
|
|
38
|
+
- Typed access to orders, positions, accounts, and balances.
|
|
39
|
+
- Consistent response/error structures across endpoints.
|
|
40
|
+
|
|
41
|
+
## Documentation
|
|
42
|
+
|
|
43
|
+
- Product docs: [https://finatic.dev/docs](https://finatic.dev/docs)
|
|
44
|
+
- API reference: [https://finatic.dev/docs/api-reference](https://finatic.dev/docs/api-reference)
|
|
45
|
+
- LLM context doc: [https://finatic.dev/llms.txt](https://finatic.dev/llms.txt)
|
|
46
|
+
|
|
47
|
+
## Using Finatic with AI
|
|
48
|
+
|
|
49
|
+
Use this SDK in Python AI/data systems to:
|
|
50
|
+
|
|
51
|
+
- query balances, positions, and orders across connected brokers
|
|
52
|
+
- normalize broker interactions behind one SDK surface
|
|
53
|
+
- feed structured brokerage data into analytics or model workflows
|
|
54
|
+
|
|
55
|
+
MCP support is coming soon.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# FinaticServerSDK-Python Docs
|
|
2
|
+
|
|
3
|
+
Codebase-specific deep dives for Python server SDK behavior.
|
|
4
|
+
|
|
5
|
+
## What this package owns
|
|
6
|
+
|
|
7
|
+
- API-key based server initialization/session handling.
|
|
8
|
+
- One-time token generation for client-side handoffs.
|
|
9
|
+
- Typed Python methods for broker-domain resources.
|
|
10
|
+
|
|
11
|
+
## Runtime entrypoints
|
|
12
|
+
|
|
13
|
+
- Package source: `src` and `finatic_server_python`
|
|
14
|
+
- Public package docs: `README.md`
|
|
15
|
+
|
|
16
|
+
## Related platform docs
|
|
17
|
+
|
|
18
|
+
- API docs: `/workspaces/Finatic/codebases/Backend/finaticAPI/docs/README.md`
|
|
19
|
+
- SDK API inventory: `/workspaces/Finatic/docs/sdk-public-api-inventory.md`
|
|
20
|
+
|
|
21
|
+
## Deep Dive
|
|
22
|
+
|
|
23
|
+
- [Architecture and runtime](architecture-and-runtime.md)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# FinaticServerSDK-Python Architecture and Runtime
|
|
2
|
+
|
|
3
|
+
## Package Role
|
|
4
|
+
|
|
5
|
+
`FinaticServerSDK-Python` provides server-side Python integration with API-key/session flows and broker-domain operations.
|
|
6
|
+
|
|
7
|
+
## Internal Structure
|
|
8
|
+
|
|
9
|
+
- **Public entrypoints**: `src/__init__.py`, `src/FinaticServer.py`
|
|
10
|
+
- **Core runtime**: `src/FinaticServerCore.py`
|
|
11
|
+
- **Generated API client**: `src/openapi/generated`
|
|
12
|
+
- **Domain wrappers**: `src/wrappers`
|
|
13
|
+
- **Cross-cutting utilities**: `src/utils`
|
|
14
|
+
|
|
15
|
+
## Runtime Flow (High Level)
|
|
16
|
+
|
|
17
|
+
1. SDK initializes with API key and runtime config.
|
|
18
|
+
2. Session and token methods establish API call context.
|
|
19
|
+
3. Wrapper methods perform domain operations via generated clients.
|
|
20
|
+
4. Utility layers handle retries, validation, and response normalization.
|
|
21
|
+
|
|
22
|
+
## Operational Boundaries
|
|
23
|
+
|
|
24
|
+
- Browser-focused portal UX ownership is outside this package.
|
|
25
|
+
- Backend service authority remains in `finaticAPI`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Compatibility package for the generated OpenAPI client.
|
|
2
|
+
|
|
3
|
+
The generated client lives under ``src/openapi/finatic_server`` so the SDK can
|
|
4
|
+
keep generated code separate from hand-written wrappers. This shim preserves the
|
|
5
|
+
direct ``finatic_server`` import path without packaging the generated files
|
|
6
|
+
twice in the wheel.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
_generated_package_directory = (
|
|
14
|
+
Path(__file__).resolve().parent.parent / "src" / "openapi" / "finatic_server"
|
|
15
|
+
)
|
|
16
|
+
_generated_package_path = str(_generated_package_directory)
|
|
17
|
+
_package_search_path = globals().setdefault("__path__", [])
|
|
18
|
+
|
|
19
|
+
if _generated_package_path not in _package_search_path:
|
|
20
|
+
_package_search_path.append(_generated_package_path)
|
|
21
|
+
|
|
22
|
+
_generated_init_file = _generated_package_directory / "__init__.py"
|
|
23
|
+
exec(
|
|
24
|
+
compile(
|
|
25
|
+
_generated_init_file.read_text(encoding="utf-8"),
|
|
26
|
+
str(_generated_init_file),
|
|
27
|
+
"exec",
|
|
28
|
+
),
|
|
29
|
+
globals(),
|
|
30
|
+
)
|
{finatic_server_python-0.9.10 → finatic_server_python-0.9.14}/finatic_server_python/__init__.py
RENAMED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Finatic Server Python SDK
|
|
1
|
+
"""Finatic Server Python SDK
|
|
3
2
|
|
|
4
3
|
This package re-exports everything from src to provide a clean import path:
|
|
5
4
|
from finatic_server_python import FinaticServer
|
|
@@ -7,7 +6,7 @@ This package re-exports everything from src to provide a clean import path:
|
|
|
7
6
|
This matches the pattern used by:
|
|
8
7
|
- Node.js: import { FinaticServer } from '@finatic/server-node'
|
|
9
8
|
- TypeScript: import { FinaticConnect } from '@finatic/client'
|
|
10
|
-
|
|
9
|
+
|
|
11
10
|
Package name: finatic-server-python (pip install finatic-server-python)
|
|
12
11
|
Import name: finatic_server_python (from finatic_server_python import ...)
|
|
13
12
|
"""
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "finatic-server-python"
|
|
7
|
-
version = "0.9.
|
|
7
|
+
version = "0.9.14"
|
|
8
8
|
description = "Python SDK for Finatic Server API"
|
|
9
9
|
authors = [{ name = "Finatic", email = "support@finatic.dev" }]
|
|
10
10
|
license = { text = "PROPRIETARY" }
|
|
@@ -46,6 +46,7 @@ dev = [
|
|
|
46
46
|
"flake8>=6.0.0",
|
|
47
47
|
"mypy>=1.0.0",
|
|
48
48
|
"pre-commit>=3.0.0",
|
|
49
|
+
"build>=1.2.2",
|
|
49
50
|
"types-cachetools>=5.3.0",
|
|
50
51
|
"types-python-dateutil>=2.8.0",
|
|
51
52
|
]
|
|
@@ -57,11 +58,11 @@ Repository = "https://github.com/FinaticORG/FinaticServerSDK-Python"
|
|
|
57
58
|
Issues = "https://github.com/FinaticORG/FinaticServerSDK-Python/issues"
|
|
58
59
|
|
|
59
60
|
[tool.hatch.build.targets.wheel]
|
|
60
|
-
packages = ["finatic_server_python", "src"]
|
|
61
|
+
packages = ["finatic_server_python", "finatic_server", "src"]
|
|
61
62
|
include = ["/LICENSE", "/CHANGELOG.md"]
|
|
62
63
|
|
|
63
64
|
[tool.hatch.build.targets.editable]
|
|
64
|
-
packages = ["finatic_server_python", "src"]
|
|
65
|
+
packages = ["finatic_server_python", "finatic_server", "src"]
|
|
65
66
|
|
|
66
67
|
[tool.black]
|
|
67
68
|
line-length = 88
|
|
@@ -77,6 +78,7 @@ line_length = 88
|
|
|
77
78
|
python_version = "3.12"
|
|
78
79
|
warn_return_any = true
|
|
79
80
|
warn_unused_configs = true
|
|
81
|
+
exclude = "(?x)(^tests/|^demo-app/|^src/openapi/finatic_server/)"
|
|
80
82
|
# Relaxed settings for generated code
|
|
81
83
|
disallow_untyped_defs = false
|
|
82
84
|
check_untyped_defs = true
|
|
@@ -88,27 +90,21 @@ disallow_untyped_decorators = false
|
|
|
88
90
|
# Show error codes
|
|
89
91
|
show_error_codes = true
|
|
90
92
|
|
|
91
|
-
#
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
# Generated OpenAPI code and smoke tests are not held to the same mypy bar as hand-written SDK code.
|
|
94
|
+
[[tool.mypy.overrides]]
|
|
95
|
+
module = ["finatic_server.*"]
|
|
96
|
+
ignore_errors = true
|
|
97
|
+
|
|
95
98
|
[[tool.mypy.overrides]]
|
|
96
99
|
module = [
|
|
97
|
-
"src.
|
|
98
|
-
"src.
|
|
99
|
-
"src.
|
|
100
|
-
"src.
|
|
100
|
+
"src.FinaticServerCore",
|
|
101
|
+
"src.wrappers.*",
|
|
102
|
+
"src.utils.enum_coercion",
|
|
103
|
+
"src.utils.logger",
|
|
104
|
+
"src.utils.pagination",
|
|
101
105
|
]
|
|
102
|
-
# Ignore all errors in generated code - these are expected limitations
|
|
103
106
|
ignore_errors = true
|
|
104
107
|
|
|
105
|
-
[tool.pytest.ini_options]
|
|
106
|
-
asyncio_mode = "auto"
|
|
107
|
-
testpaths = ["tests"]
|
|
108
|
-
python_files = ["test_*.py"]
|
|
109
|
-
pythonpath = ["."]
|
|
110
|
-
addopts = "--cov=src --cov-report=term-missing"
|
|
111
|
-
|
|
112
108
|
[tool.flake8]
|
|
113
109
|
max-line-length = 88
|
|
114
110
|
extend-ignore = ["E203", "E266", "E501", "W503"]
|
|
@@ -120,7 +116,14 @@ exclude = [
|
|
|
120
116
|
"*.egg-info",
|
|
121
117
|
".venv",
|
|
122
118
|
"venv",
|
|
123
|
-
"src/
|
|
119
|
+
"src/openapi/finatic_server",
|
|
124
120
|
]
|
|
125
121
|
import-order-style = "google"
|
|
126
122
|
application-import-names = ["src"]
|
|
123
|
+
|
|
124
|
+
[tool.ruff]
|
|
125
|
+
exclude = ["src/openapi/finatic_server"]
|
|
126
|
+
|
|
127
|
+
[tool.ruff.lint.per-file-ignores]
|
|
128
|
+
# Star re-exports from OpenAPI client package; names are re-exported intentionally.
|
|
129
|
+
"src/__init__.py" = ["F403", "F401", "F405"]
|
|
@@ -36,7 +36,7 @@ def run_command(cmd: list[str], description: str, fix_mode: bool = False) -> boo
|
|
|
36
36
|
error_output = (result.stderr or result.stdout or "").lower()
|
|
37
37
|
if "failed to spawn" in error_output or "no such file" in error_output:
|
|
38
38
|
print(f"⚠️ {description} skipped (tool not installed)")
|
|
39
|
-
print(
|
|
39
|
+
print(" Install with: uv sync --extra dev")
|
|
40
40
|
return True # Skip missing tools gracefully
|
|
41
41
|
print(f"❌ {description} failed!")
|
|
42
42
|
if result.stderr:
|
|
@@ -52,7 +52,9 @@ def run_command(cmd: list[str], description: str, fix_mode: bool = False) -> boo
|
|
|
52
52
|
|
|
53
53
|
def main() -> int:
|
|
54
54
|
"""Run all quality checks or fixes."""
|
|
55
|
-
parser = argparse.ArgumentParser(
|
|
55
|
+
parser = argparse.ArgumentParser(
|
|
56
|
+
description="Quality check script for FinaticServerSDK-Python"
|
|
57
|
+
)
|
|
56
58
|
parser.add_argument(
|
|
57
59
|
"--fix",
|
|
58
60
|
action="store_true",
|
|
@@ -111,4 +113,3 @@ def main() -> int:
|
|
|
111
113
|
|
|
112
114
|
if __name__ == "__main__":
|
|
113
115
|
sys.exit(main())
|
|
114
|
-
|