followthemoney 3.6.0__py2.py3-none-any.whl → 3.6.2__py2.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.

Potentially problematic release.


This version of followthemoney might be problematic. Click here for more details.

@@ -3,7 +3,7 @@ import os
3
3
  from followthemoney.model import Model
4
4
  from followthemoney.util import set_model_locale
5
5
 
6
- __version__ = "3.6.0"
6
+ __version__ = "3.6.2"
7
7
 
8
8
 
9
9
  model_path = os.path.dirname(__file__)
@@ -120,8 +120,12 @@ LegalEntity:
120
120
  type: identifier
121
121
  format: lei
122
122
  dunsCode:
123
- label: "D-U-N-S"
124
- description: "Dun & Bradstreet identifier"
123
+ label: "DUNS"
124
+ description: "Data Universal Numbering System - Dun & Bradstreet identifier"
125
+ type: identifier
126
+ npiCode:
127
+ label: "NPI"
128
+ description: "National Provider Identifier"
125
129
  type: identifier
126
130
  swiftBic:
127
131
  label: "SWIFT/BIC"
@@ -16,3 +16,8 @@ Organization:
16
16
  - name
17
17
  caption:
18
18
  - name
19
+ properties:
20
+ cageCode:
21
+ label: CAGE
22
+ description: Commercial and Government Entity Code (CAGE)
23
+ type: identifier
@@ -64,10 +64,16 @@ Person:
64
64
  nationality:
65
65
  label: Nationality
66
66
  type: country
67
+ citizenship:
68
+ label: Citizenship
69
+ type: country
67
70
  passportNumber:
68
71
  label: Passport number
69
72
  type: identifier
70
73
  # Awkward data section below
74
+ socialSecurityNumber:
75
+ label: Social security number
76
+ type: identifier
71
77
  gender:
72
78
  label: Gender
73
79
  type: gender
@@ -3,6 +3,7 @@ from rigour.text.distance import levenshtein_similarity
3
3
  from rigour.names import pick_name
4
4
  from normality import slugify
5
5
  from normality.cleaning import collapse_spaces, strip_quotes
6
+ from fingerprints.cleanup import clean_name_light
6
7
 
7
8
  from followthemoney.types.common import PropertyType
8
9
  from followthemoney.util import dampen
@@ -48,7 +49,11 @@ class NameType(PropertyType):
48
49
 
49
50
  def compare(self, left: str, right: str) -> float:
50
51
  """Compare two names for similarity."""
51
- return levenshtein_similarity(left, right)
52
+ left_clean = clean_name_light(left)
53
+ right_clean = clean_name_light(right)
54
+ if left_clean is None or right_clean is None:
55
+ return 0.0
56
+ return levenshtein_similarity(left_clean, right_clean)
52
57
 
53
58
  def node_id(self, value: str) -> Optional[str]:
54
59
  slug = slugify(value)
@@ -58,7 +58,7 @@ class TopicType(EnumType):
58
58
  "fin.adivsor": _("Financial advisor"),
59
59
  "reg.action": _("Regulator action"),
60
60
  "reg.warn": _("Regulator warning"),
61
- "role.pep": _("Politican"),
61
+ "role.pep": _("Politician"),
62
62
  "role.pol": _("Non-PEP"),
63
63
  "role.rca": _("Close Associate"),
