followthemoney 3.7.8__py2.py3-none-any.whl → 3.7.10__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.7.8"
6
+ __version__ = "3.7.10"
7
7
 
8
8
 
9
9
  model_path = os.path.dirname(__file__)
@@ -110,13 +110,13 @@ LegalEntity:
110
110
  label: "INN"
111
111
  description: "Russian company ID"
112
112
  type: identifier
113
- # format: inn
113
+ format: inn
114
114
  maxLength: 32
115
115
  ogrnCode:
116
116
  label: "OGRN"
117
117
  description: "Major State Registration Number"
118
118
  type: identifier
119
- # format: ogrn
119
+ format: ogrn
120
120
  maxLength: 32
121
121
  leiCode:
122
122
  # cf. https://www.gleif.org/en/about-lei/introducing-the-legal-entity-identifier-lei
@@ -130,6 +130,11 @@ LegalEntity:
130
130
  description: "Data Universal Numbering System - Dun & Bradstreet identifier"
131
131
  type: identifier
132
132
  maxLength: 16
133
+ uniqueEntityId:
134
+ label: "Unique Entity ID"
135
+ description: "UEI from SAM.gov"
136
+ type: identifier
137
+ maxLength: 32
133
138
  npiCode:
134
139
  label: "NPI"
135
140
  description: "National Provider Identifier"
@@ -44,6 +44,7 @@ Vessel:
44
44
  type: identifier
45
45
  pastFlags:
46
46
  label: Past Flags
47
+ type: country
47
48
  pastTypes:
48
49
  label: Past Types
49
50
  #buildDate:
@@ -4,7 +4,7 @@ from rigour.langs import iso_639_alpha3
4
4
 
5
5
  from followthemoney.types.common import EnumType, EnumValues
6
6
  from followthemoney.rdf import URIRef, Identifier
7
- from followthemoney.util import defer as _
7
+ from followthemoney.util import defer as _, gettext
8
8
  from followthemoney.util import get_env_list
9
9
 
10
10
  if TYPE_CHECKING:
@@ -93,12 +93,16 @@ class LanguageType(EnumType):
93
93
  LANGUAGES = [lang.lower().strip() for lang in LANGUAGES]
94
94
 
95
95
  def _locale_names(self, locale: Locale) -> EnumValues:
96
- names = {}
96
+ names = {
97
+ "ara": gettext("Arabic"),
98
+ "nor": gettext("Norwegian"),
99
+ }
97
100
  for lang in self.LANGUAGES:
98
- names[lang] = lang
101
+ if lang not in names:
102
+ names[lang] = lang
99
103
  for code, label in locale.languages.items():
100
104
  code = iso_639_alpha3(code)
101
- if code in self.LANGUAGES:
105
+ if code in self.LANGUAGES and names[code] == code:
102
106
  names[code] = label
103
107
  return names
104
108
 
@@ -1,8 +1,9 @@
1
1
  from typing import TYPE_CHECKING, Optional, Sequence
2
- from rigour.text.distance import levenshtein_similarity
3
- from rigour.names import pick_name
4
2
  from normality import slugify
5
3
  from normality.cleaning import collapse_spaces, strip_quotes
4
+ from rigour.env import MAX_NAME_LENGTH
5
+ from rigour.names import pick_name
6
+ from rigour.text.distance import levenshtein_similarity
6
7
  from fingerprints.cleanup import clean_name_light
7
8
 
8
9
  from followthemoney.types.common import PropertyType
@@ -27,7 +28,7 @@ class NameType(PropertyType):
27
28
  plural = _("Names")
28
29
  matchable = True
29
30
  pivot = True
30
- max_length = 384
31
+ max_length = MAX_NAME_LENGTH
31
32
 
