elapi 2.4.13__tar.gz → 2.4.15__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 (170) hide show
  1. {elapi-2.4.13 → elapi-2.4.15}/PKG-INFO +11 -6
  2. {elapi-2.4.13 → elapi-2.4.15}/README.md +8 -3
  3. {elapi-2.4.13 → elapi-2.4.15}/pyproject.toml +3 -3
  4. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/.DS_Store +0 -0
  5. elapi-2.4.15/src/elapi/VERSION +1 -0
  6. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_names.py +27 -0
  7. elapi-2.4.15/src/elapi/api/_supported_versions/5.5.14.json +62 -0
  8. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.0.json +63 -0
  9. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.1.json +63 -0
  10. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.10.json +63 -0
  11. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.11.json +63 -0
  12. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.12.json +63 -0
  13. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.13.json +63 -0
  14. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.14.json +63 -0
  15. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.15.json +63 -0
  16. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.2.json +63 -0
  17. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.3.json +63 -0
  18. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.4.json +63 -0
  19. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.5.json +63 -0
  20. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.6.json +63 -0
  21. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.7.json +63 -0
  22. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.8.json +63 -0
  23. elapi-2.4.15/src/elapi/api/_supported_versions/5.6.9.json +63 -0
  24. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.0.json +65 -0
  25. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.1.json +65 -0
  26. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.2.json +65 -0
  27. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.3.json +65 -0
  28. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.4.json +65 -0
  29. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.5.json +65 -0
  30. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.6.json +65 -0
  31. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.7.json +65 -0
  32. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.8.json +65 -0
  33. elapi-2.4.15/src/elapi/api/_supported_versions/6.0.9.json +65 -0
  34. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/cli.py +19 -3
  35. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/generate_table.py +40 -7
  36. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/get_whoami.py +7 -1
  37. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/experiments/experiments.py +6 -2
  38. elapi-2.4.13/src/elapi/VERSION +0 -1
  39. {elapi-2.4.13 → elapi-2.4.15}/LICENSE +0 -0
  40. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/__init__.py +0 -0
  41. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/__init__.py +0 -0
  42. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_cache.py +0 -0
  43. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/__init__.py +0 -0
  44. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/base.py +0 -0
  45. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/handlers/__init__.py +0 -0
  46. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/handlers/base.py +0 -0
  47. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/handlers/callback.py +0 -0
  48. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_loggers/handlers/stderr.py +0 -0
  49. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_core_init/_utils.py +0 -0
  50. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_names.py +0 -0
  51. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_vendor/__init__.py +0 -0
  52. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_vendor/haggis/LICENSE +0 -0
  53. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_vendor/haggis/__init__.py +0 -0
  54. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_vendor/haggis/logs.py +0 -0
  55. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/_vendor/haggis/version.py +0 -0
  56. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/__init__.py +0 -0
  57. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_handle_unexp_response.py +0 -0
  58. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_openapi_parser.py +0 -0
  59. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.1.15.json +0 -0
  60. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.0.json +0 -0
  61. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.1.json +0 -0
  62. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.2.json +0 -0
  63. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.3.json +0 -0
  64. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.4.json +0 -0
  65. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.5.json +0 -0
  66. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.6.json +0 -0
  67. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.7.json +0 -0
  68. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.2.8.json +0 -0
  69. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.0.json +0 -0
  70. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.1.json +0 -0
  71. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.10.json +0 -0
  72. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.11.json +0 -0
  73. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.2.json +0 -0
  74. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.3.json +0 -0
  75. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.4.json +0 -0
  76. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.5.json +0 -0
  77. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.6.json +0 -0
  78. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.7.json +0 -0
  79. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.8.json +0 -0
  80. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.3.9.json +0 -0
  81. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.0.json +0 -0
  82. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.1.json +0 -0
  83. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.2.json +0 -0
  84. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.3.json +0 -0
  85. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.4.json +0 -0
  86. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.5.json +0 -0
  87. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.4.6.json +0 -0
  88. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.0.json +0 -0
  89. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.1.json +0 -0
  90. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.10.json +0 -0
  91. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.11.json +0 -0
  92. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.12.json +0 -0
  93. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.13.json +0 -0
  94. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.2.json +0 -0
  95. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.3.json +0 -0
  96. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.4.json +0 -0
  97. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.5.json +0 -0
  98. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.6.json +0 -0
  99. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.7.json +0 -0
  100. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.8.json +0 -0
  101. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/_supported_versions/5.5.9.json +0 -0
  102. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/api.py +0 -0
  103. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/endpoint.py +0 -0
  104. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/api/validators.py +0 -0
  105. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/__init__.py +0 -0
  106. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/__main__.py +0 -0
  107. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/_plugin_handler.py +0 -0
  108. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/_venv_state_manager.py +0 -0
  109. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/doc.py +0 -0
  110. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/cli/elapi.py +0 -0
  111. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/__init__.py +0 -0
  112. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/_config_history.py +0 -0
  113. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/_overload_history.py +0 -0
  114. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/config.py +0 -0
  115. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/overridable_vars.py +0 -0
  116. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/configuration/validators.py +0 -0
  117. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/core_validators/__init__.py +0 -0
  118. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/core_validators/base.py +0 -0
  119. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/core_validators/path.py +0 -0
  120. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/loggers/__init__.py +0 -0
  121. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/loggers/base.py +0 -0
  122. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/loggers/handlers/__init__.py +0 -0
  123. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/loggers/handlers/file.py +0 -0
  124. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/loggers/log_file.py +0 -0
  125. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/path.py +0 -0
  126. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/.DS_Store +0 -0
  127. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/__init__.py +0 -0
  128. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/__init__.py +0 -0
  129. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/_doc.py +0 -0
  130. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/bill_teams.py +0 -0
  131. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/configuration.py +0 -0
  132. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/formats.py +0 -0
  133. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/logger.py +0 -0
  134. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/names.py +0 -0
  135. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/registry.py +0 -0
  136. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/specification.py +0 -0
  137. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/utils.py +0 -0
  138. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/bill_teams/validators.py +0 -0
  139. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/__init__.py +0 -0
  140. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/cli.py +0 -0
  141. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/cli_helpers.py +0 -0
  142. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/export.py +0 -0
  143. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/get_data_from_input_or_path.py +0 -0
  144. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/get_information.py +0 -0
  145. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/commons/get_location_from_headers.py +0 -0
  146. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/experiments/__init__.py +0 -0
  147. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/experiments/_doc.py +0 -0
  148. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/experiments/cli.py +0 -0
  149. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/experiments/formats.py +0 -0
  150. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/__init__.py +0 -0
  151. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/_yagmail_patch.py +0 -0
  152. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/cli.py +0 -0
  153. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/configuration.py +0 -0
  154. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/mail.py +0 -0
  155. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/names.py +0 -0
  156. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/mail/yagmail_configuration.py +0 -0
  157. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/plugins/show_config.py +0 -0
  158. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/__init__.py +0 -0
  159. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/_markdown_doc.py +0 -0
  160. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/_missing.py +0 -0
  161. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/base.py +0 -0
  162. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/colors.py +0 -0
  163. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/formats.py +0 -0
  164. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/highlight.py +0 -0
  165. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/styles/rich_utils.py +0 -0
  166. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/utils/__init__.py +0 -0
  167. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/utils/messages.py +0 -0
  168. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/utils/typer_patches.py +0 -0
  169. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/utils/utils.py +0 -0
  170. {elapi-2.4.13 → elapi-2.4.15}/src/elapi/validators.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elapi
