versedb 0.1.0__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 (572) hide show
  1. versedb/__init__.py +8 -0
  2. versedb/api/__init__.py +1 -0
  3. versedb/api/barcode_lookup/__init__.py +1 -0
  4. versedb/api/barcode_lookup/lookup_by_isbn.py +234 -0
  5. versedb/api/barcode_lookup/lookup_by_upc.py +242 -0
  6. versedb/api/characters/__init__.py +1 -0
  7. versedb/api/characters/get_character_details.py +195 -0
  8. versedb/api/characters/get_character_issues.py +230 -0
  9. versedb/api/characters/get_character_series.py +230 -0
  10. versedb/api/characters/get_character_teams.py +211 -0
  11. versedb/api/characters/list_characters.py +195 -0
  12. versedb/api/comic_shops/__init__.py +1 -0
  13. versedb/api/comic_shops/get_a_comic_shop.py +201 -0
  14. versedb/api/comic_shops/list_comic_shops.py +248 -0
  15. versedb/api/creators/__init__.py +1 -0
  16. versedb/api/creators/get_creator_details.py +181 -0
  17. versedb/api/creators/get_creators_blog_posts.py +196 -0
  18. versedb/api/creators/get_creators_issues.py +230 -0
  19. versedb/api/creators/get_creators_series.py +230 -0
  20. versedb/api/creators/list_creators.py +195 -0
  21. versedb/api/discovery/__init__.py +1 -0
  22. versedb/api/discovery/f_oc_deadlines.py +229 -0
  23. versedb/api/discovery/follow_updates.py +234 -0
  24. versedb/api/discovery/upcoming_1_issues.py +214 -0
  25. versedb/api/events/__init__.py +1 -0
  26. versedb/api/events/get_an_event.py +181 -0
  27. versedb/api/events/list_events.py +304 -0
  28. versedb/api/imprints/__init__.py +1 -0
  29. versedb/api/imprints/get_imprint_details.py +175 -0
  30. versedb/api/imprints/list_imprints.py +210 -0
  31. versedb/api/issues/__init__.py +1 -0
  32. versedb/api/issues/get_issue_characters.py +175 -0
  33. versedb/api/issues/get_issue_creators.py +175 -0
  34. versedb/api/issues/get_issue_details.py +185 -0
  35. versedb/api/issues/get_issue_variants.py +175 -0
  36. versedb/api/issues/get_key_issue_reasons.py +175 -0
  37. versedb/api/issues/get_variant_details.py +195 -0
  38. versedb/api/issues/list_issues.py +455 -0
  39. versedb/api/key_issue_reasons/__init__.py +1 -0
  40. versedb/api/key_issue_reasons/list_key_issue_reasons.py +218 -0
  41. versedb/api/lists/__init__.py +1 -0
  42. versedb/api/lists/add_item_to_list.py +247 -0
  43. versedb/api/lists/browse_lists.py +256 -0
  44. versedb/api/lists/browse_system_lists.py +214 -0
  45. versedb/api/lists/create_list.py +186 -0
  46. versedb/api/lists/delete_list.py +196 -0
  47. versedb/api/lists/get_list.py +224 -0
  48. versedb/api/lists/get_users_lists.py +226 -0
  49. versedb/api/lists/like_list_or_react_to_it.py +293 -0
  50. versedb/api/lists/merge_a_list_into_this_one.py +255 -0
  51. versedb/api/lists/open_a_list_to_any_type.py +230 -0
  52. versedb/api/lists/remove_item_from_list.py +226 -0
  53. versedb/api/lists/reorder_items.py +196 -0
  54. versedb/api/lists/save_list.py +193 -0
  55. versedb/api/lists/stop_a_list_updating_itself.py +213 -0
  56. versedb/api/lists/unlike_list.py +192 -0
  57. versedb/api/lists/unsave_list.py +192 -0
  58. versedb/api/lists/update_list.py +203 -0
  59. versedb/api/podcasts/__init__.py +1 -0
  60. versedb/api/podcasts/get_a_specific_podcast.py +187 -0
  61. versedb/api/podcasts/list_all_podcasts_with_optional_search.py +229 -0
  62. versedb/api/publishers/__init__.py +1 -0
  63. versedb/api/publishers/get_publisher_details.py +207 -0
  64. versedb/api/publishers/list_all_publishers_with_optional_search.py +254 -0
  65. versedb/api/reading/__init__.py +1 -0
  66. versedb/api/reading/view_yearly_reading_statistics.py +223 -0
  67. versedb/api/reading/view_your_monthly_reading_calendar.py +249 -0
  68. versedb/api/reading/view_your_reading_goal.py +180 -0
  69. versedb/api/series/__init__.py +1 -0
  70. versedb/api/series/get_series_characters.py +175 -0
  71. versedb/api/series/get_series_creators.py +175 -0
  72. versedb/api/series/get_series_details.py +185 -0
  73. versedb/api/series/get_series_issues.py +241 -0
  74. versedb/api/series/list_series.py +494 -0
  75. versedb/api/story_arcs/__init__.py +1 -0
  76. versedb/api/story_arcs/get_story_arc_detail.py +203 -0
  77. versedb/api/story_arcs/get_story_arcs_for_a_specific_character.py +211 -0
  78. versedb/api/story_arcs/get_story_arcs_for_a_specific_issue.py +211 -0
  79. versedb/api/story_arcs/get_story_arcs_for_a_specific_universe.py +211 -0
  80. versedb/api/story_arcs/list_all_story_arcs_with_optional_search.py +231 -0
  81. versedb/api/teams/__init__.py +1 -0
  82. versedb/api/teams/get_a_specific_team.py +197 -0
  83. versedb/api/teams/get_characters_for_a_specific_teammembers.py +213 -0
  84. versedb/api/teams/get_issues_for_a_specific_team.py +230 -0
  85. versedb/api/teams/get_series_for_a_specific_team.py +230 -0
  86. versedb/api/teams/list_all_teams_with_optional_search.py +263 -0
  87. versedb/api/titles/__init__.py +1 -0
  88. versedb/api/titles/get_a_specific_title.py +217 -0
  89. versedb/api/titles/list_titles.py +305 -0
  90. versedb/api/universes/__init__.py +1 -0
  91. versedb/api/universes/get_a_specific_universe.py +191 -0
  92. versedb/api/universes/list_universes.py +195 -0
  93. versedb/api/user/__init__.py +1 -0
  94. versedb/api/user/add_issue_to_collection.py +252 -0
  95. versedb/api/user/add_to_pull_list.py +186 -0
  96. versedb/api/user/add_to_wishlist.py +252 -0
  97. versedb/api/user/check_follow_status.py +189 -0
  98. versedb/api/user/check_issue_in_collection.py +248 -0
  99. versedb/api/user/edit_reading_date.py +205 -0
  100. versedb/api/user/follow_content.py +235 -0
  101. versedb/api/user/get_activity_feed.py +195 -0
  102. versedb/api/user/get_the_authenticated_user.py +148 -0
  103. versedb/api/user/lend_a_copy_out.py +255 -0
  104. versedb/api/user/list_collection.py +440 -0
  105. versedb/api/user/list_follows.py +180 -0
  106. versedb/api/user/list_pull_list.py +180 -0
  107. versedb/api/user/list_read_status.py +199 -0
  108. versedb/api/user/list_wishlist.py +180 -0
  109. versedb/api/user/mark_as_read.py +203 -0
  110. versedb/api/user/mark_as_unread.py +195 -0
  111. versedb/api/user/mark_the_copys_open_loan_returned.py +265 -0
  112. versedb/api/user/remove_from_pull_list.py +173 -0
  113. versedb/api/user/remove_from_wishlist.py +223 -0
  114. versedb/api/user/remove_issue_from_collection.py +236 -0
  115. versedb/api/user/unfollow_content.py +195 -0
  116. versedb/api/user/update_collection_item.py +254 -0
  117. versedb/client.py +268 -0
  118. versedb/errors.py +16 -0
  119. versedb/models/__init__.py +957 -0
  120. versedb/models/add_issue_to_collection_body.py +716 -0
  121. versedb/models/add_issue_to_collection_body_acquisition_method.py +23 -0
  122. versedb/models/add_issue_to_collection_body_condition.py +55 -0
  123. versedb/models/add_issue_to_collection_body_format.py +39 -0
  124. versedb/models/add_issue_to_collection_body_grading_company.py +19 -0
  125. versedb/models/add_issue_to_collection_body_label_type.py +31 -0
  126. versedb/models/add_issue_to_collection_body_page_quality.py +21 -0
  127. versedb/models/add_issue_to_collection_body_print_number.py +25 -0
  128. versedb/models/add_issue_to_collection_body_purchase_source.py +39 -0
  129. versedb/models/add_issue_to_collection_body_signature_witness.py +23 -0
  130. versedb/models/add_issue_to_collection_body_status.py +15 -0
  131. versedb/models/add_issue_to_collection_body_variant_type.py +45 -0
  132. versedb/models/add_issue_to_collection_response_201.py +105 -0
  133. versedb/models/add_issue_to_collection_response_201_data.py +152 -0
  134. versedb/models/add_issue_to_collection_response_201_data_issue.py +79 -0
  135. versedb/models/add_issue_to_collection_response_201_data_series.py +70 -0
  136. versedb/models/add_issue_to_collection_response_201_follow_up.py +88 -0
  137. versedb/models/add_issue_to_collection_response_403.py +61 -0
  138. versedb/models/add_issue_to_collection_response_422.py +61 -0
  139. versedb/models/add_item_to_list_body.py +145 -0
  140. versedb/models/add_item_to_list_response_201.py +74 -0
  141. versedb/models/add_item_to_list_response_201_data.py +159 -0
  142. versedb/models/add_item_to_list_response_201_data_entity.py +148 -0
  143. versedb/models/add_item_to_list_response_201_data_entity_series.py +88 -0
  144. versedb/models/add_item_to_list_response_201_data_variant.py +79 -0
  145. versedb/models/add_item_to_list_response_403.py +61 -0
  146. versedb/models/add_item_to_list_response_409.py +83 -0
  147. versedb/models/add_item_to_list_response_409_item.py +159 -0
  148. versedb/models/add_item_to_list_response_409_item_entity.py +148 -0
  149. versedb/models/add_item_to_list_response_409_item_entity_series.py +88 -0
  150. versedb/models/add_item_to_list_response_409_item_variant.py +79 -0
  151. versedb/models/add_to_pull_list_body.py +61 -0
  152. versedb/models/add_to_pull_list_response_201.py +45 -0
  153. versedb/models/add_to_pull_list_response_422.py +83 -0
  154. versedb/models/add_to_pull_list_response_422_errors.py +63 -0
  155. versedb/models/add_to_wishlist_body.py +74 -0
  156. versedb/models/add_to_wishlist_response_200.py +70 -0
  157. versedb/models/add_to_wishlist_response_201.py +70 -0
  158. versedb/models/add_to_wishlist_response_422.py +61 -0
  159. versedb/models/browse_lists_response_200.py +97 -0
  160. versedb/models/browse_lists_response_200_data_item.py +166 -0
  161. versedb/models/browse_lists_response_200_data_item_preview_items_item.py +79 -0
  162. versedb/models/browse_lists_response_200_data_item_user.py +79 -0
  163. versedb/models/browse_lists_response_200_meta.py +88 -0
  164. versedb/models/browse_system_lists_response_200.py +99 -0
  165. versedb/models/browse_system_lists_response_200_data_item.py +159 -0
  166. versedb/models/browse_system_lists_response_200_data_item_preview_items_item.py +79 -0
  167. versedb/models/browse_system_lists_response_200_meta.py +88 -0
  168. versedb/models/check_follow_status_response_200.py +61 -0
  169. versedb/models/check_issue_in_collection_response_200_type_0.py +131 -0
  170. versedb/models/check_issue_in_collection_response_200_type_0_copies_item.py +189 -0
  171. versedb/models/check_issue_in_collection_response_200_type_0_data.py +105 -0
  172. versedb/models/check_issue_in_collection_response_200_type_0_data_issue.py +79 -0
  173. versedb/models/check_issue_in_collection_response_200_type_1.py +111 -0
  174. versedb/models/create_list_body.py +164 -0
  175. versedb/models/create_list_body_rules_type_0.py +51 -0
  176. versedb/models/create_list_response_201.py +74 -0
  177. versedb/models/create_list_response_201_data.py +137 -0
  178. versedb/models/create_list_response_201_data_user.py +70 -0
  179. versedb/models/create_list_response_403.py +61 -0
  180. versedb/models/delete_list_response_403_type_0.py +62 -0
  181. versedb/models/delete_list_response_403_type_1.py +62 -0
  182. versedb/models/edit_reading_date_body.py +93 -0
  183. versedb/models/edit_reading_date_response_200.py +61 -0
  184. versedb/models/f_oc_deadlines_response_200.py +97 -0
  185. versedb/models/f_oc_deadlines_response_200_data_item.py +130 -0
  186. versedb/models/f_oc_deadlines_response_200_data_item_series.py +70 -0
  187. versedb/models/f_oc_deadlines_response_200_meta.py +124 -0
  188. versedb/models/follow_content_body.py +112 -0
  189. versedb/models/follow_content_body_preferences_type_0.py +71 -0
  190. versedb/models/follow_content_response_200.py +70 -0
  191. versedb/models/follow_content_response_403.py +79 -0
  192. versedb/models/follow_content_response_404.py +61 -0
  193. versedb/models/follow_updates_response_200.py +137 -0
  194. versedb/models/follow_updates_response_200_data_item.py +112 -0
  195. versedb/models/follow_updates_response_200_data_item_series.py +79 -0
  196. versedb/models/follow_updates_response_200_follow_contexts.py +45 -0
  197. versedb/models/follow_updates_response_200_follow_types.py +45 -0
  198. versedb/models/follow_updates_response_200_meta.py +106 -0
  199. versedb/models/get_a_comic_shop_response_200.py +74 -0
  200. versedb/models/get_a_comic_shop_response_200_data.py +208 -0
  201. versedb/models/get_a_comic_shop_response_200_data_images.py +70 -0
  202. versedb/models/get_a_comic_shop_response_200_data_operating_hours.py +79 -0
  203. versedb/models/get_a_comic_shop_response_404.py +61 -0
  204. versedb/models/get_a_specific_podcast_response_200.py +76 -0
  205. versedb/models/get_a_specific_podcast_response_200_data.py +241 -0
  206. versedb/models/get_a_specific_podcast_response_200_data_images.py +70 -0
  207. versedb/models/get_a_specific_podcast_response_200_data_platform_links.py +70 -0
  208. versedb/models/get_a_specific_podcast_response_200_data_social_links.py +70 -0
  209. versedb/models/get_a_specific_podcast_response_404.py +61 -0
  210. versedb/models/get_a_specific_team_response_200.py +74 -0
  211. versedb/models/get_a_specific_team_response_200_data.py +197 -0
  212. versedb/models/get_a_specific_team_response_200_data_images.py +79 -0
  213. versedb/models/get_a_specific_team_response_404.py +61 -0
  214. versedb/models/get_a_specific_title_response_200.py +74 -0
  215. versedb/models/get_a_specific_title_response_200_data.py +244 -0
  216. versedb/models/get_a_specific_title_response_200_data_images.py +79 -0
  217. versedb/models/get_a_specific_title_response_404.py +61 -0
  218. versedb/models/get_a_specific_universe_response_200.py +76 -0
  219. versedb/models/get_a_specific_universe_response_200_data.py +70 -0
  220. versedb/models/get_activity_feed_response_200.py +99 -0
  221. versedb/models/get_activity_feed_response_200_data_item.py +112 -0
  222. versedb/models/get_activity_feed_response_200_data_item_data.py +97 -0
  223. versedb/models/get_activity_feed_response_200_meta.py +88 -0
  224. versedb/models/get_an_event_response_200.py +74 -0
  225. versedb/models/get_an_event_response_200_data.py +453 -0
  226. versedb/models/get_an_event_response_200_data_attendees_preview.py +92 -0
  227. versedb/models/get_an_event_response_200_data_attendees_preview_users_item.py +97 -0
  228. versedb/models/get_an_event_response_200_data_creators_item.py +132 -0
  229. versedb/models/get_an_event_response_200_data_creators_item_images.py +45 -0
  230. versedb/models/get_an_event_response_200_data_images.py +79 -0
  231. versedb/models/get_an_event_response_404.py +61 -0
  232. versedb/models/get_character_details_response_200.py +74 -0
  233. versedb/models/get_character_details_response_200_data.py +246 -0
  234. versedb/models/get_character_details_response_200_data_images.py +79 -0
  235. versedb/models/get_character_details_response_200_data_publisher.py +79 -0
  236. versedb/models/get_character_details_response_404.py +61 -0
  237. versedb/models/get_character_issues_response_200.py +99 -0
  238. versedb/models/get_character_issues_response_200_data_item.py +121 -0
  239. versedb/models/get_character_issues_response_200_data_item_series.py +70 -0
  240. versedb/models/get_character_issues_response_200_meta.py +88 -0
  241. versedb/models/get_character_series_response_200.py +99 -0
  242. versedb/models/get_character_series_response_200_data_item.py +106 -0
  243. versedb/models/get_character_series_response_200_meta.py +88 -0
  244. versedb/models/get_character_teams_response_200.py +99 -0
  245. versedb/models/get_character_teams_response_200_data_item.py +114 -0
  246. versedb/models/get_character_teams_response_200_data_item_membership.py +90 -0
  247. versedb/models/get_character_teams_response_200_meta.py +88 -0
  248. versedb/models/get_characters_for_a_specific_teammembers_response_200.py +105 -0
  249. versedb/models/get_characters_for_a_specific_teammembers_response_200_data_item.py +179 -0
  250. versedb/models/get_characters_for_a_specific_teammembers_response_200_data_item_images.py +79 -0
  251. versedb/models/get_characters_for_a_specific_teammembers_response_200_meta.py +88 -0
  252. versedb/models/get_creator_details_response_200.py +74 -0
  253. versedb/models/get_creator_details_response_200_data.py +269 -0
  254. versedb/models/get_creator_details_response_200_data_awards_item.py +70 -0
  255. versedb/models/get_creator_details_response_200_data_images.py +79 -0
  256. versedb/models/get_creator_details_response_200_data_links.py +70 -0
  257. versedb/models/get_creator_details_response_200_data_role.py +70 -0
  258. versedb/models/get_creator_details_response_200_data_roles_item.py +70 -0
  259. versedb/models/get_creator_details_response_404.py +61 -0
  260. versedb/models/get_creators_blog_posts_response_200.py +101 -0
  261. versedb/models/get_creators_blog_posts_response_200_data_item.py +154 -0
  262. versedb/models/get_creators_blog_posts_response_200_data_item_author.py +70 -0
  263. versedb/models/get_creators_blog_posts_response_200_data_item_category.py +79 -0
  264. versedb/models/get_creators_blog_posts_response_200_meta.py +88 -0
  265. versedb/models/get_creators_issues_response_200.py +99 -0
  266. versedb/models/get_creators_issues_response_200_data_item.py +139 -0
  267. versedb/models/get_creators_issues_response_200_data_item_series.py +79 -0
  268. versedb/models/get_creators_issues_response_200_meta.py +88 -0
  269. versedb/models/get_creators_series_response_200.py +99 -0
  270. versedb/models/get_creators_series_response_200_data_item.py +115 -0
  271. versedb/models/get_creators_series_response_200_meta.py +88 -0
  272. versedb/models/get_imprint_details_response_200.py +74 -0
  273. versedb/models/get_imprint_details_response_200_data.py +139 -0
  274. versedb/models/get_imprint_details_response_200_data_publisher.py +79 -0
  275. versedb/models/get_issue_characters_response_200.py +99 -0
  276. versedb/models/get_issue_characters_response_200_data_item.py +88 -0
  277. versedb/models/get_issue_characters_response_200_meta.py +88 -0
  278. versedb/models/get_issue_creators_response_200.py +99 -0
  279. versedb/models/get_issue_creators_response_200_data_item.py +94 -0
  280. versedb/models/get_issue_creators_response_200_data_item_role.py +70 -0
  281. versedb/models/get_issue_creators_response_200_meta.py +88 -0
  282. versedb/models/get_issue_details_response_200.py +74 -0
  283. versedb/models/get_issue_details_response_200_data.py +312 -0
  284. versedb/models/get_issue_details_response_200_data_characters_item.py +79 -0
  285. versedb/models/get_issue_details_response_200_data_creators_item.py +88 -0
  286. versedb/models/get_issue_details_response_200_data_publisher.py +79 -0
  287. versedb/models/get_issue_details_response_200_data_series.py +79 -0
  288. versedb/models/get_issue_details_response_200_data_title.py +70 -0
  289. versedb/models/get_issue_details_response_404.py +61 -0
  290. versedb/models/get_issue_variants_response_200.py +81 -0
  291. versedb/models/get_issue_variants_response_200_data_item.py +155 -0
  292. versedb/models/get_issue_variants_response_200_data_item_creators_item.py +79 -0
  293. versedb/models/get_issues_for_a_specific_team_response_200.py +103 -0
  294. versedb/models/get_issues_for_a_specific_team_response_200_data_item.py +124 -0
  295. versedb/models/get_issues_for_a_specific_team_response_200_meta.py +88 -0
  296. versedb/models/get_key_issue_reasons_response_200.py +81 -0
  297. versedb/models/get_key_issue_reasons_response_200_data_item.py +106 -0
  298. versedb/models/get_list_response_200.py +74 -0
  299. versedb/models/get_list_response_200_data.py +187 -0
  300. versedb/models/get_list_response_200_data_items_item.py +159 -0
  301. versedb/models/get_list_response_200_data_items_item_entity.py +148 -0
  302. versedb/models/get_list_response_200_data_items_item_entity_series.py +88 -0
  303. versedb/models/get_list_response_200_data_items_item_variant.py +79 -0
  304. versedb/models/get_list_response_200_data_user.py +79 -0
  305. versedb/models/get_list_response_403.py +61 -0
  306. versedb/models/get_list_response_404.py +61 -0
  307. versedb/models/get_publisher_details_response_200.py +74 -0
  308. versedb/models/get_publisher_details_response_200_data.py +168 -0
  309. versedb/models/get_publisher_details_response_200_data_images.py +79 -0
  310. versedb/models/get_publisher_details_response_404.py +61 -0
  311. versedb/models/get_series_characters_response_200.py +99 -0
  312. versedb/models/get_series_characters_response_200_data_item.py +88 -0
  313. versedb/models/get_series_characters_response_200_meta.py +88 -0
  314. versedb/models/get_series_creators_response_200.py +99 -0
  315. versedb/models/get_series_creators_response_200_data_item.py +94 -0
  316. versedb/models/get_series_creators_response_200_data_item_role.py +70 -0
  317. versedb/models/get_series_creators_response_200_meta.py +88 -0
  318. versedb/models/get_series_details_response_200.py +74 -0
  319. versedb/models/get_series_details_response_200_data.py +566 -0
  320. versedb/models/get_series_details_response_200_data_characters_item.py +117 -0
  321. versedb/models/get_series_details_response_200_data_creators_item.py +106 -0
  322. versedb/models/get_series_details_response_200_data_foc_issues_item.py +106 -0
  323. versedb/models/get_series_details_response_200_data_genres_item.py +70 -0
  324. versedb/models/get_series_details_response_200_data_last_edited_by.py +88 -0
  325. versedb/models/get_series_details_response_200_data_publisher.py +79 -0
  326. versedb/models/get_series_details_response_200_data_publishers_item.py +79 -0
  327. versedb/models/get_series_details_response_200_data_teams_item.py +97 -0
  328. versedb/models/get_series_details_response_200_data_title.py +79 -0
  329. versedb/models/get_series_details_response_200_data_upcoming_issues_item.py +97 -0
  330. versedb/models/get_series_details_response_404.py +61 -0
  331. versedb/models/get_series_for_a_specific_team_response_200.py +103 -0
  332. versedb/models/get_series_for_a_specific_team_response_200_data_item.py +160 -0
  333. versedb/models/get_series_for_a_specific_team_response_200_meta.py +88 -0
  334. versedb/models/get_series_issues_response_200.py +99 -0
  335. versedb/models/get_series_issues_response_200_data_item.py +106 -0
  336. versedb/models/get_series_issues_response_200_meta.py +88 -0
  337. versedb/models/get_story_arc_detail_response_200.py +74 -0
  338. versedb/models/get_story_arc_detail_response_200_data.py +268 -0
  339. versedb/models/get_story_arc_detail_response_200_data_end_issue.py +154 -0
  340. versedb/models/get_story_arc_detail_response_200_data_end_issue_images.py +61 -0
  341. versedb/models/get_story_arc_detail_response_200_data_end_issue_series.py +88 -0
  342. versedb/models/get_story_arc_detail_response_200_data_images.py +79 -0
  343. versedb/models/get_story_arc_detail_response_200_data_last_edited_by.py +88 -0
  344. versedb/models/get_story_arc_detail_response_200_data_primary_universe.py +70 -0
  345. versedb/models/get_story_arc_detail_response_200_data_start_issue.py +154 -0
  346. versedb/models/get_story_arc_detail_response_200_data_start_issue_images.py +61 -0
  347. versedb/models/get_story_arc_detail_response_200_data_start_issue_series.py +88 -0
  348. versedb/models/get_story_arc_detail_response_200_data_universes_item.py +70 -0
  349. versedb/models/get_story_arcs_for_a_specific_character_response_200.py +105 -0
  350. versedb/models/get_story_arcs_for_a_specific_character_response_200_data_item.py +141 -0
  351. versedb/models/get_story_arcs_for_a_specific_character_response_200_data_item_images.py +79 -0
  352. versedb/models/get_story_arcs_for_a_specific_character_response_200_meta.py +88 -0
  353. versedb/models/get_story_arcs_for_a_specific_issue_response_200.py +105 -0
  354. versedb/models/get_story_arcs_for_a_specific_issue_response_200_data_item.py +141 -0
  355. versedb/models/get_story_arcs_for_a_specific_issue_response_200_data_item_images.py +79 -0
  356. versedb/models/get_story_arcs_for_a_specific_issue_response_200_meta.py +88 -0
  357. versedb/models/get_story_arcs_for_a_specific_universe_response_200.py +105 -0
  358. versedb/models/get_story_arcs_for_a_specific_universe_response_200_data_item.py +141 -0
  359. versedb/models/get_story_arcs_for_a_specific_universe_response_200_data_item_images.py +79 -0
  360. versedb/models/get_story_arcs_for_a_specific_universe_response_200_meta.py +88 -0
  361. versedb/models/get_the_authenticated_user_response_200.py +76 -0
  362. versedb/models/get_the_authenticated_user_response_200_data.py +375 -0
  363. versedb/models/get_users_lists_response_200.py +97 -0
  364. versedb/models/get_users_lists_response_200_data_item.py +121 -0
  365. versedb/models/get_users_lists_response_200_data_item_user.py +70 -0
  366. versedb/models/get_users_lists_response_200_meta.py +88 -0
  367. versedb/models/get_variant_details_response_200.py +74 -0
  368. versedb/models/get_variant_details_response_200_data.py +173 -0
  369. versedb/models/get_variant_details_response_200_data_creators_item.py +88 -0
  370. versedb/models/get_variant_details_response_404.py +61 -0
  371. versedb/models/lend_a_copy_out_body.py +125 -0
  372. versedb/models/lend_a_copy_out_response_200.py +74 -0
  373. versedb/models/lend_a_copy_out_response_200_data.py +83 -0
  374. versedb/models/lend_a_copy_out_response_200_data_loan.py +106 -0
  375. versedb/models/lend_a_copy_out_response_404.py +61 -0
  376. versedb/models/lend_a_copy_out_response_409.py +61 -0
  377. versedb/models/like_list_or_react_to_it_body.py +61 -0
  378. versedb/models/like_list_or_react_to_it_response_200_type_0.py +120 -0
  379. versedb/models/like_list_or_react_to_it_response_200_type_0_reactions_item.py +88 -0
  380. versedb/models/like_list_or_react_to_it_response_200_type_1.py +71 -0
  381. versedb/models/like_list_or_react_to_it_response_201.py +119 -0
  382. versedb/models/like_list_or_react_to_it_response_201_reactions_item.py +88 -0
  383. versedb/models/like_list_or_react_to_it_response_403.py +61 -0
  384. versedb/models/like_list_or_react_to_it_response_422.py +61 -0
  385. versedb/models/list_all_podcasts_with_optional_search_response_200.py +116 -0
  386. versedb/models/list_all_podcasts_with_optional_search_response_200_data_item.py +161 -0
  387. versedb/models/list_all_podcasts_with_optional_search_response_200_data_item_images.py +70 -0
  388. versedb/models/list_all_podcasts_with_optional_search_response_200_meta.py +88 -0
  389. versedb/models/list_all_publishers_with_optional_search_response_200.py +105 -0
  390. versedb/models/list_all_publishers_with_optional_search_response_200_data_item.py +141 -0
  391. versedb/models/list_all_publishers_with_optional_search_response_200_data_item_images.py +79 -0
  392. versedb/models/list_all_publishers_with_optional_search_response_200_meta.py +88 -0
  393. versedb/models/list_all_story_arcs_with_optional_search_response_200.py +105 -0
  394. versedb/models/list_all_story_arcs_with_optional_search_response_200_data_item.py +165 -0
  395. versedb/models/list_all_story_arcs_with_optional_search_response_200_data_item_images.py +79 -0
  396. versedb/models/list_all_story_arcs_with_optional_search_response_200_data_item_primary_universe.py +70 -0
  397. versedb/models/list_all_story_arcs_with_optional_search_response_200_meta.py +88 -0
  398. versedb/models/list_all_teams_with_optional_search_response_200.py +105 -0
  399. versedb/models/list_all_teams_with_optional_search_response_200_data_item.py +152 -0
  400. versedb/models/list_all_teams_with_optional_search_response_200_data_item_images.py +79 -0
  401. versedb/models/list_all_teams_with_optional_search_response_200_meta.py +88 -0
  402. versedb/models/list_characters_response_200.py +97 -0
  403. versedb/models/list_characters_response_200_data_item.py +132 -0
  404. versedb/models/list_characters_response_200_data_item_images.py +79 -0
  405. versedb/models/list_characters_response_200_meta.py +88 -0
  406. versedb/models/list_collection_response_200.py +115 -0
  407. versedb/models/list_collection_response_200_data_item.py +555 -0
  408. versedb/models/list_collection_response_200_data_item_collectable.py +277 -0
  409. versedb/models/list_collection_response_200_data_item_collectable_images.py +88 -0
  410. versedb/models/list_collection_response_200_data_item_collectable_key_issue_reasons_item.py +108 -0
  411. versedb/models/list_collection_response_200_data_item_collectable_series.py +188 -0
  412. versedb/models/list_collection_response_200_data_item_collectable_series_images.py +79 -0
  413. versedb/models/list_collection_response_200_data_item_comic_shop.py +97 -0
  414. versedb/models/list_collection_response_200_links.py +99 -0
  415. versedb/models/list_collection_response_200_meta.py +115 -0
  416. versedb/models/list_comic_shops_response_200.py +97 -0
  417. versedb/models/list_comic_shops_response_200_data_item.py +130 -0
  418. versedb/models/list_comic_shops_response_200_data_item_images.py +70 -0
  419. versedb/models/list_comic_shops_response_200_meta.py +112 -0
  420. versedb/models/list_comic_shops_response_200_meta_ip_location.py +70 -0
  421. versedb/models/list_creators_response_200.py +97 -0
  422. versedb/models/list_creators_response_200_data_item.py +157 -0
  423. versedb/models/list_creators_response_200_data_item_images.py +79 -0
  424. versedb/models/list_creators_response_200_data_item_role.py +70 -0
  425. versedb/models/list_creators_response_200_data_item_roles_item.py +70 -0
  426. versedb/models/list_creators_response_200_meta.py +88 -0
  427. versedb/models/list_events_response_200.py +97 -0
  428. versedb/models/list_events_response_200_data_item.py +278 -0
  429. versedb/models/list_events_response_200_data_item_images.py +79 -0
  430. versedb/models/list_events_response_200_meta.py +88 -0
  431. versedb/models/list_follows_response_200.py +97 -0
  432. versedb/models/list_follows_response_200_data_item.py +112 -0
  433. versedb/models/list_follows_response_200_data_item_followable.py +79 -0
  434. versedb/models/list_follows_response_200_meta.py +88 -0
  435. versedb/models/list_imprints_response_200.py +97 -0
  436. versedb/models/list_imprints_response_200_data_item.py +103 -0
  437. versedb/models/list_imprints_response_200_data_item_publisher.py +79 -0
  438. versedb/models/list_imprints_response_200_meta.py +88 -0
  439. versedb/models/list_issues_response_200.py +97 -0
  440. versedb/models/list_issues_response_200_data_item.py +151 -0
  441. versedb/models/list_issues_response_200_meta.py +88 -0
  442. versedb/models/list_key_issue_reasons_response_200.py +81 -0
  443. versedb/models/list_key_issue_reasons_response_200_data_item.py +88 -0
  444. versedb/models/list_pull_list_response_200.py +97 -0
  445. versedb/models/list_pull_list_response_200_data_item.py +94 -0
  446. versedb/models/list_pull_list_response_200_data_item_series.py +105 -0
  447. versedb/models/list_pull_list_response_200_data_item_series_publisher.py +70 -0
  448. versedb/models/list_pull_list_response_200_meta.py +88 -0
  449. versedb/models/list_read_status_response_200.py +97 -0
  450. versedb/models/list_read_status_response_200_data_item.py +134 -0
  451. versedb/models/list_read_status_response_200_data_item_issue.py +79 -0
  452. versedb/models/list_read_status_response_200_data_item_series.py +70 -0
  453. versedb/models/list_read_status_response_200_meta.py +88 -0
  454. versedb/models/list_series_response_200.py +97 -0
  455. versedb/models/list_series_response_200_data_item.py +232 -0
  456. versedb/models/list_series_response_200_meta.py +88 -0
  457. versedb/models/list_titles_response_200.py +97 -0
  458. versedb/models/list_titles_response_200_data_item.py +213 -0
  459. versedb/models/list_titles_response_200_data_item_images.py +79 -0
  460. versedb/models/list_titles_response_200_meta.py +88 -0
  461. versedb/models/list_universes_response_200.py +97 -0
  462. versedb/models/list_universes_response_200_data_item.py +70 -0
  463. versedb/models/list_universes_response_200_meta.py +88 -0
  464. versedb/models/list_wishlist_response_200.py +97 -0
  465. versedb/models/list_wishlist_response_200_data_item.py +172 -0
  466. versedb/models/list_wishlist_response_200_data_item_entity.py +121 -0
  467. versedb/models/list_wishlist_response_200_data_item_entity_series.py +79 -0
  468. versedb/models/list_wishlist_response_200_meta.py +88 -0
  469. versedb/models/lookup_by_isbn_response_200.py +74 -0
  470. versedb/models/lookup_by_isbn_response_200_data.py +184 -0
  471. versedb/models/lookup_by_isbn_response_200_data_publisher.py +79 -0
  472. versedb/models/lookup_by_isbn_response_200_data_series.py +79 -0
  473. versedb/models/lookup_by_isbn_response_403.py +61 -0
  474. versedb/models/lookup_by_isbn_response_404.py +61 -0
  475. versedb/models/lookup_by_upc_response_200.py +108 -0
  476. versedb/models/lookup_by_upc_response_200_data.py +193 -0
  477. versedb/models/lookup_by_upc_response_200_data_publisher.py +79 -0
  478. versedb/models/lookup_by_upc_response_200_data_series.py +97 -0
  479. versedb/models/lookup_by_upc_response_200_variants_item.py +100 -0
  480. versedb/models/lookup_by_upc_response_403.py +61 -0
  481. versedb/models/lookup_by_upc_response_404.py +61 -0
  482. versedb/models/lookup_by_upc_response_409.py +106 -0
  483. versedb/models/lookup_by_upc_response_409_matches_item.py +195 -0
  484. versedb/models/lookup_by_upc_response_409_matches_item_variants_item.py +100 -0
  485. versedb/models/mark_as_read_body.py +73 -0
  486. versedb/models/mark_as_read_response_201.py +45 -0
  487. versedb/models/mark_as_read_response_422.py +61 -0
  488. versedb/models/mark_as_unread_body.py +73 -0
  489. versedb/models/mark_the_copys_open_loan_returned_body.py +73 -0
  490. versedb/models/mark_the_copys_open_loan_returned_response_200.py +76 -0
  491. versedb/models/mark_the_copys_open_loan_returned_response_200_data.py +81 -0
  492. versedb/models/mark_the_copys_open_loan_returned_response_404_type_0.py +62 -0
  493. versedb/models/mark_the_copys_open_loan_returned_response_404_type_1.py +62 -0
  494. versedb/models/merge_a_list_into_this_one_body.py +72 -0
  495. versedb/models/merge_a_list_into_this_one_response_200.py +96 -0
  496. versedb/models/merge_a_list_into_this_one_response_200_data.py +81 -0
  497. versedb/models/merge_a_list_into_this_one_response_200_merge.py +88 -0
  498. versedb/models/merge_a_list_into_this_one_response_403.py +61 -0
  499. versedb/models/merge_a_list_into_this_one_response_422.py +61 -0
  500. versedb/models/open_a_list_to_any_type_response_200.py +76 -0
  501. versedb/models/open_a_list_to_any_type_response_200_data.py +70 -0
  502. versedb/models/open_a_list_to_any_type_response_403.py +61 -0
  503. versedb/models/open_a_list_to_any_type_response_422.py +61 -0
  504. versedb/models/remove_from_wishlist_body.py +74 -0
  505. versedb/models/remove_issue_from_collection_body.py +93 -0
  506. versedb/models/remove_issue_from_collection_response_404.py +61 -0
  507. versedb/models/remove_item_from_list_response_403.py +61 -0
  508. versedb/models/remove_item_from_list_response_404.py +61 -0
  509. versedb/models/reorder_items_body.py +61 -0
  510. versedb/models/reorder_items_response_200.py +88 -0
  511. versedb/models/reorder_items_response_200_items_item.py +123 -0
  512. versedb/models/reorder_items_response_200_items_item_entity.py +88 -0
  513. versedb/models/save_list_response_200.py +70 -0
  514. versedb/models/save_list_response_201.py +79 -0
  515. versedb/models/save_list_response_403.py +61 -0
  516. versedb/models/stop_a_list_updating_itself_response_200.py +76 -0
  517. versedb/models/stop_a_list_updating_itself_response_200_data.py +70 -0
  518. versedb/models/stop_a_list_updating_itself_response_422.py +61 -0
  519. versedb/models/too_many_requests_error.py +61 -0
  520. versedb/models/unauthorized_error.py +61 -0
  521. versedb/models/unfollow_content_response_200.py +70 -0
  522. versedb/models/unfollow_content_response_404.py +61 -0
  523. versedb/models/unlike_list_response_200_type_0.py +129 -0
  524. versedb/models/unlike_list_response_200_type_0_reactions_item.py +88 -0
  525. versedb/models/unlike_list_response_200_type_1.py +71 -0
  526. versedb/models/unsave_list_response_200_type_0.py +80 -0
  527. versedb/models/unsave_list_response_200_type_1.py +71 -0
  528. versedb/models/upcoming_1_issues_response_200.py +99 -0
  529. versedb/models/upcoming_1_issues_response_200_data_item.py +121 -0
  530. versedb/models/upcoming_1_issues_response_200_data_item_series.py +88 -0
  531. versedb/models/upcoming_1_issues_response_200_meta.py +79 -0
  532. versedb/models/update_collection_item_body.py +746 -0
  533. versedb/models/update_collection_item_body_acquisition_method.py +23 -0
  534. versedb/models/update_collection_item_body_condition.py +55 -0
  535. versedb/models/update_collection_item_body_format.py +39 -0
  536. versedb/models/update_collection_item_body_grading_company.py +19 -0
  537. versedb/models/update_collection_item_body_label_type.py +31 -0
  538. versedb/models/update_collection_item_body_page_quality.py +21 -0
  539. versedb/models/update_collection_item_body_print_number.py +25 -0
  540. versedb/models/update_collection_item_body_purchase_source.py +39 -0
  541. versedb/models/update_collection_item_body_signature_witness.py +23 -0
  542. versedb/models/update_collection_item_body_status.py +15 -0
  543. versedb/models/update_collection_item_body_variant_type.py +45 -0
  544. versedb/models/update_collection_item_response_200.py +76 -0
  545. versedb/models/update_collection_item_response_200_data.py +88 -0
  546. versedb/models/update_collection_item_response_404.py +61 -0
  547. versedb/models/update_list_body.py +140 -0
  548. versedb/models/update_list_body_rules.py +51 -0
  549. versedb/models/update_list_body_status.py +14 -0
  550. versedb/models/update_list_response_200.py +74 -0
  551. versedb/models/update_list_response_200_data.py +79 -0
  552. versedb/models/update_list_response_403.py +61 -0
  553. versedb/models/view_yearly_reading_statistics_response_200.py +87 -0
  554. versedb/models/view_yearly_reading_statistics_response_200_data.py +263 -0
  555. versedb/models/view_yearly_reading_statistics_response_200_data_breakdowns.py +96 -0
  556. versedb/models/view_yearly_reading_statistics_response_200_data_days_item.py +88 -0
  557. versedb/models/view_yearly_reading_statistics_response_200_data_months.py +45 -0
  558. versedb/models/view_yearly_reading_statistics_response_200_data_progress.py +225 -0
  559. versedb/models/view_yearly_reading_statistics_response_401.py +61 -0
  560. versedb/models/view_yearly_reading_statistics_response_403.py +61 -0
  561. versedb/models/view_your_monthly_reading_calendar_response_200.py +90 -0
  562. versedb/models/view_your_monthly_reading_calendar_response_401.py +61 -0
  563. versedb/models/view_your_monthly_reading_calendar_response_403.py +61 -0
  564. versedb/models/view_your_reading_goal_response_200.py +87 -0
  565. versedb/models/view_your_reading_goal_response_200_data.py +225 -0
  566. versedb/models/view_your_reading_goal_response_401.py +61 -0
  567. versedb/py.typed +0 -0
  568. versedb/types.py +54 -0
  569. versedb-0.1.0.dist-info/METADATA +95 -0
  570. versedb-0.1.0.dist-info/RECORD +572 -0
  571. versedb-0.1.0.dist-info/WHEEL +4 -0
  572. versedb-0.1.0.dist-info/licenses/LICENSE +21 -0