32
33
  def clean_text(
33
34
  self,
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: followthemoney
3
- Version: 3.7.8
3
+ Version: 3.7.10
4
+ Summary: UNKNOWN
4
5
  Home-page: https://followthemoney.tech/
5
6
  Author: Organized Crime and Corruption Reporting Project
6
7
  Author-email: data@occrp.org
7
8
  License: MIT
9
+ Platform: UNKNOWN
8
10
  Classifier: Intended Audience :: Developers
9
11
  Classifier: Operating System :: OS Independent
10
12
  Classifier: Programming Language :: Python
@@ -16,7 +18,7 @@ Requires-Dist: pyyaml<7.0.0,>=5.0.0
16
18
  Requires-Dist: types-PyYAML
17
19
  Requires-Dist: sqlalchemy2-stubs
18
20
  Requires-Dist: banal<1.1.0,>=1.0.6
19
- Requires-Dist: rigour<1.0.0,>=0.7.1
21
+ Requires-Dist: rigour<1.0.0,>=0.7.2
20
22
  Requires-Dist: click<9.0.0,>=8.0
21
23
  Requires-Dist: stringcase<2.0.0,>=1.2.0
22
24
  Requires-Dist: requests<3.0.0,>=2.21.0
@@ -125,3 +127,5 @@ or `major` arguments.
125
127
  When the schema is updated, please update the docs, ideally including the
126
128
  diagrams. For the RDF namespace and JavaScript version of the model,
127
129
  run `make generate`.
130
+
131
+
@@ -1,4 +1,4 @@
1
- followthemoney/__init__.py,sha256=36Ko-kGxoHZPVwjUrkAv0bmQp1gE_rzRIUXJ-fIdtJ8,360
1
+ followthemoney/__init__.py,sha256=GVJhrN5r5Bob0H2yXxOMUaZZwGcgfqJ_6CZqhR7lsXM,361
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,7 +67,7 @@ followthemoney/schema/Identification.yaml,sha256=6txjZs6-3Kn94c3G4tDeDt9Jb4FW55-
67
67
  followthemoney/schema/Image.yaml,sha256=wuznboWECGiV96_GQiXq1-oKNoxO8zKisR4xyusnEn8,394
68
68
  followthemoney/schema/Interest.yaml,sha256=VUrehmsN1WgtS1oAa5jn_JGtSkZGGYLGNahp-R5JhOQ,282
69
69
  followthemoney/schema/Interval.yaml,sha256=WtmSoBngajhpNLtDZ8Ocpdd0I0tLG-7A4afuHXxssow,1919
70
- followthemoney/schema/LegalEntity.yaml,sha256=OiHgeDAnCtfv2VOMjVetF7dupcQfitdYVunRGS0Ztks,3965
70
+ followthemoney/schema/LegalEntity.yaml,sha256=mJsbL4fCBgSm6Xar_Nk8VO2I4imJ6Y2WNYypx8UfeSQ,4094
71
71
  followthemoney/schema/License.yaml,sha256=9Ye5vGEBhi7ttGqf0DdAGCJCN3zz5HtGu52dCcmCsQk,452
72
72
  followthemoney/schema/Membership.yaml,sha256=IPmaOX4Ai2r4sGcA5ig2WmLvWHb38akdxp4smEdDWOE,710
73
73
  followthemoney/schema/Mention.yaml,sha256=nBeulR_Jm4x75aJ7yNF0TAVhHJqXQaEzOutLIn_YU-4,1086
@@ -102,7 +102,7 @@ followthemoney/schema/UnknownLink.yaml,sha256=lneS_HZNgeLyJxwzWnLx0ZoyY3MXt99I_K
102
102
  followthemoney/schema/UserAccount.yaml,sha256=V1JWwwcggCO4G9ByJY9zlQ0uOVp8HQK2mRXwqaGJnBM,763
103
103
  followthemoney/schema/Value.yaml,sha256=cNHTCtakMTXDW0Qpb6ArZodi9rMJ-Ebvp1WsOIRRzw4,310
104
104
  followthemoney/schema/Vehicle.yaml,sha256=WyjfHL7XxEQQ1h0IyOBYKAZ40BEghQaM7_mkFnWyVBg,990
105
- followthemoney/schema/Vessel.yaml,sha256=k6_EofFv_hW8TkgVE2wQ5AKA7QH7dk6b1ghuVb6T3Yg,1039
105
+ followthemoney/schema/Vessel.yaml,sha256=aEqCXJ2h2J_UK6hdRUrA2w8Rqb43s8I4yqeICcfzF1w,1059
106
106
  followthemoney/schema/Video.yaml,sha256=LY3DYMWTHXiAhL0hxBCNCz50cp2sPbUlEhhig5Fbjos,327
107
107
  followthemoney/schema/Workbook.yaml,sha256=iikWPElz4klA7SkWH7eae6xqhbkMCIP_3zdeXzFEMU0,354
108
108
  followthemoney/translations/messages.pot,sha256=P3zcZ-gJhBi8Db7XjaSijhvFhZAInhpcwsA1Vlwjuzg,106899
@@ -141,9 +141,9 @@ followthemoney/types/iban.py,sha256=QYD49erJCB6I2nbtTagRMvpa4RyjezfB4Fpat2QLwAc,
141
141
  followthemoney/types/identifier.py,sha256=Gk4h75_KyjkdtomrK9Ldsh9rD7-bsenFryevJFwqlX0,2036
142
142
  followthemoney/types/ip.py,sha256=BxGARP9JWEWvyRnr7A7xUNwmTxyFd9kwXSZrKR0TK2Q,1412
143
143
  followthemoney/types/json.py,sha256=Hefwns1-ziJf310MWvdfX5ICkOgj9cnnMJuqq1e6qKY,1676
144
- followthemoney/types/language.py,sha256=gbOnrScpC8bOwlbygaMZa-mddoJonX3GPhCHg03i_0I,2632
144
+ followthemoney/types/language.py,sha256=_EKfGXNkzEZyFtLau-jDRxIxebMe4gEMc60aeQ26H9A,2791
145
145
  followthemoney/types/mimetype.py,sha256=EZ5hIdn-wosfLc-GjXDaOzevxaSXPbSPHDUJmPT1h0I,1355
146
- followthemoney/types/name.py,sha256=fSAeg_f_y07Ld6jncIFScCg3Jpr-jLXzCMkZfk3AeUc,2189
146
+ followthemoney/types/name.py,sha256=_Vu-MPYbgdN55gNBT2qHh-RDgbLQgT2l_kftnqJIEdw,2240
147
147
  followthemoney/types/number.py,sha256=9l5v3hcAoJ4V6jaBS_-Kc1gtdJlQrY9L98ElC5e_PLQ,943
148
148
  followthemoney/types/phone.py,sha256=2YFbPBtMepvCWTdcxXq3Fq4AU8B4QYk1FARBpsH8xjs,4040
149
149
  followthemoney/types/registry.py,sha256=hvQ1oIWz_4PpyUnKA5azbaZCulNb5LCIPyC-AQYVVyw,1936
@@ -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.7.8.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
- followthemoney-3.7.8.dist-info/METADATA,sha256=wgq_O4fHMbkgeK11PoWXcaXo3-hBvZO2HrJvaEbgkYQ,4453
182
- followthemoney-3.7.8.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
183
- followthemoney-3.7.8.dist-info/entry_points.txt,sha256=wpgi-5-jyqCy-yw0eYZbnhBuPja_q3RJmiEl7NymXtQ,593
184
- followthemoney-3.7.8.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
- followthemoney-3.7.8.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
- followthemoney-3.7.8.dist-info/RECORD,,
180
+ followthemoney-3.7.10.dist-info/LICENSE,sha256=Jln3uF70A9AQySyrP9JAW6sQTubLoKVQunvuJqISv7w,1098
181
+ followthemoney-3.7.10.dist-info/METADATA,sha256=0SXe0Fgd2MG7xU68DHie1GpL3lfp-AYqODrW9FbhL74,4491
182
+ followthemoney-3.7.10.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
183
+ followthemoney-3.7.10.dist-info/entry_points.txt,sha256=ONq-BcCB8Cnk_K1nvWqJPKSRm6sDW0RibLFp0gGtz-k,594
184
+ followthemoney-3.7.10.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
185
+ followthemoney-3.7.10.dist-info/top_level.txt,sha256=O33_kGPehy6-69B_k01UgMK55_JOhwqe2de7ND23b-Y,21
186
+ followthemoney-3.7.10.dist-info/RECORD,,
@@ -15,3 +15,4 @@ gexf = followthemoney.cli.exports:export_gexf
15
15
  mapping = followthemoney.cli.mapping:run_mapping
16
16
  rdf = followthemoney.cli.exports:export_rdf
17
17
  sieve = followthemoney.cli.sieve:sieve
18
+