3
- Version: 2.4.13
3
+ Version: 2.4.15
4
4
  Summary: elAPI is a powerful, extensible API client for eLabFTW.
5
5
  Keywords: elabftw,api
6
6
  Author: Alexander Haller, Mahadi Xion
@@ -31,8 +31,8 @@ Requires-Dist: click>=8.1.8,<8.2
31
31
  Requires-Dist: httpx-limiter>=0.3.0,<0.4.0
32
32
  Requires-Dist: httpx-aiohttp>=0.1.12,<0.2
33
33
  Requires-Dist: pydantic>=2.12.3
34
- Requires-Dist: urllib3>=2.6.3
35
- Requires-Dist: aiohttp>=3.13.5
34
+ Requires-Dist: urllib3>=2.8.0
35
+ Requires-Dist: aiohttp>=3.14.4
36
36
  Requires-Dist: lxml>=6.1.0
37
37
  Requires-Dist: jinja2>=3.1.6,<3.2 ; extra == 'mail'
38
38
  Requires-Dist: nameparser>=1.1.3 ; extra == 'mail'
@@ -61,7 +61,7 @@ Description-Content-Type: text/markdown
61
61
  </a>
62
62
  <a href="#compatibility">
63
63
  <img alt="Static Badge" src="https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-%230d7dbe">
