followthemoney 3.8.3__py3-none-any.whl → 3.8.4__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.
- followthemoney/__init__.py +1 -1
- followthemoney/model.py +3 -1
- followthemoney/schema.py +1 -0
- followthemoney/types/topic.py +2 -2
- {followthemoney-3.8.3.dist-info → followthemoney-3.8.4.dist-info}/METADATA +1 -1
- {followthemoney-3.8.3.dist-info → followthemoney-3.8.4.dist-info}/RECORD +9 -9
- {followthemoney-3.8.3.dist-info → followthemoney-3.8.4.dist-info}/WHEEL +0 -0
- {followthemoney-3.8.3.dist-info → followthemoney-3.8.4.dist-info}/entry_points.txt +0 -0
- {followthemoney-3.8.3.dist-info → followthemoney-3.8.4.dist-info}/licenses/LICENSE +0 -0
followthemoney/__init__.py
CHANGED
followthemoney/model.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import yaml
|
|
3
|
+
from functools import lru_cache
|
|
3
4
|
from typing import Any, Dict, Generator, Iterator, Optional, Set, TypedDict, Union
|
|
4
5
|
|
|
5
6
|
from followthemoney.types import registry
|
|
@@ -32,7 +33,7 @@ class Model(object):
|
|
|
32
33
|
#: All properties defined in the model.
|
|
33
34
|
self.properties: Set[Property] = set()
|
|
34
35
|
self.qnames: Dict[str, Property] = {}
|
|
35
|
-
for
|
|
36
|
+
for path, _, filenames in os.walk(self.path):
|
|
36
37
|
for filename in filenames:
|
|
37
38
|
self._load(os.path.join(path, filename))
|
|
38
39
|
self.generate()
|
|
@@ -101,6 +102,7 @@ class Model(object):
|
|
|
101
102
|
for entity in gen.map(record).values():
|
|
102
103
|
yield entity
|
|
103
104
|
|
|
105
|
+
@lru_cache(maxsize=None)
|
|
104
106
|
def common_schema(
|
|
105
107
|
self, left: Union[str, Schema], right: Union[str, Schema]
|
|
106
108
|
) -> Schema:
|
followthemoney/schema.py
CHANGED
|
@@ -391,6 +391,7 @@ class Schema:
|
|
|
391
391
|
self._matchable_schemata.add(schema)
|
|
392
392
|
return self._matchable_schemata
|
|
393
393
|
|
|
394
|
+
@lru_cache(maxsize=None)
|
|
394
395
|
def can_match(self, other: "Schema") -> bool:
|
|
395
396
|
"""Check if an schema can match with another schema."""
|
|
396
397
|
return other in self.matchable_schemata
|
followthemoney/types/topic.py
CHANGED
|
@@ -36,7 +36,8 @@ class TopicType(EnumType):
|
|
|
36
36
|
"crime.traffick": _("Trafficking"),
|
|
37
37
|
"crime.traffick.drug": _("Drug trafficking"),
|
|
38
38
|
"crime.traffick.human": _("Human trafficking"),
|
|
39
|
-
"
|
|
39
|
+
"forced.labor": _("Forced labor"),
|
|
40
|
+
"asset.frozen": _("Frozen asset"),
|
|
40
41
|
"wanted": _("Wanted"),
|
|
41
42
|
"corp.offshore": _("Offshore"),
|
|
42
43
|
"corp.shell": _("Shell company"),
|
|
@@ -78,7 +79,6 @@ class TopicType(EnumType):
|
|
|
78
79
|
"pol.union": _("Union"),
|
|
79
80
|
"rel": _("Religion"),
|
|
80
81
|
"mil": _("Military"),
|
|
81
|
-
"asset.frozen": _("Frozen asset"),
|
|
82
82
|
"sanction": _("Sanctioned entity"),
|
|
83
83
|
"sanction.linked": _("Sanction-linked entity"),
|
|
84
84
|
"sanction.counter": _("Counter-sanctioned entity"),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: followthemoney
|
|
3
|
-
Version: 3.8.
|
|
3
|
+
Version: 3.8.4
|
|
4
4
|
Summary: A data model for anti corruption data modeling and analysis.
|
|
5
5
|
Project-URL: Documentation, https://followthemoney.tech/
|
|
6
6
|
Project-URL: Repository, https://github.com/alephdata/followthemoney.git
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
followthemoney/__init__.py,sha256=
|
|
1
|
+
followthemoney/__init__.py,sha256=7oKn-HF4NWWl-ZAFITBRDLydUFGKVOFnmSZH51hf9ak,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
|
|
5
5
|
followthemoney/helpers.py,sha256=Btb6BlHg_c-qCXZo-NP_LURKG-qu-QD3Fj1ev_c7Xic,7956
|
|
6
6
|
followthemoney/messages.py,sha256=zUEa9CFecU8nRafIzhN6TKCh1kEihiIyIS1qr8PxY4g,806
|
|
7
|
-
followthemoney/model.py,sha256=
|
|
7
|
+
followthemoney/model.py,sha256=FBY6iSbfvsxdjwFlwhs234IbYtl_MwEeTTmoxIFBxC0,6485
|
|
8
8
|
followthemoney/namespace.py,sha256=qYplxKn5OO3zDMf3NItKwTwDsJOnski5JbeyhssqhR8,4434
|
|
9
9
|
followthemoney/offshore.py,sha256=Pf0tx-7GyhIZRueshDRqPNlxkHfGstmW5yNDID5Mnws,1060
|
|
10
10
|
followthemoney/ontology.py,sha256=7PEoUKISNpkRvVhuLeE3IE9ZiNtdR8mn9_kzZ9yF9l0,2986
|
|
@@ -12,7 +12,7 @@ followthemoney/property.py,sha256=zi9ss1v0e8Wmv-FuLtZd2aod5iTLfBekBxuOTgIOUMU,77
|
|
|
12
12
|
followthemoney/proxy.py,sha256=M7RIPF0k-P3v7GYKYhRVVaO1cnUf5FArJepE-2c0KMQ,20033
|
|
13
13
|
followthemoney/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
followthemoney/rdf.py,sha256=9wPs-tqN9QILuvrmH_YheNaFQctyIQqoIEqcS465QHs,343
|
|
15
|
-
followthemoney/schema.py,sha256=
|
|
15
|
+
followthemoney/schema.py,sha256=Yqv11zhZXMOq1MjKQP44Ie8vIurDrSr5qlqRJEueLK4,18126
|
|
16
16
|
followthemoney/util.py,sha256=6VR-T5-vT-8xpE6__Skrqe_MpE6y6csvNKERTJlsITA,4527
|
|
17
17
|
followthemoney/cli/__init__.py,sha256=Fl05wMr5-FlOSMRpmu1HJSNfPRpy8u9as5IRbGXdo4U,421
|
|
18
18
|
followthemoney/cli/aggregate.py,sha256=Gwfi5Bt1LCwqbpsCu4P1Cr-QJtCWhbaqgGEzfwJUUL4,2142
|
|
@@ -148,10 +148,10 @@ followthemoney/types/number.py,sha256=9l5v3hcAoJ4V6jaBS_-Kc1gtdJlQrY9L98ElC5e_PL
|
|
|
148
148
|
followthemoney/types/phone.py,sha256=2YFbPBtMepvCWTdcxXq3Fq4AU8B4QYk1FARBpsH8xjs,4040
|
|
149
149
|
followthemoney/types/registry.py,sha256=hvQ1oIWz_4PpyUnKA5azbaZCulNb5LCIPyC-AQYVVyw,1936
|
|
150
150
|
followthemoney/types/string.py,sha256=grDn1OgKWxIzVxGEdp0HjVKIqtQ9W4SW2ty4quv3Pcs,1202
|
|
151
|
-
followthemoney/types/topic.py,sha256=
|
|
151
|
+
followthemoney/types/topic.py,sha256=FqV_4YDpmQxZO9m05l3c-nDyDqsZONqBG5aaf5aCkvA,3797
|
|
152
152
|
followthemoney/types/url.py,sha256=r7Pd6Yfn--amwMi_nHoTLMwm5SH8h50SMgQaa2G4PJ0,1492
|
|
153
|
-
followthemoney-3.8.
|
|
154
|
-
followthemoney-3.8.
|
|
155
|
-
followthemoney-3.8.
|
|
156
|
-
followthemoney-3.8.
|
|
157
|
-
followthemoney-3.8.
|
|
153
|
+
followthemoney-3.8.4.dist-info/METADATA,sha256=hO1oyvwXzk7pDe_Ex8Y-_fydsD8xVb18Iw9Gue6PgM0,6065
|
|
154
|
+
followthemoney-3.8.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
155
|
+
followthemoney-3.8.4.dist-info/entry_points.txt,sha256=xvTXjAz0CiZplq4V3iQXlmBexaJyW3zNucIvcDP6L_c,593
|
|
156
|
+
followthemoney-3.8.4.dist-info/licenses/LICENSE,sha256=3tfmmk9RtT1eh67a-NDRwcmOLzztbCtqlHW6O1U92ZA,1098
|
|
157
|
+
followthemoney-3.8.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|