iris-pex-embedded-python 4.0.1b5__tar.gz → 4.0.1b6__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 (145) hide show
  1. {iris_pex_embedded_python-4.0.1b5/src/iris_pex_embedded_python.egg-info → iris_pex_embedded_python-4.0.1b6}/PKG-INFO +1 -1
  2. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/python-api.md +4 -0
  3. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/pyproject.toml +1 -1
  4. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/component.py +16 -0
  5. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6/src/iris_pex_embedded_python.egg-info}/PKG-INFO +1 -1
  6. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/AGENTS.md +0 -0
  7. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/LICENSE +0 -0
  8. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/MANIFEST.in +0 -0
  9. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/README.md +0 -0
  10. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/agents-template.md +0 -0
  11. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/ai-coding.md +0 -0
  12. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/benchmarks.md +0 -0
  13. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/changelog.md +0 -0
  14. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/code-of-conduct.md +0 -0
  15. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/command-line.md +0 -0
  16. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/component-interaction.md +0 -0
  17. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/contributing.md +0 -0
  18. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/add-business-operation.md +0 -0
  19. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/add-business-process.md +0 -0
  20. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/add-polling-service.md +0 -0
  21. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/code-index.md +0 -0
  22. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/fhir-submission-python-client.md +0 -0
  23. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/hello-world-production.md +0 -0
  24. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/hl7v2-native-input.md +0 -0
  25. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/hl7v2-to-fhir-with-fhir-converter.md +0 -0
  26. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/index.md +0 -0
  27. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/production-settings-and-targets.md +0 -0
  28. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/cookbooks/remote-migration.md +0 -0
  29. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/credits.md +0 -0
  30. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/debug.md +0 -0
  31. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/dtl.md +0 -0
  32. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/example.md +0 -0
  33. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/getting-started/first-steps.md +0 -0
  34. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/getting-started/installation.md +0 -0
  35. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/getting-started/register-component.md +0 -0
  36. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/healthcare-ai-coding.md +0 -0
  37. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/index.md +0 -0
  38. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/logging.md +0 -0
  39. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/prod-settings.md +0 -0
  40. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/production-change-workflow.md +0 -0
  41. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/production-graph.md +0 -0
  42. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/rest-api.md +0 -0
  43. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/settings.md +0 -0
  44. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/useful-links.md +0 -0
  45. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/venv.md +0 -0
  46. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/docs/wrapper.md +0 -0
  47. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/mkdocs.yml +0 -0
  48. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/setup.cfg +0 -0
  49. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/__init__.py +0 -0
  50. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/__main__.py +0 -0
  51. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cli/__init__.py +0 -0
  52. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cli/formatting.py +0 -0
  53. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cli/main.py +0 -0
  54. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cli/parser.py +0 -0
  55. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cli/types.py +0 -0
  56. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/BusinessOperation.cls +0 -0
  57. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/BusinessProcess.cls +0 -0
  58. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/BusinessService.cls +0 -0
  59. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Common.cls +0 -0
  60. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Director.cls +0 -0
  61. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Duplex/Operation.cls +0 -0
  62. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Duplex/Process.cls +0 -0
  63. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Duplex/Service.cls +0 -0
  64. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Generator/Message/Ack.cls +0 -0
  65. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Generator/Message/Poll.cls +0 -0
  66. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Generator/Message/Start.cls +0 -0
  67. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Generator/Message/StartPickle.cls +0 -0
  68. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Generator/Message/Stop.cls +0 -0
  69. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/InboundAdapter.cls +0 -0
  70. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Message/JSONSchema.cls +0 -0
  71. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Message.cls +0 -0
  72. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/OutboundAdapter.cls +0 -0
  73. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PickleMessage.cls +0 -0
  74. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PrivateSession/Duplex.cls +0 -0
  75. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PrivateSession/Message/Ack.cls +0 -0
  76. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PrivateSession/Message/Poll.cls +0 -0
  77. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PrivateSession/Message/Start.cls +0 -0
  78. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/PrivateSession/Message/Stop.cls +0 -0
  79. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Projection.cls +0 -0
  80. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Service/Remote/Handler.cls +0 -0
  81. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Service/Remote/Rest/v1.cls +0 -0
  82. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Test.cls +0 -0
  83. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Utils.cls +0 -0
  84. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/cls/IOP/Wrapper.cls +0 -0
  85. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/__init__.py +0 -0
  86. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/async_request.py +0 -0
  87. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/business_host.py +0 -0
  88. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/business_operation.py +0 -0
  89. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/business_process.py +0 -0
  90. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/business_service.py +0 -0
  91. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/common.py +0 -0
  92. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/debugpy.py +0 -0
  93. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/generator_request.py +0 -0
  94. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/inbound_adapter.py +0 -0
  95. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/log_manager.py +0 -0
  96. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/outbound_adapter.py +0 -0
  97. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/polling_business_service.py +0 -0
  98. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/private_session_duplex.py +0 -0
  99. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/private_session_process.py +0 -0
  100. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/components/settings.py +0 -0
  101. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/__init__.py +0 -0
  102. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/base.py +0 -0
  103. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/decorators.py +0 -0
  104. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/dispatch.py +0 -0
  105. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/persistent.py +0 -0
  106. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/serialization.py +0 -0
  107. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/messages/validation.py +0 -0
  108. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/migration/__init__.py +0 -0
  109. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/migration/io.py +0 -0
  110. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/migration/manifest.py +0 -0
  111. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/migration/plans.py +0 -0
  112. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/migration/utils.py +0 -0
  113. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/__init__.py +0 -0
  114. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/actions.py +0 -0
  115. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/common.py +0 -0
  116. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/declarations.py +0 -0
  117. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/declarative.py +0 -0
  118. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/diff.py +0 -0
  119. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/import_.py +0 -0
  120. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/inspection.py +0 -0
  121. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/model.py +0 -0
  122. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/planning.py +0 -0
  123. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/reconstruction.py +0 -0
  124. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/rendering.py +0 -0
  125. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/runtime.py +0 -0
  126. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/source_inference.py +0 -0
  127. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/types.py +0 -0
  128. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/production/validation.py +0 -0
  129. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/__init__.py +0 -0
  130. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/director.py +0 -0
  131. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/environment.py +0 -0
  132. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/iris.py +0 -0
  133. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/local.py +0 -0
  134. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/protocol.py +0 -0
  135. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/__init__.py +0 -0
  136. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/client.py +0 -0
  137. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/director.py +0 -0
  138. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/migration.py +0 -0
  139. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/settings.py +0 -0
  140. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iop/runtime/remote/setup.py +0 -0
  141. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iris_pex_embedded_python.egg-info/SOURCES.txt +0 -0
  142. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
  143. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
  144. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iris_pex_embedded_python.egg-info/requires.txt +0 -0
  145. {iris_pex_embedded_python-4.0.1b5 → iris_pex_embedded_python-4.0.1b6}/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iris_pex_embedded_python
