elapi 2.2.0__tar.gz → 2.3.2__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 (119) hide show
  1. elapi-2.3.2/.assets/.old/urz-elabftw-light-dark-border.png +0 -0
  2. elapi-2.3.2/.assets/.old/urz-elabftw-light-dark-border.svg +27 -0
  3. elapi-2.3.2/.assets/.old/urz-elabftw-original.svg +27 -0
  4. elapi-2.3.2/.assets/.old/urz-elabftw-white-border.png +0 -0
  5. elapi-2.3.2/.assets/elAPI_logo.png +0 -0
  6. elapi-2.3.2/.gitignore +290 -0
  7. elapi-2.3.2/.vscode/launch.json +14 -0
  8. elapi-2.3.2/.vscode/settings.json +3 -0
  9. elapi-2.3.2/CHANGELOG.md +337 -0
  10. elapi-2.3.2/CITATION.cff +16 -0
  11. {elapi-2.2.0 → elapi-2.3.2}/PKG-INFO +39 -39
  12. {elapi-2.2.0 → elapi-2.3.2}/README.md +15 -10
  13. elapi-2.3.2/examples/README.md +57 -0
  14. elapi-2.3.2/examples/bash/create_user/create_new_user.sh +40 -0
  15. elapi-2.3.2/examples/bash/manage_resources/create_and_modify_new_resource.sh +44 -0
  16. elapi-2.3.2/examples/bash/manage_resources/get_all_resources.sh +29 -0
  17. elapi-2.3.2/examples/python/add_attachment_to_an_experiment/add_attachment_advanced.py +103 -0
  18. elapi-2.3.2/examples/python/add_attachment_to_an_experiment/add_attachment_simple.py +61 -0
  19. elapi-2.3.2/examples/python/add_attachment_to_an_experiment/attachments/ChemischeElemente_Beispiel.csv +110 -0
  20. elapi-2.3.2/examples/python/add_attachment_to_an_experiment/attachments/elapi_get_architecture_old.pdf +0 -0
  21. elapi-2.3.2/examples/python/create_plugins/awesome/cli.py +43 -0
  22. elapi-2.3.2/examples/python/create_plugins/obfuscate/README.md +11 -0
  23. elapi-2.3.2/examples/python/create_plugins/obfuscate/_cli_helpers.py +345 -0
  24. elapi-2.3.2/examples/python/create_plugins/obfuscate/cli.py +248 -0
  25. elapi-2.3.2/examples/python/create_plugins/obfuscate/names.py +7 -0
  26. elapi-2.3.2/examples/python/create_plugins/obfuscate/obfuscate.py +74 -0
  27. elapi-2.3.2/examples/python/create_plugins/obfuscate/pyproject.toml +13 -0
  28. elapi-2.3.2/examples/python/create_plugins/obfuscate/utils.py +44 -0
  29. elapi-2.3.2/examples/python/create_users/create_new_user_advanced.py +188 -0
  30. elapi-2.3.2/examples/python/create_users/create_new_user_in_batch_advanced.py +118 -0
  31. elapi-2.3.2/examples/python/create_users/create_new_user_simple.py +79 -0
  32. elapi-2.3.2/examples/python/create_users/create_new_user_with_password_advanced.py +105 -0
  33. elapi-2.3.2/examples/python/create_users/user_data.csv +7 -0
  34. elapi-2.3.2/examples/python/download_experiment_attachment/download_single_attachment.py +108 -0
  35. elapi-2.3.2/examples/python/download_experiments/download_bulk_experiments.py +255 -0
  36. elapi-2.3.2/examples/python/download_experiments/download_single_experiment.py +85 -0
  37. elapi-2.3.2/examples/python/manage_teams/expire_teams.py +91 -0
  38. elapi-2.3.2/examples/python/write_to_experiment/append_new_content_to_experiment.py +80 -0
  39. elapi-2.3.2/examples/python/write_to_experiment/aspirin_new_reserach_result.txt +1 -0
  40. elapi-2.3.2/pyproject.toml +60 -0
  41. elapi-2.3.2/src/elapi/VERSION +1 -0
  42. elapi-2.3.2/src/elapi/cli/__init__.py +0 -0
  43. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/cli/_plugin_handler.py +4 -4
  44. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/cli/elapi.py +104 -34
  45. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/__init__.py +1 -0
  46. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/config.py +11 -10
  47. elapi-2.3.2/src/elapi/configuration/overridable_vars.py +95 -0
  48. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/validators.py +42 -124
  49. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/core_validators/base.py +1 -1
  50. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/core_validators/path.py +1 -1
  51. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/path.py +1 -1
  52. elapi-2.3.2/src/elapi/plugins/bill_teams/__init__.py +7 -0
  53. elapi-2.3.2/src/elapi/plugins/bill_teams/_doc.py +83 -0
  54. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/bill_teams/bill_teams.py +4 -4
  55. elapi-2.3.2/src/elapi/plugins/bill_teams/cli.py +1123 -0
  56. elapi-2.3.2/src/elapi/plugins/bill_teams/configuration.py +57 -0
  57. elapi-2.3.2/src/elapi/plugins/bill_teams/generate_table.py +148 -0
  58. elapi-2.3.2/src/elapi/plugins/bill_teams/logging_handler.py +34 -0
  59. elapi-2.3.2/src/elapi/plugins/bill_teams/names.py +14 -0
  60. elapi-2.3.2/src/elapi/plugins/bill_teams/registry.py +313 -0
  61. elapi-2.3.2/src/elapi/plugins/bill_teams/specification.py +235 -0
  62. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/bill_teams/validators.py +85 -11
  63. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/export.py +13 -2
  64. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/get_information.py +3 -2
  65. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/experiments/_doc.py +1 -1
  66. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/experiments/cli.py +27 -26
  67. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/show_config.py +22 -9
  68. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/_missing.py +2 -1
  69. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/formats.py +13 -0
  70. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/utils/__init__.py +2 -0
  71. elapi-2.3.2/src/elapi/utils/typer_patches.py +214 -0
  72. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/utils/utils.py +46 -0
  73. elapi-2.3.2/uv.lock +505 -0
  74. elapi-2.2.0/pyproject.toml +0 -58
  75. elapi-2.2.0/src/elapi/VERSION +0 -1
  76. elapi-2.2.0/src/elapi/configuration/overridable_vars.py +0 -88
  77. elapi-2.2.0/src/elapi/plugins/bill_teams/__init__.py +0 -2
  78. elapi-2.2.0/src/elapi/plugins/bill_teams/_doc.py +0 -43
  79. elapi-2.2.0/src/elapi/plugins/bill_teams/cli.py +0 -551
  80. elapi-2.2.0/src/elapi/plugins/bill_teams/invoice.py +0 -75
  81. elapi-2.2.0/src/elapi/plugins/bill_teams/specification.py +0 -47
  82. {elapi-2.2.0 → elapi-2.3.2}/LICENSE +0 -0
  83. {elapi-2.2.0/src/elapi/cli → elapi-2.3.2/examples/python/create_plugins/obfuscate}/__init__.py +0 -0
  84. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/__init__.py +0 -0
  85. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/_names.py +0 -0
  86. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/api/__init__.py +0 -0
  87. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/api/api.py +0 -0
  88. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/api/endpoint.py +0 -0
  89. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/api/validators.py +0 -0
  90. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/cli/__main__.py +0 -0
  91. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/cli/_venv_state_manager.py +0 -0
  92. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/cli/doc.py +0 -0
  93. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/_config_history.py +0 -0
  94. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/_overload_history.py +0 -0
  95. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/configuration/log_file.py +0 -0
  96. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/core_validators/__init__.py +0 -0
  97. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/loggers/__init__.py +0 -0
  98. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/loggers/base.py +0 -0
  99. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/loggers/handlers/__init__.py +0 -0
  100. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/loggers/handlers/file.py +0 -0
  101. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/loggers/handlers/stderr.py +0 -0
  102. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/__init__.py +0 -0
  103. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/bill_teams/formats.py +0 -0
  104. /elapi-2.2.0/src/elapi/plugins/bill_teams/generate_table.py → /elapi-2.3.2/src/elapi/plugins/bill_teams/utils.py +0 -0
  105. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/__init__.py +0 -0
  106. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/cli_helpers.py +0 -0
  107. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/get_data_from_input_or_path.py +0 -0
  108. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/commons/get_location_from_headers.py +0 -0
  109. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/experiments/__init__.py +0 -0
  110. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/experiments/experiments.py +0 -0
  111. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/plugins/experiments/formats.py +0 -0
  112. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/__init__.py +0 -0
  113. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/_markdown_doc.py +0 -0
  114. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/base.py +0 -0
  115. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/colors.py +0 -0
  116. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/highlight.py +0 -0
  117. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/styles/rich_utils.py +0 -0
  118. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/utils/messages.py +0 -0
  119. {elapi-2.2.0 → elapi-2.3.2}/src/elapi/validators.py +0 -0
