graphsense-python 1.6.0__tar.gz → 1.8.1__tar.gz

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 (146) hide show
  1. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/PKG-INFO +17 -6
  2. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/README.md +12 -4
  3. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/__init__.py +2 -2
  4. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/addresses_api.py +160 -1
  5. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/blocks_api.py +130 -1
  6. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/bulk_api.py +11 -1
  7. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/entities_api.py +3 -3
  8. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/general_api.py +1 -1
  9. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/rates_api.py +1 -1
  10. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/tags_api.py +1 -1
  11. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/tokens_api.py +1 -1
  12. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/txs_api.py +25 -1
  13. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api_client.py +2 -2
  14. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/configuration.py +3 -3
  15. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/exceptions.py +1 -1
  16. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/actor.py +1 -1
  17. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/actor_context.py +1 -1
  18. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/actors.py +1 -1
  19. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address.py +1 -1
  20. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_tag.py +12 -1
  21. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_tag_all_of.py +1 -1
  22. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_tags.py +1 -1
  23. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_tx.py +13 -5
  24. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_tx_utxo.py +3 -3
  25. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/address_txs.py +1 -1
  26. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/block.py +3 -3
  27. graphsense_python-1.8.1/graphsense/model/block_at_date.py +274 -0
  28. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/concept.py +1 -1
  29. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/currency_stats.py +3 -3
  30. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/entity.py +1 -1
  31. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/entity_addresses.py +1 -1
  32. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/height.py +1 -1
  33. graphsense_python-1.8.1/graphsense/model/label_summary.py +311 -0
  34. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/labeled_item_ref.py +1 -1
  35. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/labeled_item_refs.py +1 -1
  36. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/link.py +13 -5
  37. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/link_utxo.py +3 -3
  38. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/links.py +1 -1
  39. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/neighbor_address.py +1 -1
  40. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/neighbor_addresses.py +1 -1
  41. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/neighbor_entities.py +1 -1
  42. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/neighbor_entity.py +1 -1
  43. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/rate.py +1 -1
  44. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/rates.py +1 -1
  45. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result.py +1 -1
  46. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_by_currency.py +1 -1
  47. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_labels.py +1 -1
  48. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_leaf.py +1 -1
  49. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level1.py +1 -1
  50. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level2.py +1 -1
  51. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level3.py +1 -1
  52. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level4.py +1 -1
  53. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level5.py +1 -1
  54. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/search_result_level6.py +1 -1
  55. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/stats.py +1 -1
  56. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tag.py +12 -1
  57. graphsense_python-1.8.1/graphsense/model/tag_cloud_entry.py +268 -0
  58. graphsense_python-1.8.1/graphsense/model/tag_summary.py +296 -0
  59. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/taxonomy.py +1 -1
  60. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/token_config.py +1 -1
  61. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/token_configs.py +1 -1
  62. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/token_values.py +1 -1
  63. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx.py +13 -5
  64. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_account.py +19 -7
  65. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_ref.py +1 -1
  66. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_summary.py +3 -3
  67. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_utxo.py +3 -3
  68. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_value.py +5 -1
  69. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/tx_values.py +1 -1
  70. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/txs_account.py +1 -1
  71. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/values.py +1 -1
  72. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model_utils.py +1 -1
  73. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/models/__init__.py +4 -0
  74. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/rest.py +1 -1
  75. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense_python.egg-info/PKG-INFO +17 -6
  76. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense_python.egg-info/SOURCES.txt +5 -62
  77. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/setup.py +10 -3
  78. graphsense-python-1.6.0/test/test_actor.py +0 -40
  79. graphsense-python-1.6.0/test/test_actor_context.py +0 -36
  80. graphsense-python-1.6.0/test/test_actors.py +0 -38
  81. graphsense-python-1.6.0/test/test_address.py +0 -44
  82. graphsense-python-1.6.0/test/test_address_tag.py +0 -40
  83. graphsense-python-1.6.0/test/test_address_tag_all_of.py +0 -36
  84. graphsense-python-1.6.0/test/test_address_tags.py +0 -38
  85. graphsense-python-1.6.0/test/test_address_tx.py +0 -44
  86. graphsense-python-1.6.0/test/test_address_tx_utxo.py +0 -40
  87. graphsense-python-1.6.0/test/test_address_txs.py +0 -38
  88. graphsense-python-1.6.0/test/test_addresses_api.py +0 -71
  89. graphsense-python-1.6.0/test/test_block.py +0 -38
  90. graphsense-python-1.6.0/test/test_blocks_api.py +0 -43
  91. graphsense-python-1.6.0/test/test_bulk_api.py +0 -43
  92. graphsense-python-1.6.0/test/test_concept.py +0 -36
  93. graphsense-python-1.6.0/test/test_currency_stats.py +0 -36
  94. graphsense-python-1.6.0/test/test_entities_api.py +0 -78
  95. graphsense-python-1.6.0/test/test_entity.py +0 -46
  96. graphsense-python-1.6.0/test/test_entity_addresses.py +0 -38
  97. graphsense-python-1.6.0/test/test_general_api.py +0 -43
  98. graphsense-python-1.6.0/test/test_height.py +0 -36
  99. graphsense-python-1.6.0/test/test_labeled_item_ref.py +0 -36
  100. graphsense-python-1.6.0/test/test_labeled_item_refs.py +0 -38
  101. graphsense-python-1.6.0/test/test_link.py +0 -44
  102. graphsense-python-1.6.0/test/test_link_utxo.py +0 -40
  103. graphsense-python-1.6.0/test/test_links.py +0 -38
  104. graphsense-python-1.6.0/test/test_neighbor_address.py +0 -42
  105. graphsense-python-1.6.0/test/test_neighbor_addresses.py +0 -38
  106. graphsense-python-1.6.0/test/test_neighbor_entities.py +0 -38
  107. graphsense-python-1.6.0/test/test_neighbor_entity.py +0 -42
  108. graphsense-python-1.6.0/test/test_rate.py +0 -36
  109. graphsense-python-1.6.0/test/test_rates.py +0 -40
  110. graphsense-python-1.6.0/test/test_rates_api.py +0 -36
  111. graphsense-python-1.6.0/test/test_search_result.py +0 -42
  112. graphsense-python-1.6.0/test/test_search_result_by_currency.py +0 -36
  113. graphsense-python-1.6.0/test/test_search_result_labels.py +0 -36
  114. graphsense-python-1.6.0/test/test_search_result_leaf.py +0 -40
  115. graphsense-python-1.6.0/test/test_search_result_level1.py +0 -42
  116. graphsense-python-1.6.0/test/test_search_result_level2.py +0 -42
  117. graphsense-python-1.6.0/test/test_search_result_level3.py +0 -42
  118. graphsense-python-1.6.0/test/test_search_result_level4.py +0 -42
  119. graphsense-python-1.6.0/test/test_search_result_level5.py +0 -42
  120. graphsense-python-1.6.0/test/test_search_result_level6.py +0 -42
  121. graphsense-python-1.6.0/test/test_stats.py +0 -38
  122. graphsense-python-1.6.0/test/test_tag.py +0 -36
  123. graphsense-python-1.6.0/test/test_tags_api.py +0 -64
  124. graphsense-python-1.6.0/test/test_taxonomy.py +0 -36
  125. graphsense-python-1.6.0/test/test_token_config.py +0 -36
  126. graphsense-python-1.6.0/test/test_token_configs.py +0 -38
  127. graphsense-python-1.6.0/test/test_token_values.py +0 -38
  128. graphsense-python-1.6.0/test/test_tokens_api.py +0 -36
  129. graphsense-python-1.6.0/test/test_tx.py +0 -46
  130. graphsense-python-1.6.0/test/test_tx_account.py +0 -40
  131. graphsense-python-1.6.0/test/test_tx_ref.py +0 -36
  132. graphsense-python-1.6.0/test/test_tx_summary.py +0 -38
  133. graphsense-python-1.6.0/test/test_tx_utxo.py +0 -42
  134. graphsense-python-1.6.0/test/test_tx_value.py +0 -38
  135. graphsense-python-1.6.0/test/test_tx_values.py +0 -38
  136. graphsense-python-1.6.0/test/test_txs_account.py +0 -38
  137. graphsense-python-1.6.0/test/test_txs_api.py +0 -64
  138. graphsense-python-1.6.0/test/test_values.py +0 -38
  139. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/LICENSE +0 -0
  140. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/api/__init__.py +0 -0
  141. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/apis/__init__.py +0 -0
  142. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense/model/__init__.py +0 -0
  143. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense_python.egg-info/dependency_links.txt +0 -0
  144. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense_python.egg-info/requires.txt +0 -0
  145. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/graphsense_python.egg-info/top_level.txt +0 -0
  146. {graphsense-python-1.6.0 → graphsense_python-1.8.1}/setup.cfg +0 -0
