Package: fds.sdk.FactSetTermsandConditions
FactSet Terms and Conditions client library for PythonThe FactSet Terms & Conditions API exposes Terms & Conditions data for Fixed Income Corporate, Governement & Agency securities. The FactSet Corporate Government & Agency Terms & Conditions library provides descriptive data on the issue level, such as offering details, redemption information, and coupon schedules. Issuer level data is also available. Coverage is global and includes corporate, sovereign, and agency issues.This Python package is automatically generated by theOpenAPI Generatorproject:API version: 1.0.0Package version: 1.0.7Build package: org.openapitools.codegen.languages.PythonClientCodegenFor more information, please visithttp://www.factset.com/apiRequirementsPython >= 3.7InstallationPoetrypoetryaddfds.sdk.utilsfds.sdk.FactSetTermsandConditions==1.0.7pippipinstallfds.sdk.utilsfds.sdk.FactSetTermsandConditions==1.0.7UsageGenerate authentication credentials.Setup Python environment.Install and activate python 3.7+. If you're usingpyenv:pyenvinstall3.9.7
pyenvshell3.9.7(optional)Install poetry.Install dependencies.Run the following:fromfds.sdk.utils.authenticationimportConfidentialClientimportfds.sdk.FactSetTermsandConditionsfromfds.sdk.FactSetTermsandConditions.apiimportagents_apifromfds.sdk.FactSetTermsandConditions.modelsimport*fromdateutil.parserimportparseasdateutil_parserfrompprintimportpprint# See configuration.py for a list of all supported configuration parameters.# Examples for each supported authentication method are below,# choose one that satisfies your use case.# (Preferred) OAuth 2.0: FactSetOAuth2# See https://github.com/FactSet/enterprise-sdk#oauth-20# for information on how to create the app-config.json file## The confidential client instance should be reused in production environments.# See https://github.com/FactSet/enterprise-sdk-utils-python#authentication# for more information on using the ConfidentialClient classconfiguration=fds.sdk.FactSetTermsandConditions.Configuration(fds_oauth_client=ConfidentialClient('/path/to/app-config.json'))# Basic authentication: FactSetApiKey# See https://github.com/FactSet/enterprise-sdk#api-key# for information how to create an API key# configuration = fds.sdk.FactSetTermsandConditions.Configuration(#     username='USERNAME-SERIAL',#     password='API-KEY'# )# Enter a context with an instance of the API clientwithfds.sdk.FactSetTermsandConditions.ApiClient(configuration)asapi_client:# Create an instance of the API classapi_instance=agents_api.AgentsApi(api_client)# NOTE: The parameter variable defined below is just an example and may potentially contain non valid values. So please replace this with valid values.ids=["30231GBJ","88579EAA"]# [str] | List of Fixed Income Security identifiers. Supported symbol types include CUSIP, SEDOL, ISIN, and FactSet Security Permanent Identifier (-S).  **ID LIMIT = 250** *per request*.try:# Return Agents items for a Fixed Income security.# example passing only required values which don't have defaults setapi_response=api_instance.get_agents(ids)pprint(api_response)exceptfds.sdk.FactSetTermsandConditions.ApiExceptionase:print("Exception when calling AgentsApi->get_agents:%s\n"%e)# # Get response, http status code and response headers# try:#     # Return Agents items for a Fixed Income security.#     api_response, http_status_code, response_headers = api_instance.get_agents_with_http_info(ids)#     pprint(api_response)#     pprint(http_status_code)#     pprint(response_headers)# except fds.sdk.FactSetTermsandConditions.ApiException as e:#     print("Exception when calling AgentsApi->get_agents: %s\n" % e)# # Get response asynchronous# try:#     # Return Agents items for a Fixed Income security.#     async_result = api_instance.get_agents_async(ids)#     api_response = async_result.get()#     pprint(api_response)# except fds.sdk.FactSetTermsandConditions.ApiException as e:#     print("Exception when calling AgentsApi->get_agents: %s\n" % e)# # Get response, http status code and response headers asynchronous# try:#     # Return Agents items for a Fixed Income security.#     async_result = api_instance.get_agents_with_http_info_async(ids)#     api_response, http_status_code, response_headers = async_result.get()#     pprint(api_response)#     pprint(http_status_code)#     pprint(response_headers)# except fds.sdk.FactSetTermsandConditions.ApiException as e:#     print("Exception when calling AgentsApi->get_agents: %s\n" % e)Using PandasTo convert an API response to a Pandas DataFrame, it is necessary to transform it first to a dictionary.importpandasaspdresponse_dict=api_response.to_dict()['data']simple_json_response=pd.DataFrame(response_dict)nested_json_response=pd.json_normalize(response_dict)DebuggingThe SDK uses the standard libraryloggingmodule.SettingdebugtoTrueon an instance of theConfigurationclass sets the log-level of related packages toDEBUGand enables additional logging in PythonsHTTP Client.Note: This prints out sensitive information (e.g. the full request and response). Use with care.importloggingimportfds.sdk.FactSetTermsandConditionslogging.basicConfig(level=logging.DEBUG)configuration=fds.sdk.FactSetTermsandConditions.Configuration(...)configuration.debug=TrueConfigure a ProxyYou can pass proxy settings to the Configuration class:proxy: The URL of the proxy to use.proxy_headers: a dictionary to pass additional headers to the proxy (e.g.Proxy-Authorization).importfds.sdk.FactSetTermsandConditionsconfiguration=fds.sdk.FactSetTermsandConditions.Configuration(# ...proxy="http://secret:password@localhost:5050",proxy_headers={"Custom-Proxy-Header":"Custom-Proxy-Header-Value"})Custom SSL CertificateTLS/SSL certificate verification can be configured with the following Configuration parameters:ssl_ca_cert: a path to the certificate to use for verification inPEMformat.verify_ssl: setting this toFalsedisables the verification of certificates.
Disabling the verification is not recommended, but it might be useful during
local development or testing.importfds.sdk.FactSetTermsandConditionsconfiguration=fds.sdk.FactSetTermsandConditions.Configuration(# ...ssl_ca_cert='/path/to/ca.pem')Documentation for API EndpointsAll URIs are relative tohttps://api.factset.com/contentClassMethodHTTP requestDescriptionAgentsApiget_agentsGET/factset-terms-and-conditions/v1/agentsReturn Agents items for a Fixed Income security.AgentsApiget_agents_for_listPOST/factset-terms-and-conditions/v1/agentsReturn Agents items for a list of Fixed Income securities.ConvertiblesApiget_convertible_detailsGET/factset-terms-and-conditions/v1/convertible-detailsReturn Convertible Details for a list of Convertible Fixed Income securities.ConvertiblesApiget_convertible_details_for_listPOST/factset-terms-and-conditions/v1/convertible-detailsReturn Convertible Details data for a large list of Fixed Income securities.ConvertiblesApiget_convertible_historyGET/factset-terms-and-conditions/v1/convertible-historyReturn Convertible History data for a list of Fixed Income securities.ConvertiblesApiget_convertible_history_for_listPOST/factset-terms-and-conditions/v1/convertible-historyReturn Convertible History data for a large list of Fixed Income securities.ConvertiblesApiget_convertible_triggersGET/factset-terms-and-conditions/v1/convertible-triggersReturn Convertible Triggers data for a list of Fixed Income securities.ConvertiblesApiget_convertible_triggers_for_listPOST/factset-terms-and-conditions/v1/convertible-triggersReturn Convertible Trigger data for a large list of Fixed Income securities.CouponsApiget_coupon_historyGET/factset-terms-and-conditions/v1/coupon-historyReturn historical Coupon information for a Fixed Income security.CouponsApiget_coupon_history_for_listPOST/factset-terms-and-conditions/v1/coupon-historyReturn historical Coupon information for a list of Fixed Income securities.CouponsApiget_coupon_schedulesGET/factset-terms-and-conditions/v1/coupon-schedulesReturn Coupon Sechedules for a Fixed Income security.CouponsApiget_coupon_schedules_for_listPOST/factset-terms-and-conditions/v1/coupon-schedulesReturn Coupon Schedules information for a list of Fixed Income securities.CovenantsApiget_covenant_detailsGET/factset-terms-and-conditions/v1/covenant-detailsReturn Covenant Details for a Fixed Income security.CovenantsApiget_covenant_details_for_listPOST/factset-terms-and-conditions/v1/covenant-detailsReturn Covenant Details for a list of Fixed Income securities.IssueSizeApiget_issue_sizeGET/factset-terms-and-conditions/v1/issue-sizeReturn Issue Size data for a list of Fixed Income securities.IssueSizeApiget_issue_size_for_listPOST/factset-terms-and-conditions/v1/issue-sizeReturn Issue Size data for a large list of Fixed Income securities.RedemptionsApiget_fixed_income_redemption_pricesGET/factset-terms-and-conditions/v1/redemption-pricesReturn Redemption Prices for a Fixed Income security.RedemptionsApiget_fixed_income_redemption_prices_for_listPOST/factset-terms-and-conditions/v1/redemption-pricesReturn Redemption Prices for a list of Fixed Income securities.TermsConditionsApiget_terms_and_conditionsGET/factset-terms-and-conditions/v1/terms-and-conditionsReturn select Terms and Conditions items for a Fixed Income security.TermsConditionsApiget_terms_and_conditions_fieldsGET/factset-terms-and-conditions/v1/fieldsAvailable fields for /terms-and-conditions endpointTermsConditionsApiget_terms_and_conditions_for_listPOST/factset-terms-and-conditions/v1/terms-and-conditionsReturn Terms and Conditions for a list of Fixed Income securities.UnderwritersApiget_lead_underwritersGET/factset-terms-and-conditions/v1/lead-underwritersReturn Lead Underwriters for a Fixed Income security.UnderwritersApiget_lead_underwriters_for_listPOST/factset-terms-and-conditions/v1/lead-underwritersReturn Lead Underwriters for a list of Fixed Income securities.UseOfProceedsApiget_fixed_income_use_of_proceedsGET/factset-terms-and-conditions/v1/use-of-proceedsReturn Use of Proceeds for a Fixed Income security.UseOfProceedsApiget_fixed_income_use_of_proceeds_for_listPOST/factset-terms-and-conditions/v1/use-of-proceedsReturn Use of Proceeds for a list of Fixed Income securities.Documentation For ModelsAgentAgentsResponseConvertibleDetailsConvertibleDetailsResponseConvertibleHistoryConvertibleHistoryResponseConvertibleTriggersConvertibleTriggersResponseCouponHistoryCouponHistoryResponseCouponSchedulesCouponSchedulesResponseCovenantDetailCovenantDetailsResponseErrorResponseErrorResponseSubErrorsFieldFieldsResponseIssueSizeIssueSizeResponseLeadUnderwriterLeadUnderwritersResponseNegativeCovenantNegativeCovenantsResponseRedemptionPriceRedemptionPricesRequestRedemptionPricesResponseTermsAndConditionsTermsAndConditionsRequestTermsAndConditionsResponseTermsAndConditionsScalarRequestUseOfProceedsUseOfProceedsResponseDocumentation For AuthorizationFactSetApiKeyType: HTTP basic authenticationFactSetOAuth2Type: OAuthFlow: applicationAuthorization URL:Scopes: N/ANotes for Large OpenAPI documentsIf the OpenAPI document is large, imports in fds.sdk.FactSetTermsandConditions.apis and fds.sdk.FactSetTermsandConditions.models may fail with a
RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:Solution 1:
Use specific imports for apis and models like:from fds.sdk.FactSetTermsandConditions.api.default_api import DefaultApifrom fds.sdk.FactSetTermsandConditions.model.pet import PetSolution 2:
Before importing the package, adjust the maximum recursion limit as shown below:import sys
sys.setrecursionlimit(1500)
import fds.sdk.FactSetTermsandConditions
from fds.sdk.FactSetTermsandConditions.apis import *
from fds.sdk.FactSetTermsandConditions.models import *ContributingPlease refer to thecontributing guide.CopyrightCopyright 2022 FactSet Research Systems IncLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.