followthemoney 1.3.7__py3-none-any.whl → 3.8.1__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.
Files changed (186) hide show
  1. followthemoney/__init__.py +5 -3
  2. followthemoney/cli/__init__.py +17 -0
  3. followthemoney/cli/aggregate.py +56 -0
  4. followthemoney/cli/cli.py +88 -0
  5. followthemoney/cli/exports.py +121 -0
  6. followthemoney/cli/mapping.py +85 -0
  7. followthemoney/cli/sieve.py +67 -0
  8. followthemoney/cli/util.py +142 -0
  9. followthemoney/compare.py +130 -60
  10. followthemoney/exc.py +19 -6
  11. followthemoney/export/common.py +29 -0
  12. followthemoney/export/csv.py +82 -0
  13. followthemoney/export/excel.py +75 -0
  14. followthemoney/export/graph.py +79 -0
  15. followthemoney/export/neo4j.py +182 -0
  16. followthemoney/export/rdf.py +26 -0
  17. followthemoney/graph.py +308 -0
  18. followthemoney/helpers.py +212 -0
  19. followthemoney/mapping/__init__.py +1 -1
  20. followthemoney/mapping/csv.py +67 -35
  21. followthemoney/mapping/entity.py +116 -44
  22. followthemoney/mapping/property.py +90 -44
  23. followthemoney/mapping/query.py +27 -19
  24. followthemoney/mapping/source.py +15 -5
  25. followthemoney/mapping/sql.py +75 -61
  26. followthemoney/messages.py +13 -7
  27. followthemoney/model.py +108 -56
  28. followthemoney/namespace.py +119 -0
  29. followthemoney/offshore.py +48 -0
  30. followthemoney/ontology.py +77 -0
  31. followthemoney/property.py +204 -71
  32. followthemoney/proxy.py +455 -118
  33. followthemoney/rdf.py +9 -0
  34. followthemoney/schema/Address.yaml +78 -0
  35. followthemoney/schema/Airplane.yaml +17 -10
  36. followthemoney/schema/Analyzable.yaml +54 -0
  37. followthemoney/schema/Article.yaml +16 -0
  38. followthemoney/schema/Assessment.yaml +32 -0
  39. followthemoney/schema/Asset.yaml +10 -4
  40. followthemoney/schema/Associate.yaml +41 -0
  41. followthemoney/schema/Audio.yaml +24 -0
  42. followthemoney/schema/BankAccount.yaml +53 -9
  43. followthemoney/schema/Call.yaml +48 -0
  44. followthemoney/schema/CallForTenders.yaml +117 -0
  45. followthemoney/schema/Company.yaml +37 -12
  46. followthemoney/schema/Contract.yaml +41 -7
  47. followthemoney/schema/ContractAward.yaml +30 -11
  48. followthemoney/schema/CourtCase.yaml +16 -10
  49. followthemoney/schema/CourtCaseParty.yaml +17 -6
  50. followthemoney/schema/CryptoWallet.yaml +48 -0
  51. followthemoney/schema/Debt.yaml +37 -0
  52. followthemoney/schema/Directorship.yaml +17 -4
  53. followthemoney/schema/Document.yaml +72 -139
  54. followthemoney/schema/Documentation.yml +38 -0
  55. followthemoney/schema/EconomicActivity.yaml +32 -17
  56. followthemoney/schema/Email.yaml +76 -0
  57. followthemoney/schema/Employment.yaml +39 -0
  58. followthemoney/schema/Event.yaml +35 -3
  59. followthemoney/schema/Family.yaml +41 -0
  60. followthemoney/schema/Folder.yaml +13 -0
  61. followthemoney/schema/HyperText.yaml +21 -0
  62. followthemoney/schema/Identification.yaml +40 -0
  63. followthemoney/schema/Image.yaml +25 -0
  64. followthemoney/schema/Interest.yaml +3 -6
  65. followthemoney/schema/Interval.yaml +56 -5
  66. followthemoney/schema/LegalEntity.yaml +81 -20
  67. followthemoney/schema/License.yaml +7 -3
  68. followthemoney/schema/Membership.yaml +19 -4
  69. followthemoney/schema/Mention.yaml +54 -0
  70. followthemoney/schema/Message.yaml +78 -0
  71. followthemoney/schema/Note.yaml +23 -0
  72. followthemoney/schema/Occupancy.yaml +44 -0
  73. followthemoney/schema/Organization.yaml +38 -3
  74. followthemoney/schema/Ownership.yaml +16 -4
  75. followthemoney/schema/Package.yaml +17 -0
  76. followthemoney/schema/Page.yaml +43 -0
  77. followthemoney/schema/Pages.yaml +23 -0
  78. followthemoney/schema/Passport.yaml +16 -17
  79. followthemoney/schema/Payment.yaml +38 -7
  80. followthemoney/schema/Person.yaml +61 -5
  81. followthemoney/schema/PlainText.yaml +17 -0
  82. followthemoney/schema/Position.yaml +50 -0
  83. followthemoney/schema/Post.yaml +42 -0
  84. followthemoney/schema/Project.yaml +27 -0
  85. followthemoney/schema/ProjectParticipant.yaml +36 -0
  86. followthemoney/schema/PublicBody.yaml +14 -3
  87. followthemoney/schema/RealEstate.yaml +19 -3
  88. followthemoney/schema/Representation.yaml +17 -6
  89. followthemoney/schema/Sanction.yaml +45 -21
  90. followthemoney/schema/Security.yaml +59 -0
  91. followthemoney/schema/Similar.yaml +37 -0
  92. followthemoney/schema/Succession.yaml +36 -0
  93. followthemoney/schema/Table.yaml +32 -0
  94. followthemoney/schema/TaxRoll.yaml +27 -9
  95. followthemoney/schema/Thing.yaml +69 -13
  96. followthemoney/schema/Trip.yaml +42 -0
  97. followthemoney/schema/UnknownLink.yaml +17 -6
  98. followthemoney/schema/UserAccount.yaml +44 -0
  99. followthemoney/schema/Value.yaml +5 -1
  100. followthemoney/schema/Vehicle.yaml +25 -8
  101. followthemoney/schema/Vessel.yaml +18 -10
  102. followthemoney/schema/Video.yaml +20 -0
  103. followthemoney/schema/Workbook.yaml +18 -0
  104. followthemoney/schema.py +436 -135
  105. followthemoney/translations/ar/LC_MESSAGES/followthemoney.mo +0 -0
  106. followthemoney/translations/ar/LC_MESSAGES/followthemoney.po +2900 -787
  107. followthemoney/translations/bs/LC_MESSAGES/followthemoney.mo +0 -0
  108. followthemoney/translations/bs/LC_MESSAGES/followthemoney.po +2108 -520
  109. followthemoney/translations/de/LC_MESSAGES/followthemoney.mo +0 -0
  110. followthemoney/translations/de/LC_MESSAGES/followthemoney.po +2902 -782
  111. followthemoney/translations/es/LC_MESSAGES/followthemoney.mo +0 -0
  112. followthemoney/translations/es/LC_MESSAGES/followthemoney.po +2893 -779
  113. followthemoney/translations/fr/LC_MESSAGES/followthemoney.mo +0 -0
  114. followthemoney/translations/fr/LC_MESSAGES/followthemoney.po +4362 -0
  115. followthemoney/translations/fr/followthemoney.po +3861 -0
  116. followthemoney/translations/messages.pot +3021 -725
  117. followthemoney/translations/nb/LC_MESSAGES/followthemoney.mo +0 -0
  118. followthemoney/translations/nb/LC_MESSAGES/followthemoney.po +3778 -0
  119. followthemoney/translations/nl/LC_MESSAGES/followthemoney.mo +0 -0
  120. followthemoney/translations/nl/LC_MESSAGES/followthemoney.po +3837 -0
  121. followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.mo +0 -0
  122. followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.po +3784 -0
  123. followthemoney/translations/ru/LC_MESSAGES/followthemoney.mo +0 -0
  124. followthemoney/translations/ru/LC_MESSAGES/followthemoney.po +2837 -539
  125. followthemoney/translations/ru/followthemoney.po +4221 -0
  126. followthemoney/translations/tr/LC_MESSAGES/followthemoney.mo +0 -0
  127. followthemoney/translations/tr/LC_MESSAGES/followthemoney.po +2073 -491
  128. followthemoney/types/__init__.py +35 -17
  129. followthemoney/types/address.py +50 -21
  130. followthemoney/types/checksum.py +25 -0
  131. followthemoney/types/common.py +233 -88
  132. followthemoney/types/country.py +50 -56
  133. followthemoney/types/date.py +59 -76
  134. followthemoney/types/email.py +66 -35
  135. followthemoney/types/entity.py +66 -13
  136. followthemoney/types/gender.py +66 -0
  137. followthemoney/types/iban.py +47 -28
  138. followthemoney/types/identifier.py +49 -22
  139. followthemoney/types/ip.py +35 -21
  140. followthemoney/types/json.py +58 -0
  141. followthemoney/types/language.py +124 -37
  142. followthemoney/types/mimetype.py +44 -0
  143. followthemoney/types/name.py +56 -12
  144. followthemoney/types/number.py +30 -0
  145. followthemoney/types/phone.py +92 -34
  146. followthemoney/types/registry.py +52 -0
  147. followthemoney/types/string.py +43 -0
  148. followthemoney/types/topic.py +94 -0
  149. followthemoney/types/url.py +39 -17
  150. followthemoney/util.py +139 -45
  151. followthemoney-3.8.1.dist-info/METADATA +153 -0
  152. followthemoney-3.8.1.dist-info/RECORD +157 -0
  153. {followthemoney-1.3.7.dist-info → followthemoney-3.8.1.dist-info}/WHEEL +1 -2
  154. followthemoney-3.8.1.dist-info/entry_points.txt +17 -0
  155. followthemoney-1.3.7.dist-info/LICENSE.txt → followthemoney-3.8.1.dist-info/licenses/LICENSE +1 -1
  156. followthemoney/link.py +0 -75
  157. followthemoney/schema/Associate.yml +0 -19
  158. followthemoney/schema/Family.yml +0 -19
  159. followthemoney/schema/Land.yml +0 -9
  160. followthemoney/schema/Relationship.yaml +0 -26
  161. followthemoney/types/domain.py +0 -50
  162. followthemoney-1.3.7.dist-info/DESCRIPTION.rst +0 -3
  163. followthemoney-1.3.7.dist-info/METADATA +0 -39
  164. followthemoney-1.3.7.dist-info/RECORD +0 -108
  165. followthemoney-1.3.7.dist-info/entry_points.txt +0 -3
  166. followthemoney-1.3.7.dist-info/metadata.json +0 -1
  167. followthemoney-1.3.7.dist-info/namespace_packages.txt +0 -1
  168. followthemoney-1.3.7.dist-info/top_level.txt +0 -3
  169. ns/ontology.py +0 -128
  170. tests/types/test_addresses.py +0 -24
  171. tests/types/test_common.py +0 -32
  172. tests/types/test_countries.py +0 -27
  173. tests/types/test_dates.py +0 -73
  174. tests/types/test_domains.py +0 -23
  175. tests/types/test_emails.py +0 -32
  176. tests/types/test_entity.py +0 -19
  177. tests/types/test_iban.py +0 -109
  178. tests/types/test_identifiers.py +0 -27
  179. tests/types/test_ip.py +0 -29
  180. tests/types/test_languages.py +0 -23
  181. tests/types/test_names.py +0 -33
  182. tests/types/test_phones.py +0 -24
  183. tests/types/test_registry.py +0 -14
  184. tests/types/test_urls.py +0 -23
  185. {ns → followthemoney/export}/__init__.py +0 -0
  186. /tests/types/__init__.py → /followthemoney/py.typed +0 -0
