dhisana 0.0.1.dev244__tar.gz → 0.0.1.dev245__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 (121) hide show
  1. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/PKG-INFO +1 -1
  2. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/setup.py +1 -1
  3. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/schemas/sales.py +6 -0
  4. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/apollo_tools.py +20 -0
  5. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/PKG-INFO +1 -1
  6. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/README.md +0 -0
  7. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/pyproject.toml +0 -0
  8. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/setup.cfg +0 -0
  9. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/__init__.py +0 -0
  10. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/cli/__init__.py +0 -0
  11. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/cli/cli.py +0 -0
  12. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/cli/datasets.py +0 -0
  13. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/cli/models.py +0 -0
  14. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/cli/predictions.py +0 -0
  15. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/schemas/__init__.py +0 -0
  16. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/schemas/common.py +0 -0
  17. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/ui/__init__.py +0 -0
  18. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/ui/components.py +0 -0
  19. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/__init__.py +0 -0
  20. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/add_mapping.py +0 -0
  21. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/agent_tools.py +0 -0
  22. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/assistant_tool_tag.py +0 -0
  23. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/built_with_api_tools.py +0 -0
  24. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/cache_output_tools.py +0 -0
  25. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/cache_output_tools_local.py +0 -0
  26. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/check_email_validity_tools.py +0 -0
  27. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/check_for_intent_signal.py +0 -0
  28. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
  29. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/clay_tools.py +0 -0
  30. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/clean_properties.py +0 -0
  31. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/company_utils.py +0 -0
  32. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/compose_salesnav_query.py +0 -0
  33. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/compose_search_query.py +0 -0
  34. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
  35. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/composite_tools.py +0 -0
  36. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/dataframe_tools.py +0 -0
  37. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/domain_parser.py +0 -0
  38. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/email_body_utils.py +0 -0
  39. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/email_parse_helpers.py +0 -0
  40. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/email_provider.py +0 -0
  41. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/enrich_lead_information.py +0 -0
  42. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
  43. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/fetch_openai_config.py +0 -0
  44. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/field_validators.py +0 -0
  45. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/g2_tools.py +0 -0
  46. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_content.py +0 -0
  47. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_custom_message.py +0 -0
  48. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_email.py +0 -0
  49. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_email_response.py +0 -0
  50. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_flow.py +0 -0
  51. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_leads_salesnav.py +0 -0
  52. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_linkedin_connect_message.py +0 -0
  53. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_linkedin_response_message.py +0 -0
  54. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/generate_structured_output_internal.py +0 -0
  55. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/google_custom_search.py +0 -0
  56. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/google_oauth_tools.py +0 -0
  57. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/google_workspace_tools.py +0 -0
  58. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/hubspot_clearbit.py +0 -0
  59. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
  60. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/instantly_tools.py +0 -0
  61. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/linkedin_crawler.py +0 -0
  62. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/lusha_tools.py +0 -0
  63. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/mailgun_tools.py +0 -0
  64. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/mailreach_tools.py +0 -0
  65. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/microsoft365_tools.py +0 -0
  66. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openai_assistant_and_file_utils.py +0 -0
  67. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openai_helpers.py +0 -0
  68. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
  69. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
  70. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
  71. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
  72. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
  73. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/parse_linkedin_messages_txt.py +0 -0
  74. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/profile.py +0 -0
  75. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/proxy_curl_tools.py +0 -0
  76. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/proxycurl_search_leads.py +0 -0
  77. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/python_function_to_tools.py +0 -0
  78. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/research_lead.py +0 -0
  79. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/sales_navigator_crawler.py +0 -0
  80. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
  81. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/search_router.py +0 -0
  82. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/search_router_jobs.py +0 -0
  83. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/sendgrid_tools.py +0 -0
  84. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serarch_router_local_business.py +0 -0
  85. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serpapi_additional_tools.py +0 -0
  86. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serpapi_google_jobs.py +0 -0
  87. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serpapi_google_search.py +0 -0
  88. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serpapi_local_business_search.py +0 -0
  89. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serpapi_search_tools.py +0 -0
  90. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serperdev_google_jobs.py +0 -0
  91. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serperdev_local_business.py +0 -0
  92. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/serperdev_search.py +0 -0
  93. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/smtp_email_tools.py +0 -0
  94. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/test_connect.py +0 -0
  95. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/trasform_json.py +0 -0
  96. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/web_download_parse_tools.py +0 -0
  97. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/workflow_code_model.py +0 -0
  98. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/utils/zoominfo_tools.py +0 -0
  99. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/workflow/__init__.py +0 -0
  100. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/workflow/agent.py +0 -0
  101. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/workflow/flow.py +0 -0
  102. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/workflow/task.py +0 -0
  103. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana/workflow/test.py +0 -0
  104. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/SOURCES.txt +0 -0
  105. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/dependency_links.txt +0 -0
  106. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/entry_points.txt +0 -0
  107. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/requires.txt +0 -0
  108. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/src/dhisana.egg-info/top_level.txt +0 -0
  109. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_agent_tools.py +0 -0
  110. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_apollo_company_search.py +0 -0
  111. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_apollo_lead_search.py +0 -0
  112. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_connectivity.py +0 -0
  113. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_email_body_utils.py +0 -0
  114. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_google_document.py +0 -0
  115. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_hubspot_call_logs.py +0 -0
  116. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_linkedin_serper.py +0 -0
  117. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_mailreach.py +0 -0
  118. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_mcp_connectivity.py +0 -0
  119. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_proxycurl_get_company_search_id.py +0 -0
  120. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_proxycurl_job_count.py +0 -0
  121. {dhisana-0.0.1.dev244 → dhisana-0.0.1.dev245}/tests/test_structured_output_with_mcp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev244