@@ -1,10 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: graphsense-python
3
- Version: 1.6.0
3
+ Version: 1.8.1
4
4
  Summary: GraphSense API
5
- Home-page:
5
+ Home-page: https://graphsense.github.io/
6
6
  Author: Iknaio Cryptoasset Analytics GmbH
7
7
  Author-email: contact@ikna.io
8
+ Project-URL: Source, https://github.com/graphsense/graphsense-python
9
+ Project-URL: Changelog, https://github.com/graphsense/blob/master/CHANGELOG.md
10
+ Project-URL: Tracker, https://github.com/graphsense/graphsense-python/issues
8
11
  Keywords: OpenAPI,OpenAPI-Generator,GraphSense API
9
12
  Requires-Python: >=3.6
10
13
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
@@ -17,8 +20,8 @@ GraphSense API provides programmatic access to various ledgers' addresses, entit
17
20
 
18
21
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
19
22
 
20
- - API version: 1.6.0
21
- - Package version: 1.6.0
23
+ - API version: 1.8.0
24
+ - Package version: 1.8.1
22
25
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
23
26
 
24
27
  ## Requirements.
@@ -71,6 +74,7 @@ from graphsense.model.entity import Entity
71
74
  from graphsense.model.height import Height
72
75
  from graphsense.model.links import Links
