dhisana 0.0.1.dev251__py3-none-any.whl → 0.0.1.dev253__py3-none-any.whl

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.
dhisana/schemas/sales.py CHANGED
@@ -728,7 +728,10 @@ class LeadsQueryFilters(BaseModel):
728
728
  # CHANGED: Renamed to be more descriptive
729
729
  industries: Optional[List[str]] = Field(
730
730
  default=None,
731
- description="List of organization industries. Maps to organization_industries in Apollo."
731
+ description=(
732
+ "List of organization industries (case sensitive). "
733
+ "Maps to organization_industries in Apollo."
734
+ )
732
735
  )
733
736
 
734
737
  # Potential existing fields
@@ -800,7 +803,10 @@ class LeadsQueryFilters(BaseModel):
800
803
  # CHANGED: Renamed for consistency
801
804
  company_industry_tag_ids: Optional[List[str]] = Field(
802
805
  default=None,
803
- description="List of industry tag IDs, e.g. ['5567cd4773696439b10b0000']. Maps to organization_industry_tag_ids."
806
+ description=(
807
+ "List of industry tag IDs, e.g. ['5567cd4773696439b10b0000']. "
808
+ "Maps to organization_industry_tag_ids."
809
+ )
804
810
  )
805
811
 
806
812
  q_organization_keyword_tags: Optional[List[str]] = Field(
@@ -547,6 +547,7 @@ async def search_leads_with_apollo(
547
547
  "revenueRange[max]": "revenue_range_max",
548
548
  "revenueRange[min]": "revenue_range_min",
549
549
  "currentlyUsingAnyOfTechnologyUids": "currently_using_any_of_technology_uids",
550
+ "organizationIndustries": "organization_industries",
550
551
  "organizationIndustryTagIds": "organization_industry_tag_ids",
551
552
  "notOrganizationIds": "not_organization_ids",
552
553
  "qOrganizationDomainsList": "q_organization_domains_list",
@@ -614,6 +615,8 @@ async def search_leads_with_apollo(
614
615
  "person_not_titles", # <--- added so single item is forced into list
615
616
  "q_organization_job_titles",
616
617
  "organization_latest_funding_stage_cd",
618
+ "organization_industries",
619
+ "organization_industry_tag_ids",
617
620
  ):
618
621
  if isinstance(final_value, str):
619
622
  final_value = [final_value]
@@ -664,6 +667,10 @@ async def search_leads_with_apollo(
664
667
  dynamic_payload["sort_ascending"] = query.sort_ascending
665
668
  if query.person_seniorities:
666
669
  dynamic_payload["person_seniorities"] = query.person_seniorities
670
+ if query.industries:
671
+ dynamic_payload["organization_industries"] = query.industries
672
+ if query.company_industry_tag_ids:
673
+ dynamic_payload["organization_industry_tag_ids"] = query.company_industry_tag_ids
667
674
  # Add company domains to include in search
668
675
  if query.company_domains:
669
676
  dynamic_payload["q_organization_domains_list"] = query.company_domains
@@ -782,6 +789,7 @@ async def search_leads_with_apollo_page(
782
789
  "revenueRange[max]": "revenue_range_max",
783
790
  "revenueRange[min]": "revenue_range_min",
784
791
  "currentlyUsingAnyOfTechnologyUids": "currently_using_any_of_technology_uids",
792
+ "organizationIndustries": "organization_industries",
785
793
  "organizationIndustryTagIds": "organization_industry_tag_ids",
786
794
  "notOrganizationIds": "not_organization_ids",
787
795
  "qOrganizationDomainsList": "q_organization_domains_list",
@@ -834,6 +842,8 @@ async def search_leads_with_apollo_page(
834
842
  "person_not_titles",
835
843
  "q_organization_job_titles",
836
844
  "organization_latest_funding_stage_cd",
845
+ "organization_industries",
846
+ "organization_industry_tag_ids",
837
847
  ):
838
848
  if isinstance(final_value, str):
839
849
  final_value = [final_value]
@@ -880,6 +890,10 @@ async def search_leads_with_apollo_page(
880
890
 
881
891
  if query.q_not_organization_keyword_tags:
882
892
  dynamic_payload["q_not_organization_keyword_tags"] = query.q_not_organization_keyword_tags
893
+ if query.industries:
894
+ dynamic_payload["organization_industries"] = query.industries
895
+ if query.company_industry_tag_ids:
896
+ dynamic_payload["organization_industry_tag_ids"] = query.company_industry_tag_ids
883
897
 
884
898
  # Add company domains to include in search (Apollo API: q_organization_domains_list[])
885
899
  if query.company_domains:
@@ -514,8 +514,8 @@ async def guess_email_with_apollo(
514
514
  if not apollo_email:
515
515
  return {"email": "", "email_confidence": "low"}
516
516
 
517
- # quick re‑check with Hunter
518
- validation = await check_email_validity_with_hunter(apollo_email, tool_config)
517
+ # quick re‑check with ZeroBounce
518
+ validation = await check_email_validity_with_zero_bounce(apollo_email, tool_config)
519
519
  conf = validation.get("confidence", "low")
520
520
  return {"email": apollo_email, "email_confidence": conf}
521
521
 
@@ -547,7 +547,7 @@ async def check_email_validity(
547
547
  return {"email": email_id, "confidence": "low", "is_valid": False}
548
548
 
549
549
  names = [c.get("name") for c in tool_config if c.get("name")]
550
- priority = ["findymail", "hunter", "zerobounce"]
550
+ priority = ["zerobounce", "findymail", "hunter"]
551
551
 
552
552
  result: Dict[str, Any] = {"email": email_id, "confidence": "low", "is_valid": False}
553
553
 
@@ -586,7 +586,7 @@ async def guess_email(
586
586
  return {"email": "", "email_confidence": "low"}
587
587
 
588
588
  names = [c.get("name") for c in tool_config if c.get("name")]
589
- priority = ["findymail", "hunter", "zerobounce", "apollo"]
589
+ priority = ["apollo", "findymail", "hunter", "zerobounce"]
590
590
 
591
591
  result: Dict[str, Any] = {"email": "", "email_confidence": "low"}
592
592
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev251
3
+ Version: 0.0.1.dev253
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
@@ -6,18 +6,18 @@ dhisana/cli/models.py,sha256=IzUFZW_X32mL3fpM1_j4q8AF7v5nrxJcxBoqvG-TTgA,706
6
6
  dhisana/cli/predictions.py,sha256=VYgoLK1Ksv6MFImoYZqjQJkds7e5Hso65dHwbxTNNzE,646
7
7
  dhisana/schemas/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
8
8
  dhisana/schemas/common.py,sha256=dO3JJvu6uZQPGGwvwtstjogEVJZjvwY4nPF2B7w0tIY,9465
9
- dhisana/schemas/sales.py,sha256=PyJWs6qxk2Kj_1N87eGsehXzlE7OLSOkaCcMinwlfAA,34351
9
+ dhisana/schemas/sales.py,sha256=mR5ekyeFeSiD_nGEf1KmtXnZcqg4UAPjeMRZOpfwgr4,34446
10
10
  dhisana/ui/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
11
11
  dhisana/ui/components.py,sha256=4NXrAyl9tx2wWwoVYyABO-EOGnreGMvql1AkXWajIIo,14316
12
12
  dhisana/utils/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
13
13
  dhisana/utils/add_mapping.py,sha256=oq_QNqag86DhgdwINBRRXNx7SOb8Q9M-V0QLP6pTzr8,13837
14
14
  dhisana/utils/agent_tools.py,sha256=pzBFvfhU4wfSB4zv1eiRzjmnteJnfhC5V32r_v1m38Y,2321
15
- dhisana/utils/apollo_tools.py,sha256=1b9FaL_3spQKUsOP1k8-kD1kcFxCkG4KJHoN71SjOkU,69796
15
+ dhisana/utils/apollo_tools.py,sha256=Yjs594qP5Q86ZaIJzSGJ7sgWdvitc3LXLocg9FPnZ8Y,70606
16
16
  dhisana/utils/assistant_tool_tag.py,sha256=rYRl8ubLI7fUUIjg30XTefHBkFgRqNEVC12lF6U6Z-8,119
17
17
  dhisana/utils/built_with_api_tools.py,sha256=TFNGhnPb2vFdveVCpjiCvE1WKe_eK95UPpR0Ha5NgMQ,10260
18
18
  dhisana/utils/cache_output_tools.py,sha256=q-d-WR_pkIUQyCJk8T-u9sfTy1TvvWoD2kJlZfqY-vA,4392
19
19
  dhisana/utils/cache_output_tools_local.py,sha256=okVIY54Xs5avTLu5Sv8neEPsPBce501m-6E_UhQkCAg,2447
20
- dhisana/utils/check_email_validity_tools.py,sha256=s2x1O3U97C4JcxIVuVh3sbgYTZzG7eGJCJT1s3NmApY,26609
20
+ dhisana/utils/check_email_validity_tools.py,sha256=EBuA4a20q3DF22PykqqI5H9KiNB70ckiihBgZm-StwM,26618
21
21
  dhisana/utils/check_for_intent_signal.py,sha256=pC9k1_2fuUXBUxmikfxmoILlqhGMsJDVxrX0m73XQzA,4517
22
22
  dhisana/utils/check_linkedin_url_validity.py,sha256=HoniUZ0BrtuvUmo4xLnKbxfiDBxVhatj2fJGNADtRlU,8365
23
23
  dhisana/utils/clay_tools.py,sha256=Pi3UMcxSDz2pd2Xq_tn9G8Zot5DUQM_cYNgWI2478EM,1282
@@ -95,8 +95,8 @@ dhisana/workflow/agent.py,sha256=esv7_i_XuMkV2j1nz_UlsHov_m6X5WZZiZm_tG4OBHU,565
95
95
  dhisana/workflow/flow.py,sha256=xWE3qQbM7j2B3FH8XnY3zOL_QXX4LbTW4ArndnEYJE0,1638
96
96
  dhisana/workflow/task.py,sha256=HlWz9mtrwLYByoSnePOemBUBrMEcj7KbgNjEE1oF5wo,1830
97
97
  dhisana/workflow/test.py,sha256=E7lRnXK0PguTNzyasHytLzTJdkqIPxG5_4qk4hMEeKc,3399
98
- dhisana-0.0.1.dev251.dist-info/METADATA,sha256=LbbiZTFJYpwScudL5nQgt_Seem5CqgywicGKDcJkBYI,1190
99
- dhisana-0.0.1.dev251.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- dhisana-0.0.1.dev251.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
- dhisana-0.0.1.dev251.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
- dhisana-0.0.1.dev251.dist-info/RECORD,,
98
+ dhisana-0.0.1.dev253.dist-info/METADATA,sha256=zs8sGuJ9Lv2en8iIMns92NleCIMmMQ4ub0bqzzimMsY,1190
99
+ dhisana-0.0.1.dev253.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ dhisana-0.0.1.dev253.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
+ dhisana-0.0.1.dev253.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
+ dhisana-0.0.1.dev253.dist-info/RECORD,,