64
64
  "role.judge": _("Judge"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: followthemoney
3
- Version: 3.6.0
3
+ Version: 3.6.2
4
4
  Home-page: https://followthemoney.tech/
5
5
  Author: Organized Crime and Corruption Reporting Project
6
6
  Author-email: data@occrp.org
@@ -1,4 +1,4 @@
1
- followthemoney/__init__.py,sha256=r3yXZluiZbP17mu2VZIJ5Q9_ItUb_kX81WIMtyWzaK0,360
1
+ followthemoney/__init__.py,sha256=3LtFiEIAlJAS2fmNN_ehlGHVsZV0kyknoS-vI0-2Bf4,360
2
2
  followthemoney/compare.py,sha256=1GFkCfTzA8QR0CH90kvySR8hvl9hQRUerW5Xw2Ivmpg,5134
3
3
  followthemoney/exc.py,sha256=ynZs_UnTVxHR-iBfat_CpVLraYzVX5yLtVf5Ti14hl4,734
4
4
  followthemoney/graph.py,sha256=VNDKrUBkz_-DmKsr5v-Xm8VfxzabnTwkU_MFk92_TjA,10848
@@ -67,21 +67,21 @@ followthemoney/schema/Identification.yaml,sha256=XVvZXTZZUg8qDzTga8dgF3mJqK9eSDg
67
67
  followthemoney/schema/Image.yaml,sha256=MMrK4wQJBuN07STwTmsPjXXpYZB7fPt_hQtweSBM4m0,388
68
68
  followthemoney/schema/Interest.yaml,sha256=xPYobeuxFMFXUWlQuPvDjAsr3QQDPteRz68_rq7Dvf0,276
69
69
  followthemoney/schema/Interval.yaml,sha256=WtmSoBngajhpNLtDZ8Ocpdd0I0tLG-7A4afuHXxssow,1919
70
- followthemoney/schema/LegalEntity.yaml,sha256=p_ty9cXsv8f7TTuz644R5SEmVePW-Gbp0ZrHgCgDIyk,3645
70
+ followthemoney/schema/LegalEntity.yaml,sha256=Z970rZPUNifemP6zeAFaGursqIcz02V1a7JT3zPzG0E,3781
71
71
  followthemoney/schema/License.yaml,sha256=9Ye5vGEBhi7ttGqf0DdAGCJCN3zz5HtGu52dCcmCsQk,452
72
72
  followthemoney/schema/Membership.yaml,sha256=TzU1A-hPVXRJcNkC78N-EPhZ_qUgO14IZ8lB9WQ63AM,696
73
73
  followthemoney/schema/Mention.yaml,sha256=nBeulR_Jm4x75aJ7yNF0TAVhHJqXQaEzOutLIn_YU-4,1086
74
74
  followthemoney/schema/Message.yaml,sha256=89k3kdN2w_Vfz1UjbUUPojZtMsAvmZGiDSkHeSNMl8w,1484
75
75
  followthemoney/schema/Note.yaml,sha256=NohwtFupxIssZuEgQowiQWqKit4uQ-OatAu3yp9eJj4,411
76
76
  followthemoney/schema/Occupancy.yaml,sha256=KpsEsL8AHx6bsnECCCOC5Xrz2O4Dx6Hgx0p2zv8x-hk,767
77
- followthemoney/schema/Organization.yaml,sha256=5_3RZX2dgvLJDUC6c2vgggRxvmaf5VqtD8i7iF7A6Hg,424
77
+ followthemoney/schema/Organization.yaml,sha256=Lx2kpyMKLBIiq82VhM0yQyfMvLCl_ZfnRJ49NGxSWdo,557
78
78
  followthemoney/schema/Ownership.yaml,sha256=YCLSRbs9eeH6p8G2iHzbJDxc7aCioxjHybi--4PCHXQ,983
79
79
  followthemoney/schema/Package.yaml,sha256=uDEM3ABGA27uQLqgronS0dx7yteLiXHPz0XGvT1m_3c,304
80
80
  followthemoney/schema/Page.yaml,sha256=sQt_CnVyjDVGVECLQoGYZH4hxpjdPhxVRz4XJW-_1OU,1107
81
81
  followthemoney/schema/Pages.yaml,sha256=deUgHFxgC_lmfRon9K6JlCyfJ-5WdoTmLiU_lr393u0,444
82
82
  followthemoney/schema/Passport.yaml,sha256=VkGMSJ2rG3_trME4wci45qmk1f_NUHYOn2YoLzrdre0,730
83
83
  followthemoney/schema/Payment.yaml,sha256=WRBJuj9ljsxLBs-0g9Z9UD87uR1RTtuUiYnWOnKr1qA,1757
84
- followthemoney/schema/Person.yaml,sha256=N4qaVSwDs1V3fzTYTMwg57wOlgbkjaeZuPn0QbYICG8,1886
84
+ followthemoney/schema/Person.yaml,sha256=8-ynlkKEjDqKRVrYUAHZ31DgbDKrRL6HzP0mVpb4V-8,2033
85
85
  followthemoney/schema/PlainText.yaml,sha256=AYShjP5T_YUQypeAGJT7qdXbhBT_KahBKnwoypAqcjQ,272
86
86
  followthemoney/schema/Position.yaml,sha256=k5xdmowJfxR-A93aWMqZ1Z3EuEHsTwvXefKyy0K9DtU,1303
87
87
  followthemoney/schema/Post.yaml,sha256=NRn3NZpcDUmFW-uUQP8YAYOMYpWirD7-wrljETNh-lA,1029
@@ -143,12 +143,12 @@ followthemoney/types/ip.py,sha256=Z4s8mIlY5-IK9Oo13_YbL9lMQpY8SE_NAz0eqaonaYo,13
143
143
  followthemoney/types/json.py,sha256=Hefwns1-ziJf310MWvdfX5ICkOgj9cnnMJuqq1e6qKY,1676
144
144
  followthemoney/types/language.py,sha256=4GT8_kqCwq4tOs7s9TffM7SSr9AaszAQsNJHK27fqVY,2612
145
145
  followthemoney/types/mimetype.py,sha256=EZ5hIdn-wosfLc-GjXDaOzevxaSXPbSPHDUJmPT1h0I,1355
146
- followthemoney/types/name.py,sha256=EbdHQz08qXYJk2DRqtQ4cbYasDuPHWAVziJ-MyrsBLI,1864
146
+ followthemoney/types/name.py,sha256=WsVVDIPJ0Hdlll3XvUgRHlpAbtUxu_p-yJmHaEH-4Gc,2093
147
147
  followthemoney/types/number.py,sha256=9l5v3hcAoJ4V6jaBS_-Kc1gtdJlQrY9L98ElC5e_PLQ,943
148
148
  followthemoney/types/phone.py,sha256=cppWyfZfOFZoGNjjqpMuTgxSgC1j5JFMpPHMHZYvoDQ,4020
149
149
  followthemoney/types/registry.py,sha256=hvQ1oIWz_4PpyUnKA5azbaZCulNb5LCIPyC-AQYVVyw,1936
150
150
  followthemoney/types/string.py,sha256=paSCnFt9TJrCmelmw5-OiwCBu0rkqNh6iauteJIj26k,1130
151
- followthemoney/types/topic.py,sha256=6kIXdlZNeE28MPbRXaDhSI1whNA7tpkTgFwU_o_gxds,3625
151
+ followthemoney/types/topic.py,sha256=BuOpyyTKvXoDZ0C6dcHl90Nz64wsmZ8kKLSyBwylHb0,3626
152
152
  followthemoney/types/url.py,sha256=6p3ctjh0S_VciPLYuyMPwvK9147rpkhWDd4f2kahe10,1470
153
153
  tests/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
154
  tests/export/test_csv.py,sha256=r0ACsWnGdLHIZgXvbshGBQ9An0v1dJGAWulRT-Xittc,1261
@@ -177,10 +177,10 @@ tests/types/test_phones.py,sha256=_GTl-0r5hok8ovUJPRqP7k9kJYMVbanjYUMLrbzFb5U,11
177
177
  tests/types/test_registry.py,sha256=IkrHjrEiIIPd4PdMFUg_jVh_gsE6CzGXIF8s3LIbnl0,296
178
178
  tests/types/test_topic.py,sha256=m35GSwTy-r77YACGDDac09nYLBIUua42Dy7z292m9EU,707
179
179
  tests/types/test_urls.py,sha256=JVmzJ0DKDBle_xLjmOHn0hgDTCpLmljrcfbOM1GSGRw,1170
180
- followthemoney-3.6.0.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
- followthemoney-3.6.0.dist-info/METADATA,sha256=WO2TZ3GZpkAnhwWOT8LYGaQJjbFIJQVEQc1c6HeBxRc,4494
182
- followthemoney-3.6.0.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
183
- followthemoney-3.6.0.dist-info/entry_points.txt,sha256=wpgi-5-jyqCy-yw0eYZbnhBuPja_q3RJmiEl7NymXtQ,593
184
- followthemoney-3.6.0.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
- followthemoney-3.6.0.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
- followthemoney-3.6.0.dist-info/RECORD,,
180
+ followthemoney-3.6.2.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
+ followthemoney-3.6.2.dist-info/METADATA,sha256=xdKAYv9cu_ddZlqh44U2eOIl172IxWDHPb22Sx0CAx4,4494
182
+ followthemoney-3.6.2.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
183
+ followthemoney-3.6.2.dist-info/entry_points.txt,sha256=wpgi-5-jyqCy-yw0eYZbnhBuPja_q3RJmiEl7NymXtQ,593
184
+ followthemoney-3.6.2.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
+ followthemoney-3.6.2.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
+ followthemoney-3.6.2.dist-info/RECORD,,