versedb/__init__.py ADDED
@@ -0,0 +1,8 @@
1
+ """A client library for accessing VerseDB API Documentation"""
2
+
3
+ from .client import AuthenticatedClient, Client
4
+
5
+ __all__ = (
6
+ "AuthenticatedClient",
7
+ "Client",
8
+ )
@@ -0,0 +1 @@
1
+ """Contains methods for accessing the API"""
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -0,0 +1,234 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.lookup_by_isbn_response_200 import LookupByIsbnResponse200
10
+ from ...models.lookup_by_isbn_response_403 import LookupByIsbnResponse403
11
+ from ...models.lookup_by_isbn_response_404 import LookupByIsbnResponse404
12
+ from ...models.too_many_requests_error import TooManyRequestsError
13
+ from ...models.unauthorized_error import UnauthorizedError
14
+ from ...types import Response
15
+
16
+
17
+ def _get_kwargs(
18
+ isbn: str,
19
+ ) -> dict[str, Any]:
20
+
21
+ _kwargs: dict[str, Any] = {
22
+ "method": "get",
23
+ "url": "/api/v1/lookup/isbn/{isbn}".format(
24
+ isbn=quote(str(isbn), safe=""),
25
+ ),
26
+ }
27
+
28
+ return _kwargs
29
+
30
+
31
+ def _parse_response(
32
+ *, client: AuthenticatedClient | Client, response: httpx.Response
33
+ ) -> (
34
+ LookupByIsbnResponse200
35
+ | LookupByIsbnResponse403
36
+ | LookupByIsbnResponse404
37
+ | TooManyRequestsError
38
+ | UnauthorizedError
39
+ | None
40
+ ):
41
+ if response.status_code == 200:
42
+ response_200 = LookupByIsbnResponse200.from_dict(response.json())
43
+
44
+ return response_200
45
+
46
+ if response.status_code == 401:
47
+ response_401 = UnauthorizedError.from_dict(response.json())
48
+
49
+ return response_401
50
+
51
+ if response.status_code == 403:
52
+ response_403 = LookupByIsbnResponse403.from_dict(response.json())
53
+
54
+ return response_403
55
+
56
+ if response.status_code == 404:
57
+ response_404 = LookupByIsbnResponse404.from_dict(response.json())
58
+
59
+ return response_404
60
+
61
+ if response.status_code == 429:
62
+ response_429 = TooManyRequestsError.from_dict(response.json())
63
+
64
+ return response_429
65
+
66
+ if client.raise_on_unexpected_status:
67
+ raise errors.UnexpectedStatus(response.status_code, response.content)
68
+ else:
69
+ return None
70
+
71
+
72
+ def _build_response(
73
+ *, client: AuthenticatedClient | Client, response: httpx.Response
74
+ ) -> Response[
75
+ LookupByIsbnResponse200
76
+ | LookupByIsbnResponse403
77
+ | LookupByIsbnResponse404
78
+ | TooManyRequestsError
79
+ | UnauthorizedError
80
+ ]:
81
+ return Response(
82
+ status_code=HTTPStatus(response.status_code),
83
+ content=response.content,
84
+ headers=response.headers,
85
+ parsed=_parse_response(client=client, response=response),
86
+ )
87
+
88
+
89
+ def sync_detailed(
90
+ isbn: str,
91
+ *,
92
+ client: AuthenticatedClient | Client,
93
+ ) -> Response[
94
+ LookupByIsbnResponse200
95
+ | LookupByIsbnResponse403
96
+ | LookupByIsbnResponse404
97
+ | TooManyRequestsError
98
+ | UnauthorizedError
99
+ ]:
100
+ """Lookup by ISBN.
101
+
102
+ Find an issue by its ISBN (10 or 13 digits, with or without dashes).
103
+ Commonly used for trade paperbacks and hardcovers.
104
+ Returns full issue details including series information.
105
+
106
+ Args:
107
+ isbn (str):
108
+
109
+ Raises:
110
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
111
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
112
+
113
+ Returns:
114
+ Response[LookupByIsbnResponse200 | LookupByIsbnResponse403 | LookupByIsbnResponse404 | TooManyRequestsError | UnauthorizedError]
115
+ """
116
+
117
+ kwargs = _get_kwargs(
118
+ isbn=isbn,
119
+ )
120
+
121
+ response = client.get_httpx_client().request(
122
+ **kwargs,
123
+ )
124
+
125
+ return _build_response(client=client, response=response)
126
+
127
+
128
+ def sync(
129
+ isbn: str,
130
+ *,
131
+ client: AuthenticatedClient | Client,
132
+ ) -> (
133
+ LookupByIsbnResponse200
134
+ | LookupByIsbnResponse403
135
+ | LookupByIsbnResponse404
136
+ | TooManyRequestsError
137
+ | UnauthorizedError
138
+ | None
139
+ ):
140
+ """Lookup by ISBN.
141
+
142
+ Find an issue by its ISBN (10 or 13 digits, with or without dashes).
143
+ Commonly used for trade paperbacks and hardcovers.
144
+ Returns full issue details including series information.
145
+
146
+ Args:
147
+ isbn (str):
148
+
149
+ Raises:
150
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
151
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
152
+
153
+ Returns:
154
+ LookupByIsbnResponse200 | LookupByIsbnResponse403 | LookupByIsbnResponse404 | TooManyRequestsError | UnauthorizedError
155
+ """
156
+
157
+ return sync_detailed(
158
+ isbn=isbn,
159
+ client=client,
160
+ ).parsed
161
+
162
+
163
+ async def asyncio_detailed(
164
+ isbn: str,
165
+ *,
166
+ client: AuthenticatedClient | Client,
167
+ ) -> Response[
168
+ LookupByIsbnResponse200
169
+ | LookupByIsbnResponse403
170
+ | LookupByIsbnResponse404
171
+ | TooManyRequestsError
172
+ | UnauthorizedError
173
+ ]:
174
+ """Lookup by ISBN.
175
+
176
+ Find an issue by its ISBN (10 or 13 digits, with or without dashes).
177
+ Commonly used for trade paperbacks and hardcovers.
178
+ Returns full issue details including series information.
179
+
180
+ Args:
181
+ isbn (str):
182
+
183
+ Raises:
184
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
185
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
186
+
187
+ Returns:
188
+ Response[LookupByIsbnResponse200 | LookupByIsbnResponse403 | LookupByIsbnResponse404 | TooManyRequestsError | UnauthorizedError]
189
+ """
190
+
191
+ kwargs = _get_kwargs(
192
+ isbn=isbn,
193
+ )
194
+
195
+ response = await client.get_async_httpx_client().request(**kwargs)
196
+
197
+ return _build_response(client=client, response=response)
198
+
199
+
200
+ async def asyncio(
201
+ isbn: str,
202
+ *,
203
+ client: AuthenticatedClient | Client,
204
+ ) -> (
205
+ LookupByIsbnResponse200
206
+ | LookupByIsbnResponse403
207
+ | LookupByIsbnResponse404
208
+ | TooManyRequestsError
209
+ | UnauthorizedError
210
+ | None
211
+ ):
212
+ """Lookup by ISBN.
213
+
214
+ Find an issue by its ISBN (10 or 13 digits, with or without dashes).
215
+ Commonly used for trade paperbacks and hardcovers.
216
+ Returns full issue details including series information.
217
+
218
+ Args:
219
+ isbn (str):
220
+
221
+ Raises:
222
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
223
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
224
+
225
+ Returns:
226
+ LookupByIsbnResponse200 | LookupByIsbnResponse403 | LookupByIsbnResponse404 | TooManyRequestsError | UnauthorizedError
227
+ """
228
+
229
+ return (
230
+ await asyncio_detailed(
231
+ isbn=isbn,
232
+ client=client,
233
+ )
234
+ ).parsed
@@ -0,0 +1,242 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.lookup_by_upc_response_200 import LookupByUpcResponse200
10
+ from ...models.lookup_by_upc_response_403 import LookupByUpcResponse403
11
+ from ...models.lookup_by_upc_response_404 import LookupByUpcResponse404
12
+ from ...models.lookup_by_upc_response_409 import LookupByUpcResponse409
13
+ from ...models.too_many_requests_error import TooManyRequestsError
14
+ from ...models.unauthorized_error import UnauthorizedError
15
+ from ...types import Response
16
+
17
+
18
+ def _get_kwargs(
19
+ upc: str,
20
+ ) -> dict[str, Any]:
21
+
22
+ _kwargs: dict[str, Any] = {
23
+ "method": "get",
24
+ "url": "/api/v1/lookup/upc/{upc}".format(
25
+ upc=quote(str(upc), safe=""),
26
+ ),
27
+ }
28
+
29
+ return _kwargs
30
+
31
+
32
+ def _parse_response(
33
+ *, client: AuthenticatedClient | Client, response: httpx.Response
34
+ ) -> (
35
+ LookupByUpcResponse200
36
+ | LookupByUpcResponse403
37
+ | LookupByUpcResponse404
38
+ | LookupByUpcResponse409
39
+ | TooManyRequestsError
40
+ | UnauthorizedError
41
+ | None
42
+ ):
43
+ if response.status_code == 200:
44
+ response_200 = LookupByUpcResponse200.from_dict(response.json())
45
+
46
+ return response_200
47
+
48
+ if response.status_code == 401:
49
+ response_401 = UnauthorizedError.from_dict(response.json())
50
+
51
+ return response_401
52
+
53
+ if response.status_code == 403:
54
+ response_403 = LookupByUpcResponse403.from_dict(response.json())
55
+
56
+ return response_403
57
+
58
+ if response.status_code == 404:
59
+ response_404 = LookupByUpcResponse404.from_dict(response.json())
60
+
61
+ return response_404
62
+
63
+ if response.status_code == 409:
64
+ response_409 = LookupByUpcResponse409.from_dict(response.json())
65
+
66
+ return response_409
67
+
68
+ if response.status_code == 429:
69
+ response_429 = TooManyRequestsError.from_dict(response.json())
70
+
71
+ return response_429
72
+
73
+ if client.raise_on_unexpected_status:
74
+ raise errors.UnexpectedStatus(response.status_code, response.content)
75
+ else:
76
+ return None
77
+
78
+
79
+ def _build_response(
80
+ *, client: AuthenticatedClient | Client, response: httpx.Response
81
+ ) -> Response[
82
+ LookupByUpcResponse200
83
+ | LookupByUpcResponse403
84
+ | LookupByUpcResponse404
85
+ | LookupByUpcResponse409
86
+ | TooManyRequestsError
87
+ | UnauthorizedError
88
+ ]:
89
+ return Response(
90
+ status_code=HTTPStatus(response.status_code),
91
+ content=response.content,
92
+ headers=response.headers,
93
+ parsed=_parse_response(client=client, response=response),
94
+ )
95
+
96
+
97
+ def sync_detailed(
98
+ upc: str,
99
+ *,
100
+ client: AuthenticatedClient | Client,
101
+ ) -> Response[
102
+ LookupByUpcResponse200
103
+ | LookupByUpcResponse403
104
+ | LookupByUpcResponse404
105
+ | LookupByUpcResponse409
106
+ | TooManyRequestsError
107
+ | UnauthorizedError
108
+ ]:
109
+ """Lookup by UPC.
110
+
111
+ Find an issue by its UPC barcode (typically 12-17 digits).
112
+ Returns full issue details including series information.
113
+
114
+ Args:
115
+ upc (str):
116
+
117
+ Raises:
118
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
119
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
120
+
121
+ Returns:
122
+ Response[LookupByUpcResponse200 | LookupByUpcResponse403 | LookupByUpcResponse404 | LookupByUpcResponse409 | TooManyRequestsError | UnauthorizedError]
123
+ """
124
+
125
+ kwargs = _get_kwargs(
126
+ upc=upc,
127
+ )
128
+
129
+ response = client.get_httpx_client().request(
130
+ **kwargs,
131
+ )
132
+
133
+ return _build_response(client=client, response=response)
134
+
135
+
136
+ def sync(
137
+ upc: str,
138
+ *,
139
+ client: AuthenticatedClient | Client,
140
+ ) -> (
141
+ LookupByUpcResponse200
142
+ | LookupByUpcResponse403
143
+ | LookupByUpcResponse404
144
+ | LookupByUpcResponse409
145
+ | TooManyRequestsError
146
+ | UnauthorizedError
147
+ | None
148
+ ):
149
+ """Lookup by UPC.
150
+
151
+ Find an issue by its UPC barcode (typically 12-17 digits).
152
+ Returns full issue details including series information.
153
+
154
+ Args:
155
+ upc (str):
156
+
157
+ Raises:
158
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
159
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
160
+
161
+ Returns:
162
+ LookupByUpcResponse200 | LookupByUpcResponse403 | LookupByUpcResponse404 | LookupByUpcResponse409 | TooManyRequestsError | UnauthorizedError
163
+ """
164
+
165
+ return sync_detailed(
166
+ upc=upc,
167
+ client=client,
168
+ ).parsed
169
+
170
+
171
+ async def asyncio_detailed(
172
+ upc: str,
173
+ *,
174
+ client: AuthenticatedClient | Client,
175
+ ) -> Response[
176
+ LookupByUpcResponse200
177
+ | LookupByUpcResponse403
178
+ | LookupByUpcResponse404
179
+ | LookupByUpcResponse409
180
+ | TooManyRequestsError
181
+ | UnauthorizedError
182
+ ]:
183
+ """Lookup by UPC.
184
+
185
+ Find an issue by its UPC barcode (typically 12-17 digits).
186
+ Returns full issue details including series information.
187
+
188
+ Args:
189
+ upc (str):
190
+
191
+ Raises:
192
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
193
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
194
+
195
+ Returns:
196
+ Response[LookupByUpcResponse200 | LookupByUpcResponse403 | LookupByUpcResponse404 | LookupByUpcResponse409 | TooManyRequestsError | UnauthorizedError]
197
+ """
198
+
199
+ kwargs = _get_kwargs(
200
+ upc=upc,
201
+ )
202
+
203
+ response = await client.get_async_httpx_client().request(**kwargs)
204
+
205
+ return _build_response(client=client, response=response)
206
+
207
+
208
+ async def asyncio(
209
+ upc: str,
210
+ *,
211
+ client: AuthenticatedClient | Client,
212
+ ) -> (
213
+ LookupByUpcResponse200
214
+ | LookupByUpcResponse403
215
+ | LookupByUpcResponse404
216
+ | LookupByUpcResponse409
217
+ | TooManyRequestsError
218
+ | UnauthorizedError
219
+ | None
220
+ ):
221
+ """Lookup by UPC.
222
+
223
+ Find an issue by its UPC barcode (typically 12-17 digits).
224
+ Returns full issue details including series information.
225
+
226
+ Args:
227
+ upc (str):
228
+
229
+ Raises:
230
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
231
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
232
+
233
+ Returns:
234
+ LookupByUpcResponse200 | LookupByUpcResponse403 | LookupByUpcResponse404 | LookupByUpcResponse409 | TooManyRequestsError | UnauthorizedError
235
+ """
236
+
237
+ return (
238
+ await asyncio_detailed(
239
+ upc=upc,
240
+ client=client,
241
+ )
242
+ ).parsed
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -0,0 +1,195 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from urllib.parse import quote
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.get_character_details_response_200 import GetCharacterDetailsResponse200
10
+ from ...models.get_character_details_response_404 import GetCharacterDetailsResponse404
11
+ from ...models.too_many_requests_error import TooManyRequestsError
12
+ from ...models.unauthorized_error import UnauthorizedError
13
+ from ...types import Response
14
+
15
+
16
+ def _get_kwargs(
17
+ character_id: int,
18
+ ) -> dict[str, Any]:
19
+
20
+ _kwargs: dict[str, Any] = {
21
+ "method": "get",
22
+ "url": "/api/v1/characters/{character_id}".format(
23
+ character_id=quote(str(character_id), safe=""),
24
+ ),
25
+ }
26
+
27
+ return _kwargs
28
+
29
+
30
+ def _parse_response(
31
+ *, client: AuthenticatedClient | Client, response: httpx.Response
32
+ ) -> GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError | None:
33
+ if response.status_code == 200:
34
+ response_200 = GetCharacterDetailsResponse200.from_dict(response.json())
35
+
36
+ return response_200
37
+
38
+ if response.status_code == 401:
39
+ response_401 = UnauthorizedError.from_dict(response.json())
40
+
41
+ return response_401
42
+
43
+ if response.status_code == 404:
44
+ response_404 = GetCharacterDetailsResponse404.from_dict(response.json())
45
+
46
+ return response_404
47
+
48
+ if response.status_code == 429:
49
+ response_429 = TooManyRequestsError.from_dict(response.json())
50
+
51
+ return response_429
52
+
53
+ if client.raise_on_unexpected_status:
54
+ raise errors.UnexpectedStatus(response.status_code, response.content)
55
+ else:
56
+ return None
57
+
58
+
59
+ def _build_response(
60
+ *, client: AuthenticatedClient | Client, response: httpx.Response
61
+ ) -> Response[
62
+ GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError
63
+ ]:
64
+ return Response(
65
+ status_code=HTTPStatus(response.status_code),
66
+ content=response.content,
67
+ headers=response.headers,
68
+ parsed=_parse_response(client=client, response=response),
69
+ )
70
+
71
+
72
+ def sync_detailed(
73
+ character_id: int,
74
+ *,
75
+ client: AuthenticatedClient | Client,
76
+ ) -> Response[
77
+ GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError
78
+ ]:
79
+ """Get character details.
80
+
81
+ Returns a single character with full details including publishers and
82
+ cached relationship counts (appearances, series, teams, story arcs) so
83
+ clients can decide which related-entity tabs to expose.
84
+
85
+ Args:
86
+ character_id (int):
87
+
88
+ Raises:
89
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
90
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
91
+
92
+ Returns:
93
+ Response[GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError]
94
+ """
95
+
96
+ kwargs = _get_kwargs(
97
+ character_id=character_id,
98
+ )
99
+
100
+ response = client.get_httpx_client().request(
101
+ **kwargs,
102
+ )
103
+
104
+ return _build_response(client=client, response=response)
105
+
106
+
107
+ def sync(
108
+ character_id: int,
109
+ *,
110
+ client: AuthenticatedClient | Client,
111
+ ) -> GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError | None:
112
+ """Get character details.
113
+
114
+ Returns a single character with full details including publishers and
115
+ cached relationship counts (appearances, series, teams, story arcs) so
116
+ clients can decide which related-entity tabs to expose.
117
+
118
+ Args:
119
+ character_id (int):
120
+
121
+ Raises:
122
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
123
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
124
+
125
+ Returns:
126
+ GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError
127
+ """
128
+
129
+ return sync_detailed(
130
+ character_id=character_id,
131
+ client=client,
132
+ ).parsed
133
+
134
+
135
+ async def asyncio_detailed(
136
+ character_id: int,
137
+ *,
138
+ client: AuthenticatedClient | Client,
139
+ ) -> Response[
140
+ GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError
141
+ ]:
142
+ """Get character details.
143
+
144
+ Returns a single character with full details including publishers and
145
+ cached relationship counts (appearances, series, teams, story arcs) so
146
+ clients can decide which related-entity tabs to expose.
147
+
148
+ Args:
149
+ character_id (int):
150
+
151
+ Raises:
152
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
153
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
154
+
155
+ Returns:
156
+ Response[GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError]
157
+ """
158
+
159
+ kwargs = _get_kwargs(
160
+ character_id=character_id,
161
+ )
162
+
163
+ response = await client.get_async_httpx_client().request(**kwargs)
164
+
165
+ return _build_response(client=client, response=response)
166
+
167
+
168
+ async def asyncio(
169
+ character_id: int,
170
+ *,
171
+ client: AuthenticatedClient | Client,
172
+ ) -> GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError | None:
173
+ """Get character details.
174
+
175
+ Returns a single character with full details including publishers and
176
+ cached relationship counts (appearances, series, teams, story arcs) so
177
+ clients can decide which related-entity tabs to expose.
178
+
179
+ Args:
180
+ character_id (int):
181
+
182
+ Raises:
183
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
184
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
185
+
186
+ Returns:
187
+ GetCharacterDetailsResponse200 | GetCharacterDetailsResponse404 | TooManyRequestsError | UnauthorizedError
188
+ """
189
+
190
+ return (
191
+ await asyncio_detailed(
192
+ character_id=character_id,
193
+ client=client,
194
+ )
195
+ ).parsed