3
+ Version: 0.0.1.dev245
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='dhisana',
5
- version='0.0.1-dev244',
5
+ version='0.0.1-dev245',
6
6
  description='A Python SDK for Dhisana AI Platform',
7
7
  author='Admin',
8
8
  author_email='contact@dhisana.ai',
@@ -757,6 +757,12 @@ class LeadsQueryFilters(BaseModel):
757
757
  description="Domains of the person's employer (e.g., ['microsoft.com']). Maps to q_organization_domains."
758
758
  )
759
759
 
760
+ # NEW: Exclude specific company domains from search results
761
+ exclude_company_domains: Optional[List[str]] = Field(
762
+ default=None,
763
+ description="Domains of companies to exclude from results (e.g., ['competitor.com']). Maps to organization_not_domains."
764
+ )
765
+
760
766
  # CHANGED: Renamed to be more descriptive
761
767
  company_hq_locations: Optional[List[str]] = Field(
762
768
  default=None,
@@ -549,6 +549,8 @@ async def search_leads_with_apollo(
549
549
  "currentlyUsingAnyOfTechnologyUids": "currently_using_any_of_technology_uids",
550
550
  "organizationIndustryTagIds": "organization_industry_tag_ids",
551
551
  "notOrganizationIds": "not_organization_ids",
552
+ "qOrganizationDomains": "q_organization_domains",
553
+ "organizationNotDomains": "organization_not_domains",
552
554
  }
553
555
 
554
556
  for raw_key, raw_value_list in query_params.items():
@@ -607,6 +609,7 @@ async def search_leads_with_apollo(
607
609
  "person_seniorities",
608
610
  "organization_locations",
609
611
  "q_organization_domains",
612
+ "organization_not_domains",
610
613
  "contact_email_status",
611
614
  "organization_ids",
612
615
  "organization_num_employees_ranges",
@@ -652,6 +655,12 @@ async def search_leads_with_apollo(
652
655
  dynamic_payload["sort_ascending"] = query.sort_ascending
653
656
  if query.person_seniorities:
654
657
  dynamic_payload["person_seniorities"] = query.person_seniorities
658
+ # Add company domains to include in search
659
+ if query.company_domains:
660
+ dynamic_payload["q_organization_domains"] = query.company_domains
661
+ # Add company domains to exclude from search
662
+ if query.exclude_company_domains:
663
+ dynamic_payload["organization_not_domains"] = query.exclude_company_domains
655
664
 
656
665
  # -----------------------------
657
666
  # C) Fetch multiple pages
@@ -769,6 +778,8 @@ async def search_leads_with_apollo_page(
769
778
  "currentlyUsingAnyOfTechnologyUids": "currently_using_any_of_technology_uids",
770
779
  "organizationIndustryTagIds": "organization_industry_tag_ids",
771
780
  "notOrganizationIds": "not_organization_ids",
781
+ "qOrganizationDomains": "q_organization_domains",
782
+ "organizationNotDomains": "organization_not_domains",
772
783
  }
773
784
 
774
785
  for raw_key, raw_value_list in query_params.items():
@@ -812,6 +823,7 @@ async def search_leads_with_apollo_page(
812
823
  "person_seniorities",
813
824
  "organization_locations",
814
825
  "q_organization_domains",
826
+ "organization_not_domains",
815
827
  "contact_email_status",
816
828
  "organization_ids",
817
829
  "organization_num_employees_ranges",
@@ -855,6 +867,14 @@ async def search_leads_with_apollo_page(
855
867
  if query.q_not_organization_keyword_tags:
856
868
  dynamic_payload["q_not_organization_keyword_tags"] = query.q_not_organization_keyword_tags
857
869
 
870
+ # Add company domains to include in search
871
+ if query.company_domains:
872
+ dynamic_payload["q_organization_domains"] = query.company_domains
873
+
874
+ # Add company domains to exclude from search
875
+ if query.exclude_company_domains:
876
+ dynamic_payload["organization_not_domains"] = query.exclude_company_domains
877
+
858
878
  page_payload = dict(dynamic_payload)
859
879
  page_payload["page"] = page
860
880
  page_payload["per_page"] = per_page
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev244
3
+ Version: 0.0.1.dev245
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
File without changes
File without changes