64
- <img alt="Static Badge" src="https://img.shields.io/badge/eLabFTW%20support-5.1%20%7C%205.2%20%7C%205.3%20%7C%205.4%20%7C%205.5+-%2323b3be">
64
+ <img alt="Static Badge" src="https://img.shields.io/badge/eLabFTW%20support-5.1%20%7C%205.2%20%7C%205.3%20%7C%205.4%20%7C%205.5%20%7C%205.6%20%7C%206.0+-%2323b3be">
65
65
  </a>
66
66
  <a href="#talks-workshops-and-publications">
67
67
  <img alt="Static Badge" src="https://img.shields.io/badge/DOI-10.11588%2FDATA%2FE4XHXZ-blue?style=plastic&link=https%3A%2F%2Fdoi.org%2F10.11588%2FDATA%2FE4XHXZ">
@@ -110,6 +110,10 @@ uv tool install elapi
110
110
  After installation with `uv` is complete, you would also be able to run elAPI just by entering the `elapi` command on
111
111
  the terminal. You can move on to ["Getting started"](#getting-started).
112
112
 
113
+ > [!IMPORTANT]
114
+ > If you are managing multiple instances of eLabFTW, we recommend clearing elAPI cache by running
115
+ > `elapi clear-cache` once after updating eLabFTW to a newer version to avoid issues like [#200](https://github.com/uhd-urz/elAPI/issues/200).
116
+
113
117
  ### Advanced installation
114
118
 
115
119
  elAPI can be used both as a CLI tool and as a Python library. If you are interested in simply using elAPI's
@@ -148,8 +152,9 @@ your configuration details.
148
152
  ## Compatibility
149
153
 
150
154
  elAPI is compatible with the following Python versions: `3.11`, `3.12`, `3.13`, `3.14`. elAPI supports
151
- the [eLabFTW REST API v2](https://doc.elabftw.net/api/v2/), and can be used with the following eLabFTW
152
- versions: `5.5.13`, `5.5.12`, `5.5.11`, `5.5.10`, `5.5.9`, `5.5.8`, `5.5.7`, `5.5.6`, `5.5.5`, `5.5.4`, `5.5.3`, `5.5.2`, `5.5.1`, `5.5.0`,
155
+ the [eLabFTW REST API v2](https://doc.elabftw.net/api/v2/), and can be used with the following eLabFTW versions:
156
+ `6.0.9`, `6.0.8`, `6.0.7`, `6.0.6`, `6.0.5`, `6.0.4`, `6.0.3`, `6.0.2`, `6.0.1`, `6.0.0`, `5.6.15`, `5.6.14`, `5.6.13`, `5.6.12`, `5.6.11`, `5.6.10`, `5.6.9`, `5.6.8`, `5.6.7`, `5.6.6`, `5.6.5`, `5.6.4`, `5.6.3`, `5.6.2`, `5.6.1`, `5.6.0`, `5.5.13`, `5.5.12`,
157
+ `5.5.11`, `5.5.10`, `5.5.9`, `5.5.8`, `5.5.7`, `5.5.6`, `5.5.5`, `5.5.4`, `5.5.3`, `5.5.2`, `5.5.1`, `5.5.0`,
153
158
  `5.4.6`, `5.4.5`, `5.4.4`, `5.4.3`, `5.4.2`, `5.4.1`,
154
159
  `5.4.0`, `5.3.11`, `5.3.10`, `5.3.9`, `5.3.8`, `5.3.7`, `5.3.6`,
155
160
  `5.3.5`, `5.3.4`, `5.3.3`, `5.3.2`, `5.3.1`, `5.3.0`, `5.2.8`, `5.2.7`, `5.2.6`, `5.2.5`, `5.2.4`,
@@ -8,7 +8,7 @@
8
8
  </a>
9
9
  <a href="#compatibility">
10
10
  <img alt="Static Badge" src="https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-%230d7dbe">
11
- <img alt="Static Badge" src="https://img.shields.io/badge/eLabFTW%20support-5.1%20%7C%205.2%20%7C%205.3%20%7C%205.4%20%7C%205.5+-%2323b3be">
11
+ <img alt="Static Badge" src="https://img.shields.io/badge/eLabFTW%20support-5.1%20%7C%205.2%20%7C%205.3%20%7C%205.4%20%7C%205.5%20%7C%205.6%20%7C%206.0+-%2323b3be">
12
12
  </a>
13
13
  <a href="#talks-workshops-and-publications">
14
14
  <img alt="Static Badge" src="https://img.shields.io/badge/DOI-10.11588%2FDATA%2FE4XHXZ-blue?style=plastic&link=https%3A%2F%2Fdoi.org%2F10.11588%2FDATA%2FE4XHXZ">
@@ -57,6 +57,10 @@ uv tool install elapi
57
57
  After installation with `uv` is complete, you would also be able to run elAPI just by entering the `elapi` command on
58
58
  the terminal. You can move on to ["Getting started"](#getting-started).
59
59
 
60
+ > [!IMPORTANT]
61
+ > If you are managing multiple instances of eLabFTW, we recommend clearing elAPI cache by running
62
+ > `elapi clear-cache` once after updating eLabFTW to a newer version to avoid issues like [#200](https://github.com/uhd-urz/elAPI/issues/200).
63
+
60
64
  ### Advanced installation
61
65
 
62
66
  elAPI can be used both as a CLI tool and as a Python library. If you are interested in simply using elAPI's
@@ -95,8 +99,9 @@ your configuration details.
95
99
  ## Compatibility
96
100
 
97
101
  elAPI is compatible with the following Python versions: `3.11`, `3.12`, `3.13`, `3.14`. elAPI supports
98
- the [eLabFTW REST API v2](https://doc.elabftw.net/api/v2/), and can be used with the following eLabFTW
99
- versions: `5.5.13`, `5.5.12`, `5.5.11`, `5.5.10`, `5.5.9`, `5.5.8`, `5.5.7`, `5.5.6`, `5.5.5`, `5.5.4`, `5.5.3`, `5.5.2`, `5.5.1`, `5.5.0`,
102
+ the [eLabFTW REST API v2](https://doc.elabftw.net/api/v2/), and can be used with the following eLabFTW versions:
103
+ `6.0.9`, `6.0.8`, `6.0.7`, `6.0.6`, `6.0.5`, `6.0.4`, `6.0.3`, `6.0.2`, `6.0.1`, `6.0.0`, `5.6.15`, `5.6.14`, `5.6.13`, `5.6.12`, `5.6.11`, `5.6.10`, `5.6.9`, `5.6.8`, `5.6.7`, `5.6.6`, `5.6.5`, `5.6.4`, `5.6.3`, `5.6.2`, `5.6.1`, `5.6.0`, `5.5.13`, `5.5.12`,
104
+ `5.5.11`, `5.5.10`, `5.5.9`, `5.5.8`, `5.5.7`, `5.5.6`, `5.5.5`, `5.5.4`, `5.5.3`, `5.5.2`, `5.5.1`, `5.5.0`,
100
105
  `5.4.6`, `5.4.5`, `5.4.4`, `5.4.3`, `5.4.2`, `5.4.1`,
101
106
  `5.4.0`, `5.3.11`, `5.3.10`, `5.3.9`, `5.3.8`, `5.3.7`, `5.3.6`,
102
107
  `5.3.5`, `5.3.4`, `5.3.3`, `5.3.2`, `5.3.1`, `5.3.0`, `5.2.8`, `5.2.7`, `5.2.6`, `5.2.5`, `5.2.4`,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "elapi"
3
- version = "2.4.13"
3
+ version = "2.4.15"
4
4
  description = "elAPI is a powerful, extensible API client for eLabFTW."
5
5
  authors = [{ name = "Alexander Haller, Mahadi Xion", email = "elabftw@uni-heidelberg.de" }]
6
6
  requires-python = ">=3.11.0,<4"
@@ -36,9 +36,9 @@ dependencies = [
36
36
  "httpx-limiter>=0.3.0,<0.4.0",
37
37
  "httpx-aiohttp>=0.1.12,<0.2",
38
38
  "pydantic>=2.12.3",
39
- "urllib3>=2.6.3",
39
+ "urllib3>=2.8.0",
40
40
  # Used by yagmail, but added explicitly here to get an important security update
41
- "aiohttp>=3.13.5",
41
+ "aiohttp>=3.14.4",
42
42
  # Used by httpx-aiohttp, but added explicitly here to get an important security update
43
43
  "lxml>=6.1.0",
44
44
  ]
@@ -0,0 +1 @@
1
+ 2.4.15
@@ -32,6 +32,33 @@ class ElabScopes(IntEnum):
32
32
 
33
33
  class ElabVersionDefaults:
34
34
  supported_versions: tuple[str, ...] = (
35
+ "6.0.9",
36
+ "6.0.8",
37
+ "6.0.7",
38
+ "6.0.6",
39
+ "6.0.5",
40
+ "6.0.4",
41
+ "6.0.3",
42
+ "6.0.2",
43
+ "6.0.1",
44
+ "6.0.0",
45
+ "5.6.15",
46
+ "5.6.14",
47
+ "5.6.13",
48
+ "5.6.12",
49
+ "5.6.11",
50
+ "5.6.10",
51
+ "5.6.9",
52
+ "5.6.8",
53
+ "5.6.7",
54
+ "5.6.6",
55
+ "5.6.5",
56
+ "5.6.4",
57
+ "5.6.3",
58
+ "5.6.2",
59
+ "5.6.1",
60
+ "5.6.0",
61
+ "5.5.14",
35
62
  "5.5.13",
36
63
  "5.5.12",
37
64
  "5.5.11",
@@ -0,0 +1,62 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "items": [
34
+ "comments",
35
+ "compounds_links",
36
+ "experiments_links",
37
+ "items_links",
38
+ "revisions",
39
+ "steps",
40
+ "tags",
41
+ "uploads"
42
+ ],
43
+ "items_types": [
44
+ "steps",
45
+ "tags"
46
+ ],
47
+ "reports": [],
48
+ "storage_units": [],
49
+ "teams": [
50
+ "experiments_categories",
51
+ "experiments_status",
52
+ "items_status",
53
+ "resources_categories",
54
+ "teamgroups"
55
+ ],
56
+ "todolist": [],
57
+ "unfinished_steps": [],
58
+ "users": [
59
+ "notifications",
60
+ "uploads"
61
+ ]
62
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "apikeys": [],
3
+ "compounds": [],
4
+ "config": [],
5
+ "dspace": [],
6
+ "event": [],
7
+ "events": [],
8
+ "experiments": [
9
+ "comments",
10
+ "compounds_links",
11
+ "experiments_links",
12
+ "items_links",
13
+ "revisions",
14
+ "steps",
15
+ "tags",
16
+ "uploads"
17
+ ],
18
+ "experiments_templates": [
19
+ "revisions",
20
+ "steps",
21
+ "tags"
22
+ ],
23
+ "exports": [],
24
+ "extra_fields_keys": [],
25
+ "favtags": [],
26
+ "idps": [
27
+ "certs",
28
+ "endpoints"
29
+ ],
30
+ "idps_sources": [],
31
+ "import": [],
32
+ "info": [],
33
+ "instance": [],
34
+ "items": [
35
+ "comments",
36
+ "compounds_links",
37
+ "experiments_links",
38
+ "items_links",
39
+ "revisions",
40
+ "steps",
41
+ "tags",
42
+ "uploads"
43
+ ],
44
+ "items_types": [
45
+ "steps",
46
+ "tags"
47
+ ],
48
+ "reports": [],
49
+ "storage_units": [],
50
+ "teams": [
51
+ "experiments_categories",
52
+ "experiments_status",
53
+ "items_status",
54
+ "resources_categories",
55
+ "teamgroups"
56
+ ],
57
+ "todolist": [],
58
+ "unfinished_steps": [],
59
+ "users": [
60
+ "notifications",
61
+ "uploads"
62
+ ]
63
+ }