@@ -0,0 +1,157 @@
1
+ followthemoney/__init__.py,sha256=Cuo89JNtffF2ZZmMgYEsvlkWKVYHXnFnFvzQ6BRX6Gw,360
2
+ followthemoney/compare.py,sha256=1GFkCfTzA8QR0CH90kvySR8hvl9hQRUerW5Xw2Ivmpg,5134
3
+ followthemoney/exc.py,sha256=ynZs_UnTVxHR-iBfat_CpVLraYzVX5yLtVf5Ti14hl4,734
4
+ followthemoney/graph.py,sha256=VNDKrUBkz_-DmKsr5v-Xm8VfxzabnTwkU_MFk92_TjA,10848
5
+ followthemoney/helpers.py,sha256=Btb6BlHg_c-qCXZo-NP_LURKG-qu-QD3Fj1ev_c7Xic,7956
6
+ followthemoney/messages.py,sha256=zUEa9CFecU8nRafIzhN6TKCh1kEihiIyIS1qr8PxY4g,806
7
+ followthemoney/model.py,sha256=p4Bk0XPi9z7SKZVgG1FqeM2i45xwAlDIkHwyyUcDKk0,6426
8
+ followthemoney/namespace.py,sha256=qYplxKn5OO3zDMf3NItKwTwDsJOnski5JbeyhssqhR8,4434
9
+ followthemoney/offshore.py,sha256=Pf0tx-7GyhIZRueshDRqPNlxkHfGstmW5yNDID5Mnws,1060
10
+ followthemoney/ontology.py,sha256=7PEoUKISNpkRvVhuLeE3IE9ZiNtdR8mn9_kzZ9yF9l0,2986
11
+ followthemoney/property.py,sha256=zi9ss1v0e8Wmv-FuLtZd2aod5iTLfBekBxuOTgIOUMU,7718
12
+ followthemoney/proxy.py,sha256=M7RIPF0k-P3v7GYKYhRVVaO1cnUf5FArJepE-2c0KMQ,20033
13
+ followthemoney/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ followthemoney/rdf.py,sha256=9wPs-tqN9QILuvrmH_YheNaFQctyIQqoIEqcS465QHs,343
15
+ followthemoney/schema.py,sha256=vPG2C4r0ar3F74fbU_v-YPq4I3Qfmu9gzxMFWksU7I4,18097
16
+ followthemoney/util.py,sha256=dMaCas9EjUPQ9q_a4qtV1pQOxWfxPjyjwR0e84XSN9c,4396
17
+ followthemoney/cli/__init__.py,sha256=Fl05wMr5-FlOSMRpmu1HJSNfPRpy8u9as5IRbGXdo4U,421
18
+ followthemoney/cli/aggregate.py,sha256=Gwfi5Bt1LCwqbpsCu4P1Cr-QJtCWhbaqgGEzfwJUUL4,2142
19
+ followthemoney/cli/cli.py,sha256=yrPw2iyKY-E-uRWe6KN9W3ayvz-22vfpe_ZeD0RiI0c,3591
20
+ followthemoney/cli/exports.py,sha256=HsTyIOz1KQSeObp9-9SKzSUBW158XOhpU5_Stv_2HWM,4016
21
+ followthemoney/cli/mapping.py,sha256=aEl57en0zu57yMA2AU5y01U5Yyqo_42hkMlAdfIQP08,3284
22
+ followthemoney/cli/sieve.py,sha256=Wh1UQxzyM9Gh60ooS4s4ydlW1b69bMzFM08tg8ttSIY,1940
23
+ followthemoney/cli/util.py,sha256=CFcS-PEwpMasMWX_Yg283O_PaAhcPwkvahFNWc13C8c,4769
24
+ followthemoney/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ followthemoney/export/common.py,sha256=_YrXrwsqmyboDZDhtJ_PazUUJYe1Y-Trqc9lz4YlVR8,991
26
+ followthemoney/export/csv.py,sha256=AvWgyWg0nICAVLv4k9QgWRlgJhJonKCjzlZkrahe5Tg,2633
27
+ followthemoney/export/excel.py,sha256=pj6zNpIbye_Zm3vhCamcqHEe9Fw-RyjtWQDCFY6608s,2645
28
+ followthemoney/export/graph.py,sha256=v0z1FgadyFk5aQ0A5q8E9R4fSO-Tpi5JU9YTDwnRKD8,2765
29
+ followthemoney/export/neo4j.py,sha256=JCLb1eW5FFIJXqmnpNMRzRs1KYuYkCtHZp7KJcu-JNY,7104
30
+ followthemoney/export/rdf.py,sha256=E6RiW7oIsJdaBaLAVm6o-MTokARZtqONPuayILqTqo0,786
31
+ followthemoney/mapping/__init__.py,sha256=iwNqzzvrzJNbNDlOCaDLlBTUrNTlnYHIB5cvo_-9oN4,82
32
+ followthemoney/mapping/csv.py,sha256=Tvc6VSh7-ca63LEE4G0yqOCeGMETkuKzUjIkVn4_d7Q,3185
33
+ followthemoney/mapping/entity.py,sha256=-x_VBHiVthIrZZ-PVKD3oBAq6LYcsyeYW-9TFv80k7M,5905
34
+ followthemoney/mapping/property.py,sha256=41V16HJh6da7oKdSJWyRcyMkx2XFd6iDm9-4PH7Wihw,5036
35
+ followthemoney/mapping/query.py,sha256=8M6bOlEX2p_bbVwEwTu_1slEtU0cfRJB7ajZp-F07CE,2622
36
+ followthemoney/mapping/source.py,sha256=sri-XpSjeHZbQtqNcz1eJYvwVSBNqGO5JwhWswiEx3c,649
37
+ followthemoney/mapping/sql.py,sha256=m3Ho8B2pFsg6q2zj-y55h0O3x9eb6wzjlPBQyZ6DVcI,4752
38
+ followthemoney/schema/Address.yaml,sha256=9cPZfkNiV-5fNfSzBFcE_dwD0V2_WLpGSLT6kL8GbuQ,1709
39
+ followthemoney/schema/Airplane.yaml,sha256=i3tI4INH6ZtKBqm09fAUtCbieFlha-vPfQURXMDZTIU,622
40
+ followthemoney/schema/Analyzable.yaml,sha256=WvyhjYqI7QzBt3qPDgO7MDasJH1qQtgQMToHkV_xtlU,1237
41
+ followthemoney/schema/Article.yaml,sha256=jTH63eP2aZ87W_6m8jS4R_btcrI46tYGeCEqKNLTwLU,266
42
+ followthemoney/schema/Assessment.yaml,sha256=-RH_aEz4xGejucRcwl45KVAnzSLeQ7zwJWguuKST3m0,630
43
+ followthemoney/schema/Asset.yaml,sha256=xQhHJJtnGLfiOaUncqGv4JR3Yn7l46yAg7p0hKFAFVE,260
44
+ followthemoney/schema/Associate.yaml,sha256=ijTHd6GDlK4lMtijdkTzERR9DODtqKk0XoZPlDEsUnI,901
45
+ followthemoney/schema/Audio.yaml,sha256=Eb1rZGUEOX7XDAj_1YIN28NCBzMvkopQBNwgHt_kS18,452
46
+ followthemoney/schema/BankAccount.yaml,sha256=Pvw9FxJYwwnJMoo3IblyPki9VRjLsM4F30jzKZWv9dE,1452
47
+ followthemoney/schema/Call.yaml,sha256=kbVCnVxucBrEplxehXHThLSJAJjy_GhWan-IeZZjr0M,980
48
+ followthemoney/schema/CallForTenders.yaml,sha256=2IWonTzfSbrkynMoEWqv5fekUeFM_xDKpKIbRe1XDbo,3227
49
+ followthemoney/schema/Company.yaml,sha256=ozXP_PHly_cOa3xjKkxaUnlwXc-0jsLYt_682Auql48,3276
50
+ followthemoney/schema/Contract.yaml,sha256=-wVVUBu_KvmiWEjXrw1zgY2m9AAkiHCDd-hxFCUzj6k,1586
51
+ followthemoney/schema/ContractAward.yaml,sha256=b2spaZHYCaP1yR1RCsrI7mUjk-fAF7BUE3dc8Vl3cUQ,1689
52
+ followthemoney/schema/CourtCase.yaml,sha256=lcovnY0Ne_xcggvkqfCW_RHvsRKo8kFTCPCyovAXRtI,599
53
+ followthemoney/schema/CourtCaseParty.yaml,sha256=MpodN2251V_MYD2dBOHZ_qD7Uv6cLg8Gd_b-I8HZjPI,588
54
+ followthemoney/schema/CryptoWallet.yaml,sha256=1Akp0Bzd_x_0GgsUOxW0zkvNDozoMP_8fJyrSn0dAy4,1068
55
+ followthemoney/schema/Debt.yaml,sha256=gSGl1xKPaPWAYYEcX7MxezVn3Gu-CYBIzxGzMd9UTm4,657
56
+ followthemoney/schema/Directorship.yaml,sha256=BMx2AQTLy5ta_lWPnYKj7LFjZWTwtu1hgWncISdKf28,773
57
+ followthemoney/schema/Document.yaml,sha256=MA-vZrK_Imd2HuIhJ7c_BH9Cpecv-DewXJhfjECXjuw,2927
58
+ followthemoney/schema/Documentation.yml,sha256=AZ1kHiKcvkyv3SINLwAwUyoWMVrF8O0mSJhMN4jNNaE,760
59
+ followthemoney/schema/EconomicActivity.yaml,sha256=hm2x-p-49fGOZcy6xVtiplpJs4XsQVFYLgb8D41az0k,4049
60
+ followthemoney/schema/Email.yaml,sha256=IqEHgqUsapbTnCBO7OuV-GvoxLH8LIQscZOyAiateqw,1549
61
+ followthemoney/schema/Employment.yaml,sha256=rQXGva4uOKzQbkow4AM4Iez5t7kzm0HTqhhWzvgosl4,674
62
+ followthemoney/schema/Event.yaml,sha256=NclU-s8puxBk-KlJuz3EF1dqM99d5DCwD_xFh-TXTOU,751
63
+ followthemoney/schema/Family.yaml,sha256=cgZ7ZM_2p_dzUGrLVj8QL86gpeDM-AoK8AbyHjh5b6E,983
64
+ followthemoney/schema/Folder.yaml,sha256=W12iJHTYua7bF7oTpgiDbarEkfa0Q2gSmfLdl537HQY,180
65
+ followthemoney/schema/HyperText.yaml,sha256=Wg5dWeLrVjbXiI-ao69tosJ7rI0DvNU8cCo8AhUXwh4,319
66
+ followthemoney/schema/Identification.yaml,sha256=6txjZs6-3Kn94c3G4tDeDt9Jb4FW55-xjSnYVrvmiEA,853
67
+ followthemoney/schema/Image.yaml,sha256=wuznboWECGiV96_GQiXq1-oKNoxO8zKisR4xyusnEn8,394
68
+ followthemoney/schema/Interest.yaml,sha256=VUrehmsN1WgtS1oAa5jn_JGtSkZGGYLGNahp-R5JhOQ,282
69
+ followthemoney/schema/Interval.yaml,sha256=WtmSoBngajhpNLtDZ8Ocpdd0I0tLG-7A4afuHXxssow,1919
70
+ followthemoney/schema/LegalEntity.yaml,sha256=1AouOu97lbKeLP1VNaprN_oACdTvcptGHob-Wbkc17Q,4298
71
+ followthemoney/schema/License.yaml,sha256=9Ye5vGEBhi7ttGqf0DdAGCJCN3zz5HtGu52dCcmCsQk,452
72
+ followthemoney/schema/Membership.yaml,sha256=IPmaOX4Ai2r4sGcA5ig2WmLvWHb38akdxp4smEdDWOE,710
73
+ followthemoney/schema/Mention.yaml,sha256=nBeulR_Jm4x75aJ7yNF0TAVhHJqXQaEzOutLIn_YU-4,1086
74
+ followthemoney/schema/Message.yaml,sha256=PAxZ2NRFVvnOlp9Ohh5fJDEThjJ0jm3M2YCbJ9KtMuE,1565
75
+ followthemoney/schema/Note.yaml,sha256=NohwtFupxIssZuEgQowiQWqKit4uQ-OatAu3yp9eJj4,411
76
+ followthemoney/schema/Occupancy.yaml,sha256=hFXUAmPxxy3hNEe92pGKgMp80a9A-v_fNDIZd98NzcY,866
77
+ followthemoney/schema/Organization.yaml,sha256=wPXU1ni0-3QzvttDq-gIjbAYHzcWoo3nsLGLw6cnHKI,1064
78
+ followthemoney/schema/Ownership.yaml,sha256=tLWESE9VX0aUuhe6C1pToq2-auPVZBdE3xvBmTRfmPc,1057
79
+ followthemoney/schema/Package.yaml,sha256=gPr-P3lcg7OOAav_KVa8baK4yK57JwfcXwxXheD96UQ,310
80
+ followthemoney/schema/Page.yaml,sha256=sQt_CnVyjDVGVECLQoGYZH4hxpjdPhxVRz4XJW-_1OU,1107
81
+ followthemoney/schema/Pages.yaml,sha256=KKPGZ06Ehp5mWIGnYfHUBN9jT03bk8nakw0pB5bA_7E,450
82
+ followthemoney/schema/Passport.yaml,sha256=rpuLC86sdXnHF-prFQM4mAqYzlSGWKvPE4Cphtn2KRw,805
83
+ followthemoney/schema/Payment.yaml,sha256=WRBJuj9ljsxLBs-0g9Z9UD87uR1RTtuUiYnWOnKr1qA,1757
84
+ followthemoney/schema/Person.yaml,sha256=EsMcdOzGa8v8zQ_AgvDHSUFL0SflPMhdSdC7TWwW0sU,2354
85
+ followthemoney/schema/PlainText.yaml,sha256=hfnVi-HmQeDbqDquSpkPJax9hNm86ioXGr4hzNzyPFE,278
86
+ followthemoney/schema/Position.yaml,sha256=ZpxjWOLxwva_on32r9WD5ys0Ty3YxCju41mg9HG-pe0,1308
87
+ followthemoney/schema/Post.yaml,sha256=cbxy8cWXHFKSvr1ylwDilRURhcsyd9-H7fn_Lb4lsFE,1034
88
+ followthemoney/schema/Project.yaml,sha256=2svtyGJopS0UrqPiuYGpBzj30V7k3LRDX4N1U56y4yY,462
89
+ followthemoney/schema/ProjectParticipant.yaml,sha256=xNehEu90uqUfboNouezhZQ8ZQLxzWq1yyNO4kua-Lyc,727
90
+ followthemoney/schema/PublicBody.yaml,sha256=BNfLBqH1OapoEninAjWmqZx_n-G5QUnzzydW7300TiY,301
91
+ followthemoney/schema/RealEstate.yaml,sha256=NWFHXqEHskYQN-kvQESZpu74nztShqoYSZEjZAr-DHM,1363
92
+ followthemoney/schema/Representation.yaml,sha256=sCvFnUDQaElq2cqSB0rILcMYb2gaMZqlzxlHxyX9IGg,792
93
+ followthemoney/schema/Sanction.yaml,sha256=VpvVXReuA3xF1V0tlDyK_LItnL6G_Xt3HivnCf9_zag,1259
94
+ followthemoney/schema/Security.yaml,sha256=w8Och0cslWjHPAs60HZ6JarEXdIbqGlIbN1NlvgN_7Y,1212
95
+ followthemoney/schema/Similar.yaml,sha256=gD8rZEaPQWzU-rEfsKdn62uEucF3KxYBcPMoSdnxvME,817
96
+ followthemoney/schema/Succession.yaml,sha256=RMJQqZ4Fv88N1RvWTAgjYg9BB5cELSj5CCAjM681Fpg,749
97
+ followthemoney/schema/Table.yaml,sha256=GcsIAgSO9t2tvObA9zU2HhxlSqTe9CePmUnagu1Z0vI,641
98
+ followthemoney/schema/TaxRoll.yaml,sha256=ugMzaaS7uyq2OLD50eGLcfvd6Cg0cSt65-T9GVqpRSA,746
99
+ followthemoney/schema/Thing.yaml,sha256=PeseDMTO8rDzoTrxRjL9efyJQ0_lGgRQRTzwLu5OwiU,2458
100
+ followthemoney/schema/Trip.yaml,sha256=nLQD_ApmVJ8D56Czl7K700hhNZjzFV9FOQ3NBSQDLiM,771
101
+ followthemoney/schema/UnknownLink.yaml,sha256=lneS_HZNgeLyJxwzWnLx0ZoyY3MXt99I_K2X_o9z5g8,682
102
+ followthemoney/schema/UserAccount.yaml,sha256=V1JWwwcggCO4G9ByJY9zlQ0uOVp8HQK2mRXwqaGJnBM,763
103
+ followthemoney/schema/Value.yaml,sha256=cNHTCtakMTXDW0Qpb6ArZodi9rMJ-Ebvp1WsOIRRzw4,310
104
+ followthemoney/schema/Vehicle.yaml,sha256=Ypl4A5HJFOZfZh3DK0ewN-hyJuCMcovR0mPNddIZrOA,1051
105
+ followthemoney/schema/Vessel.yaml,sha256=nFaUJ_0BzFJstvog1iDvwV9DHKHr9ky4DLb1NZGGh1E,1096
106
+ followthemoney/schema/Video.yaml,sha256=LY3DYMWTHXiAhL0hxBCNCz50cp2sPbUlEhhig5Fbjos,327
107
+ followthemoney/schema/Workbook.yaml,sha256=iikWPElz4klA7SkWH7eae6xqhbkMCIP_3zdeXzFEMU0,354
108
+ followthemoney/translations/messages.pot,sha256=JhtY9NJ9wP_EAX4APxOqMyvKcX53oIC9kAxBsliJkf4,107703
109
+ followthemoney/translations/ar/LC_MESSAGES/followthemoney.mo,sha256=uhb2crSNh8K2ts_QUeD2wvgWgzzpLJWRzXok-Uyx3Zk,38795
110
+ followthemoney/translations/ar/LC_MESSAGES/followthemoney.po,sha256=DuIfvR5v0sPGwFbeg3y6_jCbeglvHWXQ2LDH6prfwLc,121326
111
+ followthemoney/translations/bs/LC_MESSAGES/followthemoney.mo,sha256=xBctvF0GUKbZl6cszj_s3oB6I6Z7iJ8O_pXKRZcR4QU,10751
112
+ followthemoney/translations/bs/LC_MESSAGES/followthemoney.po,sha256=cQdXsSU0gDtH-cdCuyhHDotRjDCz_xrEOZBP62JocXc,93144
113
+ followthemoney/translations/de/LC_MESSAGES/followthemoney.mo,sha256=6SiKvdkHPo6Ru4Jep_P_J-eJnd0TZv-bUdMHELrLoSY,36069
114
+ followthemoney/translations/de/LC_MESSAGES/followthemoney.po,sha256=pB9sZkXx-eS5-WVhGWme03HOiP0XEIluijRHHJlqr_c,115528
115
+ followthemoney/translations/es/LC_MESSAGES/followthemoney.mo,sha256=PYf8-_3V_thdDe6L2DbAAx4_G7_XuNduttlHqSMJ2WI,32142
116
+ followthemoney/translations/es/LC_MESSAGES/followthemoney.po,sha256=AyH6mEivN3tEemqVY6CVrcoVnu2dMjcN1NzuR32Qzz8,115178
117
+ followthemoney/translations/fr/followthemoney.po,sha256=uLWYl4ibZHfQObR_LWvXOq7SvdYC_VaAaisPUzZQDTY,106799
118
+ followthemoney/translations/fr/LC_MESSAGES/followthemoney.mo,sha256=TAsq2ALl1g6JdoEJWl3sSASmIv5a0BBUU8nScjGSruo,42515
119
+ followthemoney/translations/fr/LC_MESSAGES/followthemoney.po,sha256=NBH5chbuqUBqxYZgMnDo2RtQz7UuMGMeHLeFwrEflR8,119960
120
+ followthemoney/translations/nb/LC_MESSAGES/followthemoney.mo,sha256=u8912O6hTkuuxDpT6804JzvZ-jitITqe6I1i30hXPSg,498
121
+ followthemoney/translations/nb/LC_MESSAGES/followthemoney.po,sha256=Tvm7-UzSUGqCcY1wK7rbVP3JFKW-wxCxU1gDJw_9_XQ,89793
122
+ followthemoney/translations/nl/LC_MESSAGES/followthemoney.mo,sha256=nupwBw55tZSJoCocIHO4txPd_Zxl7wuBOXbOHzjRTYE,486
123
+ followthemoney/translations/nl/LC_MESSAGES/followthemoney.po,sha256=qOBe7fZ4AXL9J8pqH2Lv8LFzaHm_C0O8R6dHwlLnQA8,90873
124
+ followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.mo,sha256=E6v_Qz5JIV-UmhfUovtth7AYIw947f2K5UKnEjpU9V0,505
125
+ followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.po,sha256=pG6tnzGFvsKrNRNwq8_JMH2_IjaOpGm_ztZfR5B20FY,89844
126
+ followthemoney/translations/ru/followthemoney.po,sha256=NYISuFWe_4sPleIqmHjDsIsMBE_oS6yZxbdpizACpUY,130617
127
+ followthemoney/translations/ru/LC_MESSAGES/followthemoney.mo,sha256=bXJ9UXFg_MMxzxgqpyyMhv-qT0llqwZFMRocJp-K4PM,67338
128
+ followthemoney/translations/ru/LC_MESSAGES/followthemoney.po,sha256=7SQWytOTvoAQq60GJMh22a1nAzhdEUb5BO4ldpiCtnA,141918
129
+ followthemoney/translations/tr/LC_MESSAGES/followthemoney.mo,sha256=SC84e_ZF_oFJG1NKdyZY_W6Kb6POORZB6wdeAcEWmnE,487
130
+ followthemoney/translations/tr/LC_MESSAGES/followthemoney.po,sha256=AZC3marhtVVq8Ck1FOgnt4sbDMz548nX48O9GDwImbQ,89826
131
+ followthemoney/types/__init__.py,sha256=X9XeM6JktzirAw5gGkyDKGM70NuiJ9Tbjoq0IwVclxU,1745
132
+ followthemoney/types/address.py,sha256=NnJli6jIs5DfePL4m3dA3Xwv7GA8sdl1J6Mtm-QLeOY,2068
133
+ followthemoney/types/checksum.py,sha256=OqjCsBPyMIV3_Y20kTTvjkyayy32pBtaI5KKwYQb6lY,937
134
+ followthemoney/types/common.py,sha256=Yk-7LZ6uDgFzKXUZxQ_j5miN2ZMnlBOziU0iFC7FE9I,10202
135
+ followthemoney/types/country.py,sha256=1ORYH_wV1cbT7HQzoKi3EbKVAy4G59nsuGk4m6Rm3-M,1834
136
+ followthemoney/types/date.py,sha256=4lZCd0aws-T3HE2BYkb-a-t8iQDr0nqFSAEBoUKiTlM,2683
137
+ followthemoney/types/email.py,sha256=zAnMHwC_FZh7IagpDRhGZf-GfQR6uW8d-lZP4UCdGcM,2745
138
+ followthemoney/types/entity.py,sha256=FA8xXNCkiM7HlF6k5lxTlb_B_LKlUwaoOMaVqAdjgYc,2477
139
+ followthemoney/types/gender.py,sha256=AVCa6ocsxueVhGW7RA2BIbQEfDRQANDpKkGY7ZakTYE,1820
140
+ followthemoney/types/iban.py,sha256=QYD49erJCB6I2nbtTagRMvpa4RyjezfB4Fpat2QLwAc,1797
141
+ followthemoney/types/identifier.py,sha256=Gk4h75_KyjkdtomrK9Ldsh9rD7-bsenFryevJFwqlX0,2036
142
+ followthemoney/types/ip.py,sha256=BxGARP9JWEWvyRnr7A7xUNwmTxyFd9kwXSZrKR0TK2Q,1412
143
+ followthemoney/types/json.py,sha256=Hefwns1-ziJf310MWvdfX5ICkOgj9cnnMJuqq1e6qKY,1676
144
+ followthemoney/types/language.py,sha256=CaNKofIzgH8M0yC7YcDt3o2faVCm-NL9xsaC9ypnTyc,2849
145
+ followthemoney/types/mimetype.py,sha256=EZ5hIdn-wosfLc-GjXDaOzevxaSXPbSPHDUJmPT1h0I,1355
146
+ followthemoney/types/name.py,sha256=_Vu-MPYbgdN55gNBT2qHh-RDgbLQgT2l_kftnqJIEdw,2240
147
+ followthemoney/types/number.py,sha256=9l5v3hcAoJ4V6jaBS_-Kc1gtdJlQrY9L98ElC5e_PLQ,943
148
+ followthemoney/types/phone.py,sha256=2YFbPBtMepvCWTdcxXq3Fq4AU8B4QYk1FARBpsH8xjs,4040
149
+ followthemoney/types/registry.py,sha256=hvQ1oIWz_4PpyUnKA5azbaZCulNb5LCIPyC-AQYVVyw,1936
150
+ followthemoney/types/string.py,sha256=grDn1OgKWxIzVxGEdp0HjVKIqtQ9W4SW2ty4quv3Pcs,1202
151
+ followthemoney/types/topic.py,sha256=6g57JKTFF_I233-afvuaswFxMaN_Kmg5MZ4_iAKZh9c,3754
152
+ followthemoney/types/url.py,sha256=r7Pd6Yfn--amwMi_nHoTLMwm5SH8h50SMgQaa2G4PJ0,1492
153
+ followthemoney-3.8.1.dist-info/METADATA,sha256=7gIc__XwnT9cUwDDaG2AQT3zT51gbYTHm1XEd71V6QY,6145
154
+ followthemoney-3.8.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
155
+ followthemoney-3.8.1.dist-info/entry_points.txt,sha256=xvTXjAz0CiZplq4V3iQXlmBexaJyW3zNucIvcDP6L_c,593
156
+ followthemoney-3.8.1.dist-info/licenses/LICENSE,sha256=3tfmmk9RtT1eh67a-NDRwcmOLzztbCtqlHW6O1U92ZA,1098
157
+ followthemoney-3.8.1.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.30.0)
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -0,0 +1,17 @@
1
+ [console_scripts]
2
+ followthemoney = followthemoney.cli.cli:cli
3
+ ftm = followthemoney.cli.cli:cli
4
+ ftmutil = followthemoney.cli.cli:cli
5
+
6
+ [babel.extractors]
7
+ ftmmodel = followthemoney.messages:extract_yaml
8
+
9
+ [followthemoney.cli]
10
+ aggregate = followthemoney.cli.aggregate:aggregate
11
+ csv = followthemoney.cli.exports:export_csv
12
+ cypher = followthemoney.cli.exports:export_cypher
13
+ excel = followthemoney.cli.exports:export_excel
14
+ gexf = followthemoney.cli.exports:export_gexf
15
+ mapping = followthemoney.cli.mapping:run_mapping
16
+ rdf = followthemoney.cli.exports:export_rdf
17
+ sieve = followthemoney.cli.sieve:sieve
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2017-2018 Journalism Development Network, Inc.
3
+ Copyright (c) 2017-2024 Journalism Development Network, Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
followthemoney/link.py DELETED
@@ -1,75 +0,0 @@
1
- from followthemoney.types import registry
2
-
3
-
4
- class Link(object):
5
- """A wrapper object for an RDF-like statement, similar to a triple
6
- but with weighting and some other metadata. This has built-in
7
- support for packing, i.e. transforming the link to a form suitable
8
- for storage in a key/value store.
9
- """
10
- __slots__ = ['ref', 'prop', 'value', 'weight', 'inverted', 'inferred']
11
-
12
- def __init__(self, ref, prop, value, weight=1.0,
13
- inverted=False, inferred=False):
14
- self.ref = ref
15
- self.prop = prop
16
- self.value = value
17
- self.weight = weight
18
- self.inverted = inverted
19
- self.inferred = inferred
20
-
21
- @property
22
- def subject(self):
23
- return registry.deref(self.ref)[1]
24
-
25
- @property
26
- def value_ref(self):
27
- return self.prop.type.ref(self.value)
28
-
29
- def rdf(self):
30
- """Convert to an RDF triple. This looses weighting and inferrence
31
- metadata."""
32
- if self.inverted:
33
- return
34
- subject_type, subject = registry.deref(self.ref)
35
- subject_uri = subject_type.rdf(subject)
36
- value_obj = self.prop.type.rdf(self.value)
37
- return (subject_uri, self.prop.uri, value_obj)
38
-
39
- def to_tuple(self):
40
- return (self.prop.qname, self.weight, self.inverted, self.inferred,
41
- self.value)
42
-
43
- @classmethod
44
- def from_tuple(cls, model, ref, data):
45
- qname, weight, inverted, inferred, value = data
46
- prop = model.get_qname(qname)
47
- return cls(ref, prop, value,
48
- weight=weight,
49
- inverted=inverted,
50
- inferred=inferred)
51
-
52
- def invert(self):
53
- if not self.inverted and self.prop.reverse is not None:
54
- return Link(self.value_ref,
55
- self.prop.reverse,
56
- self.subject,
57
- weight=self.weight)
58
- return Link(self.value_ref,
59
- self.prop,
60
- self.subject,
61
- weight=self.weight,
62
- inverted=not self.inverted)
63
-
64
- def __repr__(self):
65
- return '<Link(%r, %r, %r)>' % (self.ref, self.prop, self.value)
66
-
67
- def __hash__(self):
68
- return hash(self.to_tuple())
69
-
70
- def __eq__(self, other):
71
- return self.ref == other.ref \
72
- and self.prop == other.prop \
73
- and self.value == other.value \
74
- and self.weight == other.weight \
75
- and self.inverted == other.inverted
@@ -1,19 +0,0 @@
1
- Associate:
2
- label: "Associate"
3
- description: "Non-family association between two people"
4
- extends: Relationship
5
- icon: fa-hand-holding-usd
6
- matchable: false
7
- featured:
8
- - person
9
- - associate
10
- - relationship
11
- properties:
12
- associate:
13
- label: "Associate"
14
- description: "An associate of the subject person."
15
- type: entity
16
- schema: Person
17
- reverse:
18
- name: associates
19
- label: "Associates"
@@ -1,19 +0,0 @@
1
- Family:
2
- label: "Family"
3
- description: "Family relationship between two people"
4
- extends: Relationship
5
- icon: fa-home-heart
6
- matchable: false
7
- featured:
8
- - person
9
- - relative
10
- - relationship
11
- properties:
12
- relative:
13
- label: "Relative"
14
- type: entity
15
- schema: Person
16
- reverse:
17
- name: familyRelative
18
- label: "Relatives"
19
- description: "The relative of the subject person."
@@ -1,9 +0,0 @@
1
- Land:
2
- label: Land
3
- plural: Lands
4
- extends: RealEstate
5
- icon: fa-map
6
- matchable: false
7
- featured:
8
- - registrationNumber
9
- properties: {}
@@ -1,26 +0,0 @@
1
- Relationship:
2
- label: "Relationship"
3
- description: "Person-to-person relationship"
4
- extends: Interval
5
- matchable: false
6
- featured:
7
- - person
8
- - relationship
9
- properties:
10
- person:
11
- label: "Person"
12
- description: "The subject of the familial relation."
13
- type: entity
14
- schema: Person
15
- reverse:
16
- name: relationshipPerson
17
- label: "Related to"
18
- relationship:
19
- label: "Relationship"
20
- description: "Nature of the relationship, from the *person's* perspective eg. 'mother', where 'relative' is mother of 'person'."
21
- supportingDocumentType:
22
- label: "Supporting document"
23
- description: "Eg. birth certificate, marriage license. This is *not* just the data source."
24
- supportingDocumentNumber:
25
- label: "Supporting document number"
26
- descripton: "Number or unique identifier for supporting document"
@@ -1,50 +0,0 @@
1
- # TODO: https://pypi.python.org/pypi/publicsuffix/
2
- # import socket
3
- from normality import stringify
4
- from urllib.parse import urlparse
5
-
6
- from followthemoney.types.common import PropertyType
7
-
8
-
9
- class DomainType(PropertyType):
10
- name = 'domain'
11
- group = 'domains'
12
- prefix = 'dns'
13
-
14
- # def _check_exists(self, domain):
15
- # """Actually try to resolve a domain name."""
16
- # try:
17
- # domain = domain.encode('idna').lower()
18
- # socket.getaddrinfo(domain, None)
19
- # return True
20
- # except:
21
- # return False
22
-
23
- def validate(self, obj, **kwargs):
24
- """Check if a thing is a valid domain name."""
25
- text = stringify(obj)
26
- if text is None:
27
- return False
28
- if '.' not in text:
29
- return False
30
- if '@' in text or ':' in text:
31
- return False
32
- if len(text) < 4:
33
- return False
34
- return True
35
-
36
- def clean_text(self, domain, **kwargs):
37
- """Try to extract only the domain bit from the """
38
- try:
39
- # handle URLs by extracting the domain name
40
- domain = urlparse(domain).hostname or domain
41
- domain = domain.lower()
42
- # get rid of port specs
43
- domain = domain.rsplit(':', 1)[0]
44
- domain = domain.rstrip('.')
45
- # handle unicode
46
- domain = domain.encode("idna").decode('ascii')
47
- except ValueError:
48
- return None
49
- if self.validate(domain):
50
- return domain
@@ -1,3 +0,0 @@
1
- Data model and validator for investigative graph data.
2
-
3
-
@@ -1,39 +0,0 @@
1
- Metadata-Version: 2.0
2
- Name: followthemoney
3
- Version: 1.3.7
4
- Summary: UNKNOWN
5
- Home-page: https://occrp.org
6
- Author: Organized Crime and Corruption Reporting Project
7
- Author-email: pudo@occrp.org
8
- License: MIT
9
- Description-Content-Type: UNKNOWN
10
- Platform: UNKNOWN
11
- Requires-Dist: babel
12
- Requires-Dist: banal (>=0.3.8)
13
- Requires-Dist: pyyaml
14
- Requires-Dist: requests[security] (>=2.18.4)
15
- Requires-Dist: python-levenshtein (>=0.12.0)
16
- Requires-Dist: normality (>=0.6.1)
17
- Requires-Dist: sqlalchemy (>=1.2.0)
18
- Requires-Dist: countrynames (>=1.6.0)
19
- Requires-Dist: languagecodes (>=1.0.4)
20
- Requires-Dist: phonenumbers (>=8.9.11)
21
- Requires-Dist: schwifty (>=2018.4.1)
22
- Requires-Dist: urlnormalizer (>=1.2.0)
23
- Requires-Dist: pytz (>=2018.5)
24
- Requires-Dist: rdflib (>=4.1)
25
- Provides-Extra: dev
26
- Requires-Dist: pip (>=10.0.0); extra == 'dev'
27
- Requires-Dist: bumpversion (>=0.5.3); extra == 'dev'
28
- Requires-Dist: wheel (>=0.29.0); extra == 'dev'
29
- Requires-Dist: twine; extra == 'dev'
30
- Requires-Dist: flake8 (>=2.6.0); extra == 'dev'
31
- Requires-Dist: nose; extra == 'dev'
32
- Requires-Dist: transifex-client; extra == 'dev'
33
- Requires-Dist: responses (>=0.9.0); extra == 'dev'
34
- Requires-Dist: coverage (>=4.1); extra == 'dev'
35
- Requires-Dist: recommonmark (>=0.4.0); extra == 'dev'
36
-
37
- Data model and validator for investigative graph data.
38
-
39
-
@@ -1,108 +0,0 @@
1
- followthemoney/__init__.py,sha256=sADtT61dmZQulxvCMeOf0L5x5jLcCPQTnhSO8ecwJd4,297
2
- followthemoney/compare.py,sha256=WIrQsGK1R0qBlpwwj_SsyLWCnd1pGxE24IqvhLDDFgQ,2394
3
- followthemoney/exc.py,sha256=QVCtjW12TA-O6fqn4r6WAp_94vWgUigZ-rRTknRDwOs,389
4
- followthemoney/link.py,sha256=-qKb7o_1zFT7qB7xwkSw2ZtLM9TNFp7MuEuVDdRwBp4,2485
5
- followthemoney/messages.py,sha256=bZ40lXmBDl6cKBsmqdSF6uQJ28BYHpE9kwpVxVuBjKs,585
6
- followthemoney/model.py,sha256=DwyOjueXbJZFyquUxqE5LGzcq6g5YZThUpVIUTxwvHo,3420
7
- followthemoney/property.py,sha256=TtPFpXYCRi2AWUZWMfaZMlUWwSPHfqXxQoQxvLl8NoY,3047
8
- followthemoney/proxy.py,sha256=t-4v_3n2ZhZ9TxmOphPesVkpE6Mcvi8eL8Br1SV-U0k,5665
9
- followthemoney/schema.py,sha256=O_nhb-8--IHbV_Qz9f0Yd1UtAft2CWz_J7F273JifxY,6159
10
- followthemoney/util.py,sha256=xV9LiTQVlv7p2yYsZn-JTWYrpsgj-hM6J1vcERLC-mA,1849
11
- followthemoney/mapping/__init__.py,sha256=j5xXyrabtgBVPyBao_W37a2cebJaDD8yhkdHmgLEajk,80
12
- followthemoney/mapping/csv.py,sha256=t5r3laRJfA--IwhaxXcqnwbtD2hJAn_Zt60wkzPPl1c,2152
13
- followthemoney/mapping/entity.py,sha256=W98bUmLlTL3nQnTs3yM7KbtcqrMayQ77HQb-iQgUI5k,3269
14
- followthemoney/mapping/property.py,sha256=pir_U9RJzbAvj9j7cAq_T3t-Uizyhv7MgHLd8e7vNQI,3632
15
- followthemoney/mapping/query.py,sha256=jAX0pgEZnCCc1SgIaFLDj5QLAgAIsD1EC5ITKvIOYcU,2179
16
- followthemoney/mapping/source.py,sha256=wesjkTXSGdASi74d_8QIxqWjBBSl7rbpixyCcbQEEMw,260
17
- followthemoney/mapping/sql.py,sha256=JRqTvl4qN0ROeOVVuYoA5s5bET4MZs-D6sxzyN4gdzM,3929
18
- followthemoney/schema/Airplane.yaml,sha256=-l9tQrY-8U_j_3pqzo8M07xmJysN_-R8gn7kFt2RIFQ,556
19
- followthemoney/schema/Asset.yaml,sha256=iKZDR9_r6CwYZL0rr91i6wovxtviH1f-hPs1cXjNgn0,134
20
- followthemoney/schema/Associate.yml,sha256=5zlIzSseo6jXvy1T8_kVS5U6a8BKcd-x8c2CF8ckzts,440
21
- followthemoney/schema/BankAccount.yaml,sha256=0-CKrwUwmECWlhacqRq0-JMc7Ne68rXjQEJH2Ksk58I,486
22
- followthemoney/schema/Company.yaml,sha256=4Hk2xOGVrNtB7V8W6ldati-N2V8-IM3lOBqX2J5DuJs,2465
23
- followthemoney/schema/Contract.yaml,sha256=geYyK068GW60qiB8DSbRYGvUGa02e2gAE1hy9yHa7wQ,952
24
- followthemoney/schema/ContractAward.yaml,sha256=npN-AQKK384-qqdAs6Fh6NRmQp5jkQos6IeOQtwbkWQ,1313
25
- followthemoney/schema/CourtCase.yaml,sha256=uYVbK2HQSZKxvoIGkcR8FApKUaP_xjWUibuFWBGmkFw,542
26
- followthemoney/schema/CourtCaseParty.yaml,sha256=NHIV7ogEDuWP--elF4BbQ1UZv56nxBxt8GU2jbMHuhM,431
27
- followthemoney/schema/Directorship.yaml,sha256=D4Dwn-PCAyd-nyt4EYtvjH5Ut55nii_nQNErEDbp7b8,578
28
- followthemoney/schema/Document.yaml,sha256=dNbKTSxBmGlhA95FQV1IPDufi2xUtR5hqkzmfZWRnLM,3776
29
- followthemoney/schema/EconomicActivity.yaml,sha256=z31dYAeTcCO3fA1AJbTeykuqPD0THMSJCB6ytlcb08E,3632
30
- followthemoney/schema/Event.yaml,sha256=E5g0T-lw5OeD6c26H4uCK6V0KmwFcsOnBQZYSrEkCWo,190
31
- followthemoney/schema/Family.yml,sha256=DqCvwLAdVDuhnFn_PYlCXDAnyKN6PGsk4a7bjheEzlw,426
32
- followthemoney/schema/Interest.yaml,sha256=V2YKMKMJ8vsCF0NbcNgqalVzfZQKIAGVw0MRrfMzLn0,335
33
- followthemoney/schema/Interval.yaml,sha256=IWCpj99wqpgPV0Hexr1s_YEUiX_zWTlziDtnOWIJHUw,398
34
- followthemoney/schema/Land.yml,sha256=49x9k8u8NSChjiql981ivG0vtu8DITyc6IgxCibX-y8,145
35
- followthemoney/schema/LegalEntity.yaml,sha256=A8tvAgKG8oDNPx8wvZHnNPTWX_7_QZL1KdHnDRCk-ds,2695
36
- followthemoney/schema/License.yaml,sha256=tf8EZkDqsNL5Kxj8X6J8CnZBnDfPYqqqXo3Q7TQuOt8,413
37
- followthemoney/schema/Membership.yaml,sha256=CxwBuzDQwSEeVV4_D7iDcohtF9RepAD34FsGWNldFns,485
38
- followthemoney/schema/Organization.yaml,sha256=fKg__araMoDk0YbSfqIN3rYTzSeVJKSFiqrtgtuIvt4,122
39
- followthemoney/schema/Ownership.yaml,sha256=ya1p7Paqq2mL4sVQdo6-lXVS5aOikQ9go9nrj-VX1CA,826
40
- followthemoney/schema/Passport.yaml,sha256=gKseZtdL1v7mFfpFhVjNtKe1RoZ9x_RYlmoh0qF5hsY,843
41
- followthemoney/schema/Payment.yaml,sha256=8DlWvaznzTVeTk84I-YkZQJklI8rd7kIbkQvmnoD7XY,1159
42
- followthemoney/schema/Person.yaml,sha256=AB0YK_E1m9sZk1e37RMAz0cnTOhMO_uzzQ9rjRxDFXI,1010
43
- followthemoney/schema/PublicBody.yaml,sha256=rKIlrGccItQev2w8mW7ZMMKwXdEFwDlLH-fJExoWxbU,118
44
- followthemoney/schema/RealEstate.yaml,sha256=3p8uNOkDLAbrztlKKxvb2qlN2mTLI3hxhq6fB-US5qw,968
45
- followthemoney/schema/Relationship.yaml,sha256=ERZNb8qr_MX_Wpp7fJPpIN_OkFGK2pAXSOSVWVQNI_Y,876
46
- followthemoney/schema/Representation.yaml,sha256=3FY-4m-XzyPmEYQIPnuGcjINnwkoZyRh0gm0mTvJsVo,607
47
- followthemoney/schema/Sanction.yaml,sha256=rB3sFqU4CGPW90vo0y5iVgtu5RCm-O_EVTTqQK1WBwU,778
48
- followthemoney/schema/TaxRoll.yaml,sha256=vzhX3_jguH3pdqM_jcJTVfXBMADyriyaRogZQDFtb5w,382
49
- followthemoney/schema/Thing.yaml,sha256=40QFFnuJrdBKoBkEE_K8cWRVsGB4cdd8zhvaiMd57Mg,1108
50
- followthemoney/schema/UnknownLink.yaml,sha256=b4RtZ17NCcZMfNa2V32x5wV2tr6wgUR8D0m399sxl2Y,516
51
- followthemoney/schema/Value.yaml,sha256=YuNrMqs6Ano7UZ6e8n19BC0_z5lw2zmOK-qA-7vjC94,233
52
- followthemoney/schema/Vehicle.yaml,sha256=YFbk1MFcgGcTCjWmT-REq2KiG5BHSxfaIccVZcmfoYA,674
53
- followthemoney/schema/Vessel.yaml,sha256=OTumM933Q1gMUwsf40WmPko0C1us0jrkPnjZrBZQlkI,940
54
- followthemoney/translations/messages.pot,sha256=wkhN0tyKWJIzZ7DgnFSZs07SNomhZbJFdt7la9ppowo,52102
55
- followthemoney/translations/ar/LC_MESSAGES/followthemoney.mo,sha256=zSycbQcxS6s9El3O5B82F-uzPEr6eNDUHVSnbVwiFC4,23023
56
- followthemoney/translations/ar/LC_MESSAGES/followthemoney.po,sha256=HnaFBYHE7YIVri3kPk_EOMz9CiwGf7uePl1FOgj4Io4,52697
57
- followthemoney/translations/bs/LC_MESSAGES/followthemoney.mo,sha256=dOsUqsUojlhHyHlhVeJ756fRAmsQo4AK2t77eAOhTJU,22946
58
- followthemoney/translations/bs/LC_MESSAGES/followthemoney.po,sha256=d6hbqeIJ9prrF3a0smu9XlvqbzRpgC94nAhBsCwjiEc,54818
59
- followthemoney/translations/de/LC_MESSAGES/followthemoney.mo,sha256=7WvA_T-loQyLDv7lLi61AM6T3W4MdJ-CgvIA8AFfOD8,22778
60
- followthemoney/translations/de/LC_MESSAGES/followthemoney.po,sha256=hR4VXvTcedFmvb4ZqIhmE4jInBhYHSDD1HrdFbS1xxk,52795
61
- followthemoney/translations/es/LC_MESSAGES/followthemoney.mo,sha256=tg4bKZ5WN8SfBkIB6D_Wi5_iZZcdxlvkEYkON-Sg5MY,23159
62
- followthemoney/translations/es/LC_MESSAGES/followthemoney.po,sha256=B8-d1qmQQXuxmqsVsN1aYUn6GuT3iXwbkA4Sx2UAD4I,53932
63
- followthemoney/translations/ru/LC_MESSAGES/followthemoney.mo,sha256=Oj-emYrJtA1qgrlCBlNH2Syl2_Yx_G7VLO1MrQ4p8WM,30688
64
- followthemoney/translations/ru/LC_MESSAGES/followthemoney.po,sha256=ZN0zjS-0Klqo0V4R2m8UI0xTbRm3TaO5Y5icyIY_y7I,67531
65
- followthemoney/translations/tr/LC_MESSAGES/followthemoney.mo,sha256=XuQiiJ2bkvbZX-wKZpPVXbR_FJZj9hB0G8dpK61ylQA,22723
66
- followthemoney/translations/tr/LC_MESSAGES/followthemoney.po,sha256=DETPMV21aIwnAKlqsm5nnU5pMWntCByg1uiuisq9K2A,52161
67
- followthemoney/types/__init__.py,sha256=Ise3QV1LUUjQwueS7GV7cz5S9km4Av8DlImbkigHPOs,1234
68
- followthemoney/types/address.py,sha256=OGsBuA-bU_4g4sJQ-ywWkKUJZKnMz8bK70OB5545ZrM,1048
69
- followthemoney/types/common.py,sha256=4Ao-ic7NPU4Jgb4hj2wWS2kz2wsiwzm_LLJ0w_efPlA,3772
70
- followthemoney/types/country.py,sha256=FpvdeGJj94DPk3Bj-zGgxC1r_k4vQG_uawmKQBJUPug,2053
71
- followthemoney/types/date.py,sha256=i50KcrCmo9S-BxoeNfecGMXA5YV86nsy-QPtbWptdpc,3250
72
- followthemoney/types/domain.py,sha256=a4L7X8cx_Vf_Ubh41cDuv3jOlR_XZ-wfwmyo2oUfrZU,1513
73
- followthemoney/types/email.py,sha256=RPSy_W3xH7fHXPmdypvWYlaj62xH578XCZJEQUSmA0E,1668
74
- followthemoney/types/entity.py,sha256=0qpnzmroWl-rLf-Fa-ThtgpcwXfcKNd2iJ8uyUJJPJM,491
75
- followthemoney/types/iban.py,sha256=wj9HEsNbyg-7eExZ3vchNSOchIwabjvo7lCTDm5WciU,954
76
- followthemoney/types/identifier.py,sha256=n9U8pfgM2-WAJGt05ffvGoOM9ERwHLmfH2Us2sMRKWQ,961
77
- followthemoney/types/ip.py,sha256=dBIq-OdYwyagGY-PRv-ll7Y1PRQtfMd-unaHI5IkHrM,897
78
- followthemoney/types/language.py,sha256=z6Jry00mRbpQrWgA9V1GVpX6v8fSAzIKDIfBw6CgxbE,974
79
- followthemoney/types/name.py,sha256=35wZFCLNDKBZcIoq_BBOvJM8EffDla0tN5Ou9Qo8iYM,649
80
- followthemoney/types/phone.py,sha256=kKqyABvImI8oOO-RR6Vi4_2XO0hbGrv3ooM1W5GnTIw,1898
81
- followthemoney/types/url.py,sha256=nS3wVJPKUEW_vXPJeZFS-PhmrpnZFpBS30dQ-9aNfmc,665
82
- followthemoney-1.3.7.dist-info/DESCRIPTION.rst,sha256=hh8qzEHyicPoOxY54ypPcyrKxKdHvblURpPENJzuhMY,57
83
- followthemoney-1.3.7.dist-info/LICENSE.txt,sha256=FKdfpdlHid0qSctUFUOfdL-DQTdbVcaOasZaq2eoFz8,1098
84
- followthemoney-1.3.7.dist-info/METADATA,sha256=o8Cx6e_svt3zBpx_f1CWKGPYDxtGT-EM2kQKJmGUFFE,1290
85
- followthemoney-1.3.7.dist-info/RECORD,,
86
- followthemoney-1.3.7.dist-info/WHEEL,sha256=8Lm45v9gcYRm70DrgFGVe4WsUtUMi1_0Tso1hqPGMjA,92
87
- followthemoney-1.3.7.dist-info/entry_points.txt,sha256=cVTk_xRDcaCzmhpRoIFzBtqad35hNuYEpkQrOtBa6cs,68
88
- followthemoney-1.3.7.dist-info/metadata.json,sha256=f_yRsvL-UQYzhaQHJwygUxCtcfhGe4nqacd9Jfp3nfg,1216
89
- followthemoney-1.3.7.dist-info/namespace_packages.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
90
- followthemoney-1.3.7.dist-info/top_level.txt,sha256=-Pvehz2KyTTC0636TWtRHb4RT1_32DivEdqEGtUYOLA,24
91
- ns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
- ns/ontology.py,sha256=3nVeQAS6lLtU3ZaFJ-CtpBfKBXcDlJQLhg2rOQlMLIo,4592
93
- tests/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
- tests/types/test_addresses.py,sha256=EveB50p3FTpBMoSLl8a_H2EigxPnlo8UqzHpEzoz1jc,769
95
- tests/types/test_common.py,sha256=k8uFcCKk4gef7TnfSPsniIEG6o2Aw3qyW2L0vQ9xecI,1090
96
- tests/types/test_countries.py,sha256=GUKMHBW9LBdMEOMXA7UMT1xJKoV5HKqsiRlGnFYlVvI,1060
97
- tests/types/test_dates.py,sha256=xR-vLX_1xvlDQ0pg78vX5Ho-HY6FrV13AwKPbjRLVzg,3197
98
- tests/types/test_domains.py,sha256=Wl44ipvuBqpny_TgTNkIJMUJwcnnPz5dDD6iIwYsUAc,803
99
- tests/types/test_emails.py,sha256=Hd0eaqDtfLDoIIe67dGMsTGG2SikkBOktDIJxzXfOzM,1282
100
- tests/types/test_entity.py,sha256=TG36OK2S45pMv1s5d9nzTjPiXi-hR2-W81nXmEOKgeU,572
101
- tests/types/test_iban.py,sha256=tODG9YDurVSm-AMytxalBUQJkfj-V-3t_OMk1t8XUGA,6292
102
- tests/types/test_identifiers.py,sha256=CMv0oALK3jvWmb6Vi_7Db86uQEqY7cVeR7fBdJ2PP9I,904
103
- tests/types/test_ip.py,sha256=mop6WP6r0nz-WWVA2XRGZGeP7gsuu6L7mJy6QloVxe8,1020
104
- tests/types/test_languages.py,sha256=g-F-3CGDexZ7OC3F3ox3NgwK2eeobXwkd8N9_GRaRE0,708
105
- tests/types/test_names.py,sha256=eGxNYDymUN3efbAKxwf1lsoB-k6krbLJXXHty_RLm5E,1175
106
- tests/types/test_phones.py,sha256=05LDu6iRNW9sSlws1OIzIYtwNuPu1_w_TemqmJtcb4I,873
107
- tests/types/test_registry.py,sha256=jhQ-Br9BZqDAwFplWdbMqTwovhfbGeHOmZljEH1zaow,394
108
- tests/types/test_urls.py,sha256=g6hPxau0FOwVq53PvoQbzUJat0Gjy7VMIdPk1iCPPic,822
@@ -1,3 +0,0 @@
1
- [babel.extractors]
2
- ftmmodel = followthemoney.messages:extract_yaml
3
-
@@ -1 +0,0 @@
1
- {"description_content_type": "UNKNOWN", "extensions": {"python.details": {"contacts": [{"email": "pudo@occrp.org", "name": "Organized Crime and Corruption Reporting Project", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://occrp.org"}}, "python.exports": {"babel.extractors": {"ftmmodel": "followthemoney.messages:extract_yaml"}}}, "extras": ["dev"], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", "name": "followthemoney", "run_requires": [{"requires": ["babel", "banal (>=0.3.8)", "countrynames (>=1.6.0)", "languagecodes (>=1.0.4)", "normality (>=0.6.1)", "phonenumbers (>=8.9.11)", "python-levenshtein (>=0.12.0)", "pytz (>=2018.5)", "pyyaml", "rdflib (>=4.1)", "requests[security] (>=2.18.4)", "schwifty (>=2018.4.1)", "sqlalchemy (>=1.2.0)", "urlnormalizer (>=1.2.0)"]}, {"extra": "dev", "requires": ["bumpversion (>=0.5.3)", "coverage (>=4.1)", "flake8 (>=2.6.0)", "nose", "pip (>=10.0.0)", "recommonmark (>=0.4.0)", "responses (>=0.9.0)", "transifex-client", "twine", "wheel (>=0.29.0)"]}], "summary": "UNKNOWN", "test_requires": [{"requires": ["coverage", "nose"]}], "version": "1.3.7"}
@@ -1,3 +0,0 @@
1
- followthemoney
2
- ns
3
- tests