73
76
  from graphsense.model.neighbor_addresses import NeighborAddresses
77
+ from graphsense.model.tag_summary import TagSummary
74
78
  # Defining the host is optional and defaults to https://api.ikna.io
75
79
  # See configuration.py for a list of all supported configuration parameters.
76
80
  configuration = graphsense.Configuration(
@@ -94,11 +98,12 @@ with graphsense.ApiClient(configuration) as api_client:
94
98
  # Create an instance of the API class
95
99
  api_instance = addresses_api.AddressesApi(api_client)
96
100
  currency = "btc" # str | The cryptocurrency code (e.g., btc)
97
- address = "addressA" # str | The cryptocurrency address
101
+ address = "1Archive1n2C579dMsAu3iC6tWzuQJz8dN" # str | The cryptocurrency address
102
+ include_actors = True # bool | Whether to include information about the actor behind the address (optional) (default to True)
98
103
 
99
104
  try:
100
105
  # Get an address
101
- api_response = api_instance.get_address(currency, address)
106
+ api_response = api_instance.get_address(currency, address, include_actors=include_actors)
102
107
  pprint(api_response)
103
108
  except graphsense.ApiException as e:
104
109
  print("Exception when calling AddressesApi->get_address: %s\n" % e)
@@ -112,11 +117,13 @@ Class | Method | HTTP request | Description
112
117
  ------------ | ------------- | ------------- | -------------
113
118
  *AddressesApi* | [**get_address**](docs/AddressesApi.md#get_address) | **GET** /{currency}/addresses/{address} | Get an address
114
119
  *AddressesApi* | [**get_address_entity**](docs/AddressesApi.md#get_address_entity) | **GET** /{currency}/addresses/{address}/entity | Get the entity of an address
120
+ *AddressesApi* | [**get_tag_summary_by_address**](docs/AddressesApi.md#get_tag_summary_by_address) | **GET** /{currency}/addresses/{address}/tag_summary | Get attribution tag summary for a given address
115
121
  *AddressesApi* | [**list_address_links**](docs/AddressesApi.md#list_address_links) | **GET** /{currency}/addresses/{address}/links | Get outgoing transactions between two addresses
116
122
  *AddressesApi* | [**list_address_neighbors**](docs/AddressesApi.md#list_address_neighbors) | **GET** /{currency}/addresses/{address}/neighbors | Get an address's neighbors in the address graph
117
123
  *AddressesApi* | [**list_address_txs**](docs/AddressesApi.md#list_address_txs) | **GET** /{currency}/addresses/{address}/txs | Get all transactions an address has been involved in
118
124
  *AddressesApi* | [**list_tags_by_address**](docs/AddressesApi.md#list_tags_by_address) | **GET** /{currency}/addresses/{address}/tags | Get attribution tags for a given address
119
125
  *BlocksApi* | [**get_block**](docs/BlocksApi.md#get_block) | **GET** /{currency}/blocks/{height} | Get a block by its height
126
+ *BlocksApi* | [**get_block_by_date**](docs/BlocksApi.md#get_block_by_date) | **GET** /{currency}/block_by_date/{date} | Get the closest blocks given a timestamp
120
127
  *BlocksApi* | [**list_block_txs**](docs/BlocksApi.md#list_block_txs) | **GET** /{currency}/blocks/{height}/txs | Get block transactions
121
128
  *BulkApi* | [**bulk_csv**](docs/BulkApi.md#bulk_csv) | **POST** /{currency}/bulk.csv/{operation} | Get data as CSV in bulk
122
129
  *BulkApi* | [**bulk_json**](docs/BulkApi.md#bulk_json) | **POST** /{currency}/bulk.json/{operation} | Get data as JSON in bulk
@@ -156,11 +163,13 @@ Class | Method | HTTP request | Description
156
163
  - [AddressTxUtxo](docs/AddressTxUtxo.md)
157
164
  - [AddressTxs](docs/AddressTxs.md)
158
165
  - [Block](docs/Block.md)
166
+ - [BlockAtDate](docs/BlockAtDate.md)
159
167
  - [Concept](docs/Concept.md)
160
168
  - [CurrencyStats](docs/CurrencyStats.md)
161
169
  - [Entity](docs/Entity.md)
162
170
  - [EntityAddresses](docs/EntityAddresses.md)
163
171
  - [Height](docs/Height.md)
172
+ - [LabelSummary](docs/LabelSummary.md)
164
173
  - [LabeledItemRef](docs/LabeledItemRef.md)
165
174
  - [LabeledItemRefs](docs/LabeledItemRefs.md)
166
175
  - [Link](docs/Link.md)
@@ -184,6 +193,8 @@ Class | Method | HTTP request | Description
184
193
  - [SearchResultLevel6](docs/SearchResultLevel6.md)
185
194
  - [Stats](docs/Stats.md)
186
195
  - [Tag](docs/Tag.md)
196
+ - [TagCloudEntry](docs/TagCloudEntry.md)
197
+ - [TagSummary](docs/TagSummary.md)
187
198
  - [Taxonomy](docs/Taxonomy.md)
188
199
  - [TokenConfig](docs/TokenConfig.md)
189
200
  - [TokenConfigs](docs/TokenConfigs.md)
@@ -3,8 +3,8 @@ GraphSense API provides programmatic access to various ledgers' addresses, entit
3
3
 
4
4
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
5
5
 
6
- - API version: 1.6.0
7
- - Package version: 1.6.0
6
+ - API version: 1.8.0
7
+ - Package version: 1.8.1
8
8
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
9
9
 
10
10
  ## Requirements.
@@ -57,6 +57,7 @@ from graphsense.model.entity import Entity
57
57
  from graphsense.model.height import Height
58
58
  from graphsense.model.links import Links
59
59
  from graphsense.model.neighbor_addresses import NeighborAddresses
60
+ from graphsense.model.tag_summary import TagSummary
60
61
  # Defining the host is optional and defaults to https://api.ikna.io
61
62
  # See configuration.py for a list of all supported configuration parameters.
62
63
  configuration = graphsense.Configuration(
@@ -80,11 +81,12 @@ with graphsense.ApiClient(configuration) as api_client:
80
81
  # Create an instance of the API class
81
82
  api_instance = addresses_api.AddressesApi(api_client)
82
83
  currency = "btc" # str | The cryptocurrency code (e.g., btc)
83
- address = "addressA" # str | The cryptocurrency address
84
+ address = "1Archive1n2C579dMsAu3iC6tWzuQJz8dN" # str | The cryptocurrency address
85
+ include_actors = True # bool | Whether to include information about the actor behind the address (optional) (default to True)
84
86
 
85
87
  try:
86
88
  # Get an address
87
- api_response = api_instance.get_address(currency, address)
89
+ api_response = api_instance.get_address(currency, address, include_actors=include_actors)
88
90
  pprint(api_response)
89
91
  except graphsense.ApiException as e:
90
92
  print("Exception when calling AddressesApi->get_address: %s\n" % e)
@@ -98,11 +100,13 @@ Class | Method | HTTP request | Description
98
100
  ------------ | ------------- | ------------- | -------------
99
101
  *AddressesApi* | [**get_address**](docs/AddressesApi.md#get_address) | **GET** /{currency}/addresses/{address} | Get an address
100
102
  *AddressesApi* | [**get_address_entity**](docs/AddressesApi.md#get_address_entity) | **GET** /{currency}/addresses/{address}/entity | Get the entity of an address
103
+ *AddressesApi* | [**get_tag_summary_by_address**](docs/AddressesApi.md#get_tag_summary_by_address) | **GET** /{currency}/addresses/{address}/tag_summary | Get attribution tag summary for a given address
101
104
  *AddressesApi* | [**list_address_links**](docs/AddressesApi.md#list_address_links) | **GET** /{currency}/addresses/{address}/links | Get outgoing transactions between two addresses
102
105
  *AddressesApi* | [**list_address_neighbors**](docs/AddressesApi.md#list_address_neighbors) | **GET** /{currency}/addresses/{address}/neighbors | Get an address's neighbors in the address graph
103
106
  *AddressesApi* | [**list_address_txs**](docs/AddressesApi.md#list_address_txs) | **GET** /{currency}/addresses/{address}/txs | Get all transactions an address has been involved in
104
107
  *AddressesApi* | [**list_tags_by_address**](docs/AddressesApi.md#list_tags_by_address) | **GET** /{currency}/addresses/{address}/tags | Get attribution tags for a given address
105
108
  *BlocksApi* | [**get_block**](docs/BlocksApi.md#get_block) | **GET** /{currency}/blocks/{height} | Get a block by its height
109
+ *BlocksApi* | [**get_block_by_date**](docs/BlocksApi.md#get_block_by_date) | **GET** /{currency}/block_by_date/{date} | Get the closest blocks given a timestamp
106
110
  *BlocksApi* | [**list_block_txs**](docs/BlocksApi.md#list_block_txs) | **GET** /{currency}/blocks/{height}/txs | Get block transactions
107
111
  *BulkApi* | [**bulk_csv**](docs/BulkApi.md#bulk_csv) | **POST** /{currency}/bulk.csv/{operation} | Get data as CSV in bulk
108
112
  *BulkApi* | [**bulk_json**](docs/BulkApi.md#bulk_json) | **POST** /{currency}/bulk.json/{operation} | Get data as JSON in bulk
@@ -142,11 +146,13 @@ Class | Method | HTTP request | Description
142
146
  - [AddressTxUtxo](docs/AddressTxUtxo.md)
143
147
  - [AddressTxs](docs/AddressTxs.md)
144
148
  - [Block](docs/Block.md)
149
+ - [BlockAtDate](docs/BlockAtDate.md)
145
150
  - [Concept](docs/Concept.md)
146
151
  - [CurrencyStats](docs/CurrencyStats.md)
147
152
  - [Entity](docs/Entity.md)
148
153
  - [EntityAddresses](docs/EntityAddresses.md)
149
154
  - [Height](docs/Height.md)
155
+ - [LabelSummary](docs/LabelSummary.md)
150
156
  - [LabeledItemRef](docs/LabeledItemRef.md)
151
157
  - [LabeledItemRefs](docs/LabeledItemRefs.md)
152
158
  - [Link](docs/Link.md)
@@ -170,6 +176,8 @@ Class | Method | HTTP request | Description
170
176
  - [SearchResultLevel6](docs/SearchResultLevel6.md)
171
177
  - [Stats](docs/Stats.md)
172
178
  - [Tag](docs/Tag.md)
179
+ - [TagCloudEntry](docs/TagCloudEntry.md)
180
+ - [TagSummary](docs/TagSummary.md)
173
181
  - [Taxonomy](docs/Taxonomy.md)
174
182
  - [TokenConfig](docs/TokenConfig.md)
175
183
  - [TokenConfigs](docs/TokenConfigs.md)
@@ -5,13 +5,13 @@
5
5
 
6
6
  GraphSense API provides programmatic access to various ledgers' addresses, entities, blocks, transactions and tags for automated and highly efficient forensics tasks. # noqa: E501
7
7
 
8
- The version of the OpenAPI document: 1.6.0
8
+ The version of the OpenAPI document: 1.8.0
9
9
  Contact: contact@ikna.io
10
10
  Generated by: https://openapi-generator.tech
11
11
  """
12
12
 
13
13
 
14
- __version__ = "1.6.0"
14
+ __version__ = "1.8.1"
15
15
 
16
16
  # import ApiClient
17
17
  from graphsense.api_client import ApiClient
@@ -3,7 +3,7 @@
3
3
 
4
4
  GraphSense API provides programmatic access to various ledgers' addresses, entities, blocks, transactions and tags for automated and highly efficient forensics tasks. # noqa: E501
5
5
 
6
- The version of the OpenAPI document: 1.6.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: contact@ikna.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  """
@@ -29,6 +29,7 @@ from graphsense.model.entity import Entity
29
29
  from graphsense.model.height import Height
30
30
  from graphsense.model.links import Links
31
31
  from graphsense.model.neighbor_addresses import NeighborAddresses
32
+ from graphsense.model.tag_summary import TagSummary
32
33
 
33
34
 
34
35
  class AddressesApi(object):
@@ -62,6 +63,7 @@ class AddressesApi(object):
62
63
  address (str): The cryptocurrency address
63
64
 
64
65
  Keyword Args:
66
+ include_actors (bool): Whether to include information about the actor behind the address. [optional] if omitted the server will use the default value of True
65
67
  _return_http_data_only (bool): response data without head status
66
68
  code and headers. Default is True.
67
69
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -127,6 +129,7 @@ class AddressesApi(object):
127
129
  'all': [
128
130
  'currency',
129
131
  'address',
132
+ 'include_actors',
130
133
  ],
131
134
  'required': [
132
135
  'currency',
@@ -149,14 +152,18 @@ class AddressesApi(object):
149
152
  (str,),
150
153
  'address':
151
154
  (str,),
155
+ 'include_actors':
156
+ (bool,),
152
157
  },
153
158
  'attribute_map': {
154
159
  'currency': 'currency',
155
160
  'address': 'address',
161
+ 'include_actors': 'include_actors',
156
162
  },
157
163
  'location_map': {
158
164
  'currency': 'path',
159
165
  'address': 'path',
166
+ 'include_actors': 'query',
160
167
  },
161
168
  'collection_format_map': {
162
169
  }
@@ -190,6 +197,7 @@ class AddressesApi(object):
190
197
  address (str): The cryptocurrency address
191
198
 
192
199
  Keyword Args:
200
+ include_actors (bool): Whether to include information about the actor behind the address. [optional] if omitted the server will use the default value of True
193
201
  _return_http_data_only (bool): response data without head status
194
202
  code and headers. Default is True.
195
203
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -255,6 +263,7 @@ class AddressesApi(object):
255
263
  'all': [
256
264
  'currency',
257
265
  'address',
266
+ 'include_actors',
258
267
  ],
259
268
  'required': [
260
269
  'currency',
@@ -277,14 +286,18 @@ class AddressesApi(object):
277
286
  (str,),
278
287
  'address':
279
288
  (str,),
289
+ 'include_actors':
290
+ (bool,),
280
291
  },
281
292
  'attribute_map': {
282
293
  'currency': 'currency',
283
294
  'address': 'address',
295
+ 'include_actors': 'include_actors',
284
296
  },
285
297
  'location_map': {
286
298
  'currency': 'path',
287
299
  'address': 'path',
300
+ 'include_actors': 'query',
288
301
  },
289
302
  'collection_format_map': {
290
303
  }
@@ -299,6 +312,140 @@ class AddressesApi(object):
299
312
  callable=__get_address_entity
300
313
  )
301
314
 
315
+ def __get_tag_summary_by_address(
316
+ self,
317
+ currency,
318
+ address,
319
+ **kwargs
320
+ ):
321
+ """Get attribution tag summary for a given address # noqa: E501
322
+
323
+ This method makes a synchronous HTTP request by default. To make an
324
+ asynchronous HTTP request, please pass async_req=True
325
+
326
+ >>> thread = api.get_tag_summary_by_address(currency, address, async_req=True)
327
+ >>> result = thread.get()
328
+
329
+ Args:
330
+ currency (str): The cryptocurrency code (e.g., btc)
331
+ address (str): The cryptocurrency address
332
+
333
+ Keyword Args:
334
+ include_best_cluster_tag (bool): If the best cluster tag should be inherited to the address level, often helpful for exchanges where not every address is tagged.. [optional] if omitted the server will use the default value of False
335
+ _return_http_data_only (bool): response data without head status
336
+ code and headers. Default is True.
337
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
338
+ will be returned without reading/decoding response data.
339
+ Default is True.
340
+ _request_timeout (int/float/tuple): timeout setting for this request. If
341
+ one number provided, it will be total request timeout. It can also
342
+ be a pair (tuple) of (connection, read) timeouts.
343
+ Default is None.
344
+ _check_input_type (bool): specifies if type checking
345
+ should be done one the data sent to the server.
346
+ Default is True.
347
+ _check_return_type (bool): specifies if type checking
348
+ should be done one the data received from the server.
349
+ Default is True.
350
+ _host_index (int/None): specifies the index of the server
351
+ that we want to use.
352
+ Default is read from the configuration.
353
+ async_req (bool): execute request asynchronously
354
+
355
+ Returns:
356
+ TagSummary
357
+ If the method is called asynchronously, returns the request
358
+ thread.
359
+ """
360
+ kwargs['async_req'] = kwargs.get(
361
+ 'async_req', False
362
+ )
363
+ kwargs['_return_http_data_only'] = kwargs.get(
364
+ '_return_http_data_only', True
365
+ )
366
+ kwargs['_preload_content'] = kwargs.get(
367
+ '_preload_content', True
368
+ )
369
+ kwargs['_request_timeout'] = kwargs.get(
370
+ '_request_timeout', None
371
+ )
372
+ kwargs['_check_input_type'] = kwargs.get(
373
+ '_check_input_type', True
374
+ )
375
+ kwargs['_check_return_type'] = kwargs.get(
376
+ '_check_return_type', True
377
+ )
378
+ kwargs['_host_index'] = kwargs.get('_host_index')
379
+ kwargs['currency'] = \
380
+ currency
381
+ kwargs['address'] = \
382
+ address
383
+ return self.call_with_http_info(**kwargs)
384
+
385
+ self.get_tag_summary_by_address = _Endpoint(
386
+ settings={
387
+ 'response_type': (TagSummary,),
388
+ 'auth': [
389
+ 'api_key'
390
+ ],
391
+ 'endpoint_path': '/{currency}/addresses/{address}/tag_summary',
392
+ 'operation_id': 'get_tag_summary_by_address',
393
+ 'http_method': 'GET',
394
+ 'servers': None,
395
+ },
396
+ params_map={
397
+ 'all': [
398
+ 'currency',
399
+ 'address',
400
+ 'include_best_cluster_tag',
401
+ ],
402
+ 'required': [
403
+ 'currency',
404
+ 'address',
405
+ ],
406
+ 'nullable': [
407
+ ],
408
+ 'enum': [
409
+ ],
410
+ 'validation': [
411
+ ]
412
+ },
413
+ root_map={
414
+ 'validations': {
415
+ },
416
+ 'allowed_values': {
417
+ },
418
+ 'openapi_types': {
419
+ 'currency':
420
+ (str,),
421
+ 'address':
422
+ (str,),
423
+ 'include_best_cluster_tag':
424
+ (bool,),
425
+ },
426
+ 'attribute_map': {
427
+ 'currency': 'currency',
428
+ 'address': 'address',
429
+ 'include_best_cluster_tag': 'include_best_cluster_tag',
430
+ },
431
+ 'location_map': {
432
+ 'currency': 'path',
433
+ 'address': 'path',
434
+ 'include_best_cluster_tag': 'query',
435
+ },
436
+ 'collection_format_map': {
437
+ }
438
+ },
439
+ headers_map={
440
+ 'accept': [
441
+ 'application/json'
442
+ ],
443
+ 'content_type': [],
444
+ },
445
+ api_client=api_client,
446
+ callable=__get_tag_summary_by_address
447
+ )
448
+
302
449
  def __list_address_links(
303
450
  self,
304
451
  currency,
@@ -501,6 +648,7 @@ class AddressesApi(object):
501
648
  Keyword Args:
502
649
  only_ids ([str]): Restrict result to given set of comma separated addresses. [optional]
503
650
  include_labels (bool): Whether to include labels of first page of address tags. [optional] if omitted the server will use the default value of False
651
+ include_actors (bool): Whether to include information about the actor behind the address. [optional] if omitted the server will use the default value of True
504
652
  page (str): Resumption token for retrieving the next page. [optional]
505
653
  pagesize (int): Number of items returned in a single page. [optional]
506
654
  _return_http_data_only (bool): response data without head status
@@ -573,6 +721,7 @@ class AddressesApi(object):
573
721
  'direction',
574
722
  'only_ids',
575
723
  'include_labels',
724
+ 'include_actors',
576
725
  'page',
577
726
  'pagesize',
578
727
  ],
@@ -615,6 +764,8 @@ class AddressesApi(object):
615
764
  ([str],),
616
765
  'include_labels':
617
766
  (bool,),
767
+ 'include_actors':
768
+ (bool,),
618
769
  'page':
619
770
  (str,),
620
771
  'pagesize':
@@ -626,6 +777,7 @@ class AddressesApi(object):
626
777
  'direction': 'direction',
627
778
  'only_ids': 'only_ids',
628
779
  'include_labels': 'include_labels',
780
+ 'include_actors': 'include_actors',
629
781
  'page': 'page',
630
782
  'pagesize': 'pagesize',
631
783
  },
@@ -635,6 +787,7 @@ class AddressesApi(object):
635
787
  'direction': 'query',
636
788
  'only_ids': 'query',
637
789
  'include_labels': 'query',
790
+ 'include_actors': 'query',
638
791
  'page': 'query',
639
792
  'pagesize': 'query',
640
793
  },
@@ -860,6 +1013,7 @@ class AddressesApi(object):
860
1013
  Keyword Args:
861
1014
  page (str): Resumption token for retrieving the next page. [optional]
862
1015
  pagesize (int): Number of items returned in a single page. [optional]
1016
+ include_best_cluster_tag (bool): If the best cluster tag should be inherited to the address level, often helpful for exchanges where not every address is tagged.. [optional] if omitted the server will use the default value of False
863
1017
  _return_http_data_only (bool): response data without head status
864
1018
  code and headers. Default is True.
865
1019
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -927,6 +1081,7 @@ class AddressesApi(object):
927
1081
  'address',
928
1082
  'page',
929
1083
  'pagesize',
1084
+ 'include_best_cluster_tag',
930
1085
  ],
931
1086
  'required': [
932
1087
  'currency',
@@ -958,18 +1113,22 @@ class AddressesApi(object):
958
1113
  (str,),
959
1114
  'pagesize':
960
1115
  (int,),
1116
+ 'include_best_cluster_tag':
1117
+ (bool,),
961
1118
  },
962
1119
  'attribute_map': {
963
1120
  'currency': 'currency',
964
1121
  'address': 'address',
965
1122
  'page': 'page',
966
1123
  'pagesize': 'pagesize',
1124
+ 'include_best_cluster_tag': 'include_best_cluster_tag',
967
1125
  },
968
1126
  'location_map': {
969
1127
  'currency': 'path',
970
1128
  'address': 'path',
971
1129
  'page': 'query',
972
1130
  'pagesize': 'query',
1131
+ 'include_best_cluster_tag': 'query',
973
1132
  },
974
1133
  'collection_format_map': {
975
1134
  }
@@ -3,7 +3,7 @@
3
3
 
4
4
  GraphSense API provides programmatic access to various ledgers' addresses, entities, blocks, transactions and tags for automated and highly efficient forensics tasks. # noqa: E501
5
5
 
6
- The version of the OpenAPI document: 1.6.0
6
+ The version of the OpenAPI document: 1.8.0
7
7
  Contact: contact@ikna.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  """
@@ -23,6 +23,7 @@ from graphsense.model_utils import ( # noqa: F401
23
23
  validate_and_convert_types
24
24
  )
25
25
  from graphsense.model.block import Block
26
+ from graphsense.model.block_at_date import BlockAtDate
26
27
  from graphsense.model.height import Height
27
28
  from graphsense.model.tx import Tx
28
29
 
@@ -167,6 +168,134 @@ class BlocksApi(object):
167
168
  callable=__get_block
168
169
  )
169
170
 
171
+ def __get_block_by_date(
172
+ self,
173
+ currency,
174
+ date,
175
+ **kwargs
176
+ ):
177
+ """Get the closest blocks given a timestamp # noqa: E501
178
+
179
+ This method makes a synchronous HTTP request by default. To make an
180
+ asynchronous HTTP request, please pass async_req=True
181
+
182
+ >>> thread = api.get_block_by_date(currency, date, async_req=True)
183
+ >>> result = thread.get()
184
+
185
+ Args:
186
+ currency (str): The cryptocurrency code (e.g., btc)
187
+ date (datetime): The time of the block
188
+
189
+ Keyword Args:
190
+ _return_http_data_only (bool): response data without head status
191
+ code and headers. Default is True.
192
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
193
+ will be returned without reading/decoding response data.
194
+ Default is True.
195
+ _request_timeout (int/float/tuple): timeout setting for this request. If
196
+ one number provided, it will be total request timeout. It can also
197
+ be a pair (tuple) of (connection, read) timeouts.
198
+ Default is None.
199
+ _check_input_type (bool): specifies if type checking
200
+ should be done one the data sent to the server.
201
+ Default is True.
202
+ _check_return_type (bool): specifies if type checking
203
+ should be done one the data received from the server.
204
+ Default is True.
205
+ _host_index (int/None): specifies the index of the server
206
+ that we want to use.
207
+ Default is read from the configuration.
208
+ async_req (bool): execute request asynchronously
209
+
210
+ Returns:
211
+ BlockAtDate
212
+ If the method is called asynchronously, returns the request
213
+ thread.
214
+ """
215
+ kwargs['async_req'] = kwargs.get(
216
+ 'async_req', False
217
+ )
218
+ kwargs['_return_http_data_only'] = kwargs.get(
219
+ '_return_http_data_only', True
220
+ )
221
+ kwargs['_preload_content'] = kwargs.get(
222
+ '_preload_content', True
223
+ )
224
+ kwargs['_request_timeout'] = kwargs.get(
225
+ '_request_timeout', None
226
+ )
227
+ kwargs['_check_input_type'] = kwargs.get(
228
+ '_check_input_type', True
229
+ )
230
+ kwargs['_check_return_type'] = kwargs.get(
231
+ '_check_return_type', True
232
+ )
233
+ kwargs['_host_index'] = kwargs.get('_host_index')
234
+ kwargs['currency'] = \
235
+ currency
236
+ kwargs['date'] = \
237
+ date
238
+ return self.call_with_http_info(**kwargs)
239
+
240
+ self.get_block_by_date = _Endpoint(
241
+ settings={
242
+ 'response_type': (BlockAtDate,),
243
+ 'auth': [
244
+ 'api_key'
245
+ ],
246
+ 'endpoint_path': '/{currency}/block_by_date/{date}',
247
+ 'operation_id': 'get_block_by_date',
248
+ 'http_method': 'GET',
249
+ 'servers': None,
250
+ },
251
+ params_map={
252
+ 'all': [
253
+ 'currency',
254
+ 'date',
255
+ ],
256
+ 'required': [
257
+ 'currency',
258
+ 'date',
259
+ ],
260
+ 'nullable': [
261
+ ],
262
+ 'enum': [
263
+ ],
264
+ 'validation': [
265
+ ]
266
+ },
267
+ root_map={
268
+ 'validations': {
269
+ },
270
+ 'allowed_values': {
271
+ },
272
+ 'openapi_types': {
273
+ 'currency':
274
+ (str,),
275
+ 'date':
276
+ (datetime,),
277
+ },
278
+ 'attribute_map': {
279
+ 'currency': 'currency',
280
+ 'date': 'date',
281
+ },
282
+ 'location_map': {
283
+ 'currency': 'path',
284
+ 'date': 'path',
285
+ },
286
+ 'collection_format_map': {
287
+ }
288
+ },
289
+ headers_map={
290
+ 'accept': [
291
+ 'application/json'
292
+ ],
293
+ 'content_type': [],
294
+ },
295
+ api_client=api_client,
296
+ callable=__get_block_by_date
297
+ )
298
+
170
299
  def __list_block_txs(
171
300
  self,
172
301
  currency,