@@ -0,0 +1,27 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
2
+ <desc>Created with Fabric.js 3.5.0</desc>
3
+ <defs>
4
+ </defs>
5
+ <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"/>
6
+ <g transform="matrix(0.9091 0 0 0.9091 500.7273 892.9714)" id="Calque_1">
7
+ <polygon style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(255,255,204); fill-rule: nonzero; opacity: 1;" points="0,0.1395 0.481,-0.1395 -0.481,-0.1395 "/>
8
+ </g>
9
+ <g transform="matrix(0.9091 0 0 0.9091 500.0037 500.0042)" id="Calque_1">
10
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(214,204,204); fill-rule: nonzero; opacity: 1;" transform=" translate(-500.806, -500.5815)" d="M 506.854 952.918 h -12.106 L 94.41 721.789 V 252.532 L 446.027 49.518 v 287.3 l -12.485 5.44 c -60.576 26.389 -99.718 86.099 -99.718 152.115 c 0 91.461 74.408 165.868 165.868 165.868 c 91.458 0 165.865 -74.407 165.865 -165.868 c 0 -66.022 -39.141 -125.732 -99.715 -152.115 l -12.493 -5.44 V 48.245 l 353.853 204.284 v 469.26 L 506.854 952.918 z M 135.987 697.787 L 500.8 908.405 l 364.825 -210.618 v -421.25 l -270.699 -156.28 v 189.82 c 68.596 35.455 112.209 106.356 112.209 184.296 c 0 114.384 -93.056 207.445 -207.442 207.445 s -207.445 -93.062 -207.445 -207.445 c 0 -77.934 43.61 -148.835 112.203 -184.296 V 121.533 L 135.987 276.534 V 697.787 z" stroke-linecap="round"/>
11
+ </g>
12
+ <g transform="matrix(0.9091 0 0 0.9091 843.3364 695.3041)" id="Calque_1">
13
+ <line style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;" x1="-8.743999999999971" y1="5.0464999999999804" x2="8.743999999999971" y2="-5.0464999999999804"/>
14
+ </g>
15
+ <g transform="matrix(0.9091 0 0 0.9091 150.181 332.9009)" id="Calque_1">
16
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(51,51,51); fill-rule: nonzero; opacity: 1;" transform=" translate(-115.199, -316.191)" d="M 115.199 316.191" stroke-linecap="round"/>
17
+ </g>
18
+ <g transform="matrix(0.9091 0 0 0.9091 500.734 531.6123)" id="Calque_1">
19
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-500.806, -534.7725)" d="M 628.928 430.731 H 372.681 c -9.808 19.42 -15.368 41.345 -15.368 64.593 c 0 79.245 64.243 143.49 143.493 143.49 c 79.249 0 143.493 -64.245 143.493 -143.49 C 644.299 472.077 638.742 450.151 628.928 430.731 z M 437.898 487.158 c -10.661 0 -19.304 -8.643 -19.304 -19.304 s 8.643 -19.304 19.304 -19.304 s 19.304 8.643 19.304 19.304 S 448.559 487.158 437.898 487.158 z M 505.171 532.279 c -12.868 0 -23.3 -10.436 -23.3 -23.301 c 0 -12.877 10.432 -23.306 23.3 -23.306 c 12.877 0 23.306 10.429 23.306 23.306 C 528.477 521.844 518.048 532.279 505.171 532.279 z M 567.084 491.612 c -13.12 0 -23.758 -10.638 -23.758 -23.758 s 10.638 -23.758 23.758 -23.758 c 13.121 0 23.759 10.638 23.759 23.758 S 580.205 491.612 567.084 491.612 z" stroke-linecap="round"/>
20
+ </g>
21
+ <g transform="matrix(0.9091 0 0 0.9091 520.9025 388.018)" id="Calque_1">
22
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-522.9925, -376.8195)" d="M 546.296 376.822 c 0 12.865 -10.429 23.301 -23.306 23.301 c -12.865 0 -23.301 -10.436 -23.301 -23.301 c 0 -12.877 10.436 -23.306 23.301 -23.306 C 535.867 353.517 546.296 363.945 546.296 376.822 z" stroke-linecap="round"/>
23
+ </g>
24
+ <g transform="matrix(0.9091 0 0 0.9091 474.5702 402.8484)" id="Calque_1">
25
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-472.027, -393.133)" d="M 488.338 393.133 c 0 9.002 -7.302 16.311 -16.311 16.311 c -9.008 0 -16.311 -7.309 -16.311 -16.311 c 0 -9.014 7.303 -16.311 16.311 -16.311 C 481.036 376.822 488.338 384.119 488.338 393.133 z" stroke-linecap="round"/>
26
+ </g>
27
+ </svg>
@@ -0,0 +1,27 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1000" height="1000" viewBox="0 0 1000 1000" xml:space="preserve">
2
+ <desc>Created with Fabric.js 3.5.0</desc>
3
+ <defs>
4
+ </defs>
5
+ <rect x="0" y="0" width="100%" height="100%" fill="#ffffff"/>
6
+ <g transform="matrix(0.9091 0 0 0.9091 500.7273 892.9714)" id="Calque_1">
7
+ <polygon style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(255,255,204); fill-rule: nonzero; opacity: 1;" points="0,0.1395 0.481,-0.1395 -0.481,-0.1395 "/>
8
+ </g>
9
+ <g transform="matrix(0.9091 0 0 0.9091 500.0037 500.0042)" id="Calque_1">
10
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;" transform=" translate(-500.806, -500.5815)" d="M 506.854 952.918 h -12.106 L 94.41 721.789 V 252.532 L 446.027 49.518 v 287.3 l -12.485 5.44 c -60.576 26.389 -99.718 86.099 -99.718 152.115 c 0 91.461 74.408 165.868 165.868 165.868 c 91.458 0 165.865 -74.407 165.865 -165.868 c 0 -66.022 -39.141 -125.732 -99.715 -152.115 l -12.493 -5.44 V 48.245 l 353.853 204.284 v 469.26 L 506.854 952.918 z M 135.987 697.787 L 500.8 908.405 l 364.825 -210.618 v -421.25 l -270.699 -156.28 v 189.82 c 68.596 35.455 112.209 106.356 112.209 184.296 c 0 114.384 -93.056 207.445 -207.442 207.445 s -207.445 -93.062 -207.445 -207.445 c 0 -77.934 43.61 -148.835 112.203 -184.296 V 121.533 L 135.987 276.534 V 697.787 z" stroke-linecap="round"/>
11
+ </g>
12
+ <g transform="matrix(0.9091 0 0 0.9091 843.3364 695.3041)" id="Calque_1">
13
+ <line style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(255,255,255); fill-rule: nonzero; opacity: 1;" x1="-8.743999999999971" y1="5.0464999999999804" x2="8.743999999999971" y2="-5.0464999999999804"/>
14
+ </g>
15
+ <g transform="matrix(0.9091 0 0 0.9091 150.181 332.9009)" id="Calque_1">
16
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(51,51,51); fill-rule: nonzero; opacity: 1;" transform=" translate(-115.199, -316.191)" d="M 115.199 316.191" stroke-linecap="round"/>
17
+ </g>
18
+ <g transform="matrix(0.9091 0 0 0.9091 500.734 531.6123)" id="Calque_1">
19
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-500.806, -534.7725)" d="M 628.928 430.731 H 372.681 c -9.808 19.42 -15.368 41.345 -15.368 64.593 c 0 79.245 64.243 143.49 143.493 143.49 c 79.249 0 143.493 -64.245 143.493 -143.49 C 644.299 472.077 638.742 450.151 628.928 430.731 z M 437.898 487.158 c -10.661 0 -19.304 -8.643 -19.304 -19.304 s 8.643 -19.304 19.304 -19.304 s 19.304 8.643 19.304 19.304 S 448.559 487.158 437.898 487.158 z M 505.171 532.279 c -12.868 0 -23.3 -10.436 -23.3 -23.301 c 0 -12.877 10.432 -23.306 23.3 -23.306 c 12.877 0 23.306 10.429 23.306 23.306 C 528.477 521.844 518.048 532.279 505.171 532.279 z M 567.084 491.612 c -13.12 0 -23.758 -10.638 -23.758 -23.758 s 10.638 -23.758 23.758 -23.758 c 13.121 0 23.759 10.638 23.759 23.758 S 580.205 491.612 567.084 491.612 z" stroke-linecap="round"/>
20
+ </g>
21
+ <g transform="matrix(0.9091 0 0 0.9091 520.9025 388.018)" id="Calque_1">
22
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-522.9925, -376.8195)" d="M 546.296 376.822 c 0 12.865 -10.429 23.301 -23.306 23.301 c -12.865 0 -23.301 -10.436 -23.301 -23.301 c 0 -12.877 10.436 -23.306 23.301 -23.306 C 535.867 353.517 546.296 363.945 546.296 376.822 z" stroke-linecap="round"/>
23
+ </g>
24
+ <g transform="matrix(0.9091 0 0 0.9091 474.5702 402.8484)" id="Calque_1">
25
+ <path style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-dashoffset: 0; stroke-linejoin: miter; stroke-miterlimit: 4; is-custom-font: none; font-file-url: none; fill: rgb(232,2,55); fill-rule: nonzero; opacity: 1;" transform=" translate(-472.027, -393.133)" d="M 488.338 393.133 c 0 9.002 -7.302 16.311 -16.311 16.311 c -9.008 0 -16.311 -7.309 -16.311 -16.311 c 0 -9.014 7.303 -16.311 16.311 -16.311 C 481.036 376.822 488.338 384.119 488.338 393.133 z" stroke-linecap="round"/>
26
+ </g>
27
+ </svg>
Binary file
elapi-2.3.2/.gitignore ADDED
@@ -0,0 +1,290 @@
1
+ # Project specific
2
+ .env
3
+ .config
4
+ .keys
5
+ notes.md
6
+ poetry.lock
7
+ elapi.yml
8
+
9
+ # Python .gitignore
10
+ # Byte-compiled / optimized / DLL files
11
+ __pycache__/
12
+ *.py[cod]
13
+ *$py.class
14
+
15
+ # C extensions
16
+ *.so
17
+
18
+ # Distribution / packaging
19
+ .Python
20
+ build/
21
+ develop-eggs/
22
+ dist/
23
+ downloads/
24
+ eggs/
25
+ .eggs/
26
+ lib/
27
+ lib64/
28
+ parts/
29
+ sdist/
30
+ var/
31
+ wheels/
32
+ share/python-wheels/
33
+ *.egg-info/
34
+ .installed.cfg
35
+ *.egg
36
+ MANIFEST
37
+
38
+ # PyInstaller
39
+ # Usually these files are written by a python script from a template
40
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
41
+ *.manifest
42
+ *.spec
43
+
44
+ # Installer logs
45
+ pip-log.txt
46
+ pip-delete-this-directory.txt
47
+
48
+ # Unit test / coverage reports
49
+ htmlcov/
50
+ .tox/
51
+ .nox/
52
+ .coverage
53
+ .coverage.*
54
+ .cache
55
+ nosetests.xml
56
+ coverage.xml
57
+ *.cover
58
+ *.py,cover
59
+ .hypothesis/
60
+ .pytest_cache/
61
+ cover/
62
+
63
+ # Translations
64
+ *.mo
65
+ *.pot
66
+
67
+ # Django stuff:
68
+ *.log
69
+ local_settings.py
70
+ db.sqlite3
71
+ db.sqlite3-journal
72
+
73
+ # Flask stuff:
74
+ instance/
75
+ .webassets-cache
76
+
77
+ # Scrapy stuff:
78
+ .scrapy
79
+
80
+ # Sphinx documentation
81
+ docs/_build/
82
+
83
+ # PyBuilder
84
+ .pybuilder/
85
+ target/
86
+
87
+ # Jupyter Notebook
88
+ .ipynb_checkpoints
89
+
90
+ # IPython
91
+ profile_default/
92
+ ipython_config.py
93
+
94
+ # pyenv
95
+ # For a library or package, you might want to ignore these files since the code is
96
+ # intended to run in multiple environments; otherwise, check them in:
97
+ # .python-version
98
+
99
+ # pipenv
100
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
101
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
102
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
103
+ # install all needed dependencies.
104
+ #Pipfile.lock
105
+
106
+ # poetry
107
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
108
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
109
+ # commonly ignored for libraries.
110
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
111
+ #poetry.lock
112
+
113
+ # pdm
114
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
115
+ #pdm.lock
116
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
117
+ # in version control.
118
+ # https://pdm.fming.dev/#use-with-ide
119
+ .pdm.toml
120
+
121
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
122
+ __pypackages__/
123
+
124
+ # Celery stuff
125
+ celerybeat-schedule
126
+ celerybeat.pid
127
+
128
+ # SageMath parsed files
129
+ *.sage.py
130
+
131
+ # Environments
132
+ .venv
133
+ env/
134
+ venv/
135
+ ENV/
136
+ env.bak/
137
+ venv.bak/
138
+
139
+ # Spyder project settings
140
+ .spyderproject
141
+ .spyproject
142
+
143
+ # Rope project settings
144
+ .ropeproject
145
+
146
+ # mkdocs documentation
147
+ /site
148
+
149
+ # mypy
150
+ .mypy_cache/
151
+ .dmypy.json
152
+ dmypy.json
153
+
154
+ # Pyre type checker
155
+ .pyre/
156
+
157
+ # pytype static type analyzer
158
+ .pytype/
159
+
160
+ # Cython debug symbols
161
+ cython_debug/
162
+
163
+ # PyCharm
164
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
167
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
+ .idea/
169
+
170
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
171
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
172
+
173
+ # User-specific stuff
174
+ .idea/**/workspace.xml
175
+ .idea/**/tasks.xml
176
+ .idea/**/usage.statistics.xml
177
+ .idea/**/dictionaries
178
+ .idea/**/shelf
179
+
180
+ # AWS User-specific
181
+ .idea/**/aws.xml
182
+
183
+ # Generated files
184
+ .idea/**/contentModel.xml
185
+
186
+ # Sensitive or high-churn files
187
+ .idea/**/dataSources/
188
+ .idea/**/dataSources.ids
189
+ .idea/**/dataSources.local.xml
190
+ .idea/**/sqlDataSources.xml
191
+ .idea/**/dynamic.xml
192
+ .idea/**/uiDesigner.xml
193
+ .idea/**/dbnavigator.xml
194
+
195
+ # Gradle
196
+ .idea/**/gradle.xml
197
+ .idea/**/libraries
198
+
199
+ # Gradle and Maven with auto-import
200
+ # When using Gradle or Maven with auto-import, you should exclude module files,
201
+ # since they will be recreated, and may cause churn. Uncomment if using
202
+ # auto-import.
203
+ # .idea/artifacts
204
+ # .idea/compiler.xml
205
+ # .idea/jarRepositories.xml
206
+ # .idea/modules.xml
207
+ # .idea/*.iml
208
+ # .idea/modules
209
+ # *.iml
210
+ # *.ipr
211
+
212
+ # CMake
213
+ cmake-build-*/
214
+
215
+ # Mongo Explorer plugin
216
+ .idea/**/mongoSettings.xml
217
+
218
+ # File-based project format
219
+ *.iws
220
+
221
+ # IntelliJ
222
+ out/
223
+
224
+ # mpeltonen/sbt-idea plugin
225
+ .idea_modules/
226
+
227
+ # JIRA plugin
228
+ atlassian-ide-plugin.xml
229
+
230
+ # Cursive Clojure plugin
231
+ .idea/replstate.xml
232
+
233
+ # SonarLint plugin
234
+ .idea/sonarlint/
235
+
236
+ # Crashlytics plugin (for Android Studio and IntelliJ)
237
+ com_crashlytics_export_strings.xml
238
+ crashlytics.properties
239
+ crashlytics-build.properties
240
+ fabric.properties
241
+
242
+ # Editor-based Rest Client
243
+ .idea/httpRequests
244
+
245
+ # Android studio 3.1+ serialized cache file
246
+ .idea/caches/build_file_checksums.ser
247
+
248
+ # Macos .gitignore
249
+
250
+ # General
251
+ .DS_Store
252
+ .AppleDouble
253
+ .LSOverride
254
+
255
+ # Icon must end with two \r
256
+ Icon
257
+
258
+
259
+ # Thumbnails
260
+ ._*
261
+
262
+ # Files that might appear in the root of a volume
263
+ .DocumentRevisions-V100
264
+ .fseventsd
265
+ .Spotlight-V100
266
+ .TemporaryItems
267
+ .Trashes
268
+ .VolumeIcon.icns
269
+ .com.apple.timemachine.donotpresent
270
+
271
+ # Directories potentially created on remote AFP share
272
+ .AppleDB
273
+ .AppleDesktop
274
+ Network Trash Folder
275
+ Temporary Items
276
+ .apdisk
277
+
278
+ # VSCode related metadata files/directories
279
+ .vscode/
280
+ !.vscode/settings.json
281
+ !.vscode/tasks.json
282
+ !.vscode/launch.json
283
+ !.vscode/extensions.json
284
+ !.vscode/*.code-snippets
285
+
286
+ # Local History for Visual Studio Code
287
+ .history/
288
+
289
+ # Built Visual Studio Code Extensions
290
+ *.vsix
@@ -0,0 +1,14 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Python Debugger: Module",
9
+ "type": "debugpy",
10
+ "request": "launch",
11
+ "module": "src.elapi.cli"
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "editor.defaultFormatter": "charliermarsh.ruff"
3
+ }