btgsolutions-dataservices-python-client 4.1.1__tar.gz → 4.2.0__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 (49) hide show
  1. {btgsolutions_dataservices_python_client-4.1.1/btgsolutions_dataservices_python_client.egg-info → btgsolutions_dataservices_python_client-4.2.0}/PKG-INFO +61 -3
  2. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/README.md +79 -21
  3. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/__init__.py +1 -1
  4. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/__init__.py +26 -0
  5. btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices/rest/alternative_data_catalog.py +1242 -0
  6. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_companies.py +36 -4
  7. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_funds.py +16 -0
  8. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_macro_markets.py +9 -0
  9. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_metadata.py +24 -0
  10. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_ownership.py +19 -0
  11. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_people.py +4 -0
  12. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/bulk_data.py +8 -1
  13. btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices/rest/dataservices_catalog.py +933 -0
  14. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/public_sources.py +11 -7
  15. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices_python_client.egg-info}/PKG-INFO +61 -3
  16. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/SOURCES.txt +2 -0
  17. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/LICENSE +0 -0
  18. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/MANIFEST.in +0 -0
  19. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/config.py +0 -0
  20. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/exceptions.py +0 -0
  21. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/authenticator.py +0 -0
  22. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/book_scope.py +0 -0
  23. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/broker_analytics.py +0 -0
  24. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/broker_reference.py +0 -0
  25. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/company_data.py +0 -0
  26. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/corporate_events.py +0 -0
  27. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/hfn.py +0 -0
  28. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/historical_candles.py +0 -0
  29. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/historical_candles_crypto.py +0 -0
  30. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/intraday_candles.py +0 -0
  31. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/intraday_tick_data.py +0 -0
  32. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/quotes.py +0 -0
  33. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/reference_data.py +0 -0
  34. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/stock_loan.py +0 -0
  35. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/ticker_last_event.py +0 -0
  36. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/ticker_last_event_polling.py +0 -0
  37. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/__init__.py +0 -0
  38. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/broker_analytics.py +0 -0
  39. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/hfn_websocket_client.py +0 -0
  40. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/market_data_feed.py +0 -0
  41. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/market_data_websocket_client.py +0 -0
  42. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/websocket_default_functions.py +0 -0
  43. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/dependency_links.txt +0 -0
  44. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/requires.txt +0 -0
  45. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/top_level.txt +0 -0
  46. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/pyproject.toml +0 -0
  47. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/requirements.txt +0 -0
  48. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/setup.cfg +0 -0
  49. {btgsolutions_dataservices_python_client-4.1.1 → btgsolutions_dataservices_python_client-4.2.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: btgsolutions_dataservices_python_client
3
- Version: 4.1.1
3
+ Version: 4.2.0
4
4
  Summary: Python package containing several classes and data for extracting and manipulating market and trading data.
5
5
  Home-page: https://github.com/BTG-Pactual-Solutions/btgsolutions-dataservices-python-client
6
6
  Author: BTG Solutions Data Services powered by BTG Pactual Solutions
@@ -521,8 +521,64 @@ company_data = btg.CompanyData(api_key='YOUR_API_KEY')
521
521
  company_data.all_financial_tables(ticker='PETR4')
522
522
  ```
523
523
 
524
+ #### REST Technical Catalogs
525
+
526
+ Technical endpoint descriptions for REST APIs are exported by the package so
527
+ MCPs and other connectors can reuse the same source of truth instead of
528
+ duplicating endpoint semantics locally.
529
+
530
+ ```python
531
+ from btgsolutions_dataservices.rest import (
532
+ DATASERVICES_ENDPOINTS,
533
+ DATASERVICES_ENDPOINT_RELATIONSHIPS,
534
+ get_dataservices_tool_description,
535
+ )
536
+
537
+ print(get_dataservices_tool_description("get_quotes"))
538
+ print(get_dataservices_tool_description("get_book_scope"))
539
+ ```
540
+
541
+ The Data Services catalog covers quotes, candles, intraday trades, last events,
542
+ reference data, corporate events, company fundamental data, HFN news,
543
+ stock-loan data, bulk market data, broker reference, broker analytics and
544
+ book-scope endpoints. It documents parameters, endpoint relationships such as
545
+ available-ticker discovery before market-data calls, broker-reference discovery
546
+ before broker analytics, HFN filter discovery before news queries, corporate
547
+ events before adjusted price analysis, and book-scope constraints for
548
+ microstructure analysis.
549
+
550
+ The REST catalogs also document cross-domain relationships between Public
551
+ Sources and market-data services: company directory resolution feeds ticker
552
+ reference, quotes, candles, stock-loan, broker analytics and book-scope tools;
553
+ sector classification feeds peer-market comparisons; fund holdings feed
554
+ underlying ticker market analysis; ownership/free-float feeds liquidity context;
555
+ and disclosures, official notices, HFN news and corporate events feed event
556
+ window analysis.
557
+
524
558
  #### Alternative Data - Metadata
525
559
 
560
+ Technical endpoint descriptions for the public-sources alternative-data APIs are
561
+ exported by the package so MCPs and other connectors can reuse the same source
562
+ of truth:
563
+
564
+ ```python
565
+ from btgsolutions_dataservices.rest import (
566
+ PUBLIC_SOURCES_ENDPOINTS,
567
+ PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
568
+ get_public_sources_tool_description,
569
+ )
570
+
571
+ print(get_public_sources_tool_description("get_company_board"))
572
+ ```
573
+
574
+ The catalog documents endpoint parameters, known data gaps, excluded endpoints,
575
+ and relationships such as: company metadata resolving identifiers for governance
576
+ and ownership calls; macro indicator metadata feeding macro observations; asset
577
+ metadata feeding maximum-theoretical-margin calls; financial statement type
578
+ metadata feeding statement queries; assemblies and ownership notices feeding
579
+ notice summaries; and fund holdings/asset fund holders linking funds with
580
+ company tickers.
581
+
526
582
  ```python
527
583
  import btgsolutions_dataservices as btg
528
584
  meta = btg.AlternativeDataMetadata(api_key='YOUR_API_KEY')
@@ -552,7 +608,7 @@ companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', en
552
608
  companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
553
609
  companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
554
610
  companies.get_governance_related_party(company_id='ITUB4')
555
- companies.get_governance_beneficial_ownership(company_id='VALE3')
611
+ companies.get_governance_beneficial_ownership(company_id='AAPL') # UK PSC / US SEC proxy data; not BR listed-company ownership
556
612
  companies.get_corporate_registry(company_id='PETR4', direction='partners')
557
613
  companies.get_corporate_registry(company_id='PETR4', direction='investees')
558
614
  companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
@@ -583,7 +639,8 @@ funds.get_holdings(fund_id='BOVA11', reference_date='2024-12-31')
583
639
  funds.get_exposures(fund_id='BOVA11', exposure_type='asset_class')
584
640
  funds.get_history(fund_id='BOVA11', start_date='2024-01-01', end_date='2024-12-31')
585
641
  funds.get_lookthrough(fund_id='BOVA11')
586
- funds.get_manager_aggregate_holdings(manager_id='ITAÚ ASSET MANAGEMENT')
642
+ # Manager aggregation requires an exact covered manager CNPJ/name, not ETF issuer slugs, ETF tickers or fund CNPJs.
643
+ # funds.get_manager_aggregate_holdings(manager_id='...')
587
644
  ```
588
645
 
589
646
  #### Alternative Data - Ownership
@@ -616,6 +673,7 @@ macro.get_macro_indicators(indicator='comexstat', year='2024', state='SP')
616
673
  macro.get_macro_indicators(indicator='rreo', year='2024', period='6')
617
674
  macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
618
675
  macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
676
+ macro.get_dpmfi(snapshot_date='2026-06-24', limit=10) # reproducible scoped snapshot
619
677
  macro.get_dpmfi_composition(bond_type='IPCA')
620
678
  ```
621
679
 
@@ -494,15 +494,71 @@ company_data.interims(ticker='PETR4')
494
494
 
495
495
  ```python
496
496
  import btgsolutions_dataservices as btg
497
- company_data = btg.CompanyData(api_key='YOUR_API_KEY')
498
- company_data.all_financial_tables(ticker='PETR4')
499
- ```
500
-
501
- #### Alternative Data - Metadata
502
-
503
- ```python
504
- import btgsolutions_dataservices as btg
505
- meta = btg.AlternativeDataMetadata(api_key='YOUR_API_KEY')
497
+ company_data = btg.CompanyData(api_key='YOUR_API_KEY')
498
+ company_data.all_financial_tables(ticker='PETR4')
499
+ ```
500
+
501
+ #### REST Technical Catalogs
502
+
503
+ Technical endpoint descriptions for REST APIs are exported by the package so
504
+ MCPs and other connectors can reuse the same source of truth instead of
505
+ duplicating endpoint semantics locally.
506
+
507
+ ```python
508
+ from btgsolutions_dataservices.rest import (
509
+ DATASERVICES_ENDPOINTS,
510
+ DATASERVICES_ENDPOINT_RELATIONSHIPS,
511
+ get_dataservices_tool_description,
512
+ )
513
+
514
+ print(get_dataservices_tool_description("get_quotes"))
515
+ print(get_dataservices_tool_description("get_book_scope"))
516
+ ```
517
+
518
+ The Data Services catalog covers quotes, candles, intraday trades, last events,
519
+ reference data, corporate events, company fundamental data, HFN news,
520
+ stock-loan data, bulk market data, broker reference, broker analytics and
521
+ book-scope endpoints. It documents parameters, endpoint relationships such as
522
+ available-ticker discovery before market-data calls, broker-reference discovery
523
+ before broker analytics, HFN filter discovery before news queries, corporate
524
+ events before adjusted price analysis, and book-scope constraints for
525
+ microstructure analysis.
526
+
527
+ The REST catalogs also document cross-domain relationships between Public
528
+ Sources and market-data services: company directory resolution feeds ticker
529
+ reference, quotes, candles, stock-loan, broker analytics and book-scope tools;
530
+ sector classification feeds peer-market comparisons; fund holdings feed
531
+ underlying ticker market analysis; ownership/free-float feeds liquidity context;
532
+ and disclosures, official notices, HFN news and corporate events feed event
533
+ window analysis.
534
+
535
+ #### Alternative Data - Metadata
536
+
537
+ Technical endpoint descriptions for the public-sources alternative-data APIs are
538
+ exported by the package so MCPs and other connectors can reuse the same source
539
+ of truth:
540
+
541
+ ```python
542
+ from btgsolutions_dataservices.rest import (
543
+ PUBLIC_SOURCES_ENDPOINTS,
544
+ PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
545
+ get_public_sources_tool_description,
546
+ )
547
+
548
+ print(get_public_sources_tool_description("get_company_board"))
549
+ ```
550
+
551
+ The catalog documents endpoint parameters, known data gaps, excluded endpoints,
552
+ and relationships such as: company metadata resolving identifiers for governance
553
+ and ownership calls; macro indicator metadata feeding macro observations; asset
554
+ metadata feeding maximum-theoretical-margin calls; financial statement type
555
+ metadata feeding statement queries; assemblies and ownership notices feeding
556
+ notice summaries; and fund holdings/asset fund holders linking funds with
557
+ company tickers.
558
+
559
+ ```python
560
+ import btgsolutions_dataservices as btg
561
+ meta = btg.AlternativeDataMetadata(api_key='YOUR_API_KEY')
506
562
  meta.get_company_directory(query='PETROBRAS', jurisdiction='BR')
507
563
  meta.list_companies(query='PETROBRAS', jurisdiction='BR')
508
564
  meta.list_etfs(query='BOVA')
@@ -525,14 +581,14 @@ companies = btg.AlternativeDataCompanies(api_key='YOUR_API_KEY')
525
581
  companies.list_companies(query='PETROBRAS', jurisdiction='BR')
526
582
  companies.get_board(company_id='VALE3', body='board')
527
583
  companies.get_governance_summary(company_id='ITUB4')
528
- companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
529
- companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
530
- companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
531
- companies.get_governance_related_party(company_id='ITUB4')
532
- companies.get_governance_beneficial_ownership(company_id='VALE3')
533
- companies.get_corporate_registry(company_id='PETR4', direction='partners')
534
- companies.get_corporate_registry(company_id='PETR4', direction='investees')
535
- companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
584
+ companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
585
+ companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
586
+ companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
587
+ companies.get_governance_related_party(company_id='ITUB4')
588
+ companies.get_governance_beneficial_ownership(company_id='AAPL') # UK PSC / US SEC proxy data; not BR listed-company ownership
589
+ companies.get_corporate_registry(company_id='PETR4', direction='partners')
590
+ companies.get_corporate_registry(company_id='PETR4', direction='investees')
591
+ companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
536
592
  companies.get_board_changes(company_id='VALE3', event='appointed')
537
593
  companies.get_assemblies(company_id='PINE4')
538
594
  companies.get_financial_statements(company_id='PETR4', statement='income_statement', quarter='4T24')
@@ -560,7 +616,8 @@ funds.get_holdings(fund_id='BOVA11', reference_date='2024-12-31')
560
616
  funds.get_exposures(fund_id='BOVA11', exposure_type='asset_class')
561
617
  funds.get_history(fund_id='BOVA11', start_date='2024-01-01', end_date='2024-12-31')
562
618
  funds.get_lookthrough(fund_id='BOVA11')
563
- funds.get_manager_aggregate_holdings(manager_id='ITAÚ ASSET MANAGEMENT')
619
+ # Manager aggregation requires an exact covered manager CNPJ/name, not ETF issuer slugs, ETF tickers or fund CNPJs.
620
+ # funds.get_manager_aggregate_holdings(manager_id='...')
564
621
  ```
565
622
 
566
623
  #### Alternative Data - Ownership
@@ -591,9 +648,10 @@ macro.get_macro_indicators(indicator='ipca_contributions', start_date='2024-01',
591
648
  macro.get_macro_indicators(indicator='gdp', type='yoy')
592
649
  macro.get_macro_indicators(indicator='comexstat', year='2024', state='SP')
593
650
  macro.get_macro_indicators(indicator='rreo', year='2024', period='6')
594
- macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
595
- macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
596
- macro.get_dpmfi_composition(bond_type='IPCA')
651
+ macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
652
+ macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
653
+ macro.get_dpmfi(snapshot_date='2026-06-24', limit=10) # reproducible scoped snapshot
654
+ macro.get_dpmfi_composition(bond_type='IPCA')
597
655
  ```
598
656
 
599
657
  `AlternativeDataMacroMarkets` exposes the public-sources market-data endpoint for B3 maximum theoretical margin. The direct market-data `investor-categories` endpoint is intentionally not exposed in this package.
@@ -1,4 +1,4 @@
1
- __version__ = "4.1.1"
1
+ __version__ = "4.2.0"
2
2
 
3
3
  from .websocket import *
4
4
  from .rest import *
@@ -22,3 +22,29 @@ from .alternative_data_people import AlternativeDataPeople
22
22
  from .alternative_data_funds import AlternativeDataFunds
23
23
  from .alternative_data_ownership import AlternativeDataOwnership
24
24
  from .alternative_data_macro_markets import AlternativeDataMacroMarkets
25
+ from .alternative_data_catalog import (
26
+ PUBLIC_SOURCES_CONVENTIONS,
27
+ PUBLIC_SOURCES_DATA_GAPS,
28
+ PUBLIC_SOURCES_ENDPOINT_DESCRIPTIONS,
29
+ PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
30
+ PUBLIC_SOURCES_ENDPOINTS,
31
+ PUBLIC_SOURCES_EXCLUDED_ENDPOINTS,
32
+ PUBLIC_SOURCES_TOOL_DESCRIPTIONS,
33
+ PUBLIC_SOURCES_TOOL_ENDPOINTS,
34
+ get_public_sources_endpoint,
35
+ get_public_sources_endpoint_description,
36
+ get_public_sources_tool_description,
37
+ get_public_sources_tool_manifest,
38
+ )
39
+ from .dataservices_catalog import (
40
+ DATASERVICES_CONVENTIONS,
41
+ DATASERVICES_ENDPOINT_DESCRIPTIONS,
42
+ DATASERVICES_ENDPOINT_RELATIONSHIPS,
43
+ DATASERVICES_ENDPOINTS,
44
+ DATASERVICES_TOOL_DESCRIPTIONS,
45
+ DATASERVICES_TOOL_ENDPOINTS,
46
+ get_dataservices_endpoint,
47
+ get_dataservices_endpoint_description,
48
+ get_dataservices_tool_description,
49
+ get_dataservices_tool_manifest,
50
+ )