3
- Version: 4.0.1b5
3
+ Version: 4.0.1b6
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License
@@ -640,6 +640,10 @@ Progressive component methods include `pool()`, `enable()`, `disable()`,
640
640
  attributes on `ComponentRef`, so their fluent update methods use distinct names
641
641
  instead of shadowing those attributes.
642
642
 
643
+ Declared target settings are available as dynamic `ComponentRef` attributes,
644
+ such as `rest.my_target`, and are exposed through `dir(rest)` for runtime
645
+ autocomplete.
646
+
643
647
  Python `Production` is the source of truth for Python-authored topology. IRIS
644
648
  remains the runtime source of truth. Imported graphs are operational
645
649
  reconstructions until metadata persistence makes round-trip fidelity possible.
@@ -3,7 +3,7 @@ requires = ["setuptools", "wheel"]
3
3
 
4
4
  [project]
5
5
  name = "iris_pex_embedded_python"
6
- version = "4.0.1b5"
6
+ version = "4.0.1b6"
7
7
  description = "Iris Interoperability based on Embedded Python"
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.10"
@@ -66,6 +66,13 @@ class ComponentRef:
66
66
  return self.target_setting(name)
67
67
  raise AttributeError(name)
68
68
 
69
+ def __dir__(self) -> list[str]:
70
+ names = set(super().__dir__())
71
+ if self.component_class is not None:
72
+ names.update(_target_setting_names(self.component_class))
73
+ names.update(self.target_setting_names)
74
+ return sorted(names)
75
+
69
76
  def target_setting(self, name: str) -> TargetSettingRef:
70
77
  self.target_setting_names.add(name)
71
78
  return TargetSettingRef(
@@ -232,3 +239,12 @@ class ComponentRef:
232
239
  item["Setting"] = settings
233
240
 
234
241
  return item
242
+
243
+
244
+ def _target_setting_names(component_class: type) -> tuple[str, ...]:
245
+ names: dict[str, None] = {}
246
+ for base in reversed(component_class.__mro__):
247
+ for name, value in base.__dict__.items():
248
+ if isinstance(value, TargetSetting):
249
+ names[name] = None
250
+ return tuple(names)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iris_pex_embedded_python
3
- Version: 4.0.1b5
3
+ Version: 4.0.1b6
4
4
  Summary: Iris Interoperability based on Embedded Python
5
5
  Author-email: grongier <guillaume.rongier@intersystems.com>
6
6
  License: MIT License