iris-pex-embedded-python 4.0.1b7__tar.gz → 4.0.1b8__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.
- {iris_pex_embedded_python-4.0.1b7/src/iris_pex_embedded_python.egg-info → iris_pex_embedded_python-4.0.1b8}/PKG-INFO +1 -1
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/pyproject.toml +1 -1
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/common.py +14 -1
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/declarations.py +6 -4
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/model.py +3 -2
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/validation.py +10 -3
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8/src/iris_pex_embedded_python.egg-info}/PKG-INFO +1 -1
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/AGENTS.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/LICENSE +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/MANIFEST.in +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/README.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/agents-template.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/ai-coding.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/benchmarks.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/changelog.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/code-of-conduct.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/command-line.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/component-interaction.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/contributing.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/add-business-operation.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/add-business-process.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/add-polling-service.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/code-index.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/fhir-submission-python-client.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/hello-world-production.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/hl7v2-native-input.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/hl7v2-to-fhir-with-fhir-converter.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/index.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/production-settings-and-targets.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/remote-migration.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/credits.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/debug.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/dtl.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/example.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/getting-started/first-steps.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/getting-started/installation.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/getting-started/register-component.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/healthcare-ai-coding.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/index.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/logging.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/prod-settings.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/production-change-workflow.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/production-graph.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/python-api.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/rest-api.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/settings.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/useful-links.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/venv.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/wrapper.md +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/mkdocs.yml +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/setup.cfg +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/__main__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/formatting.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/main.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/parser.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/types.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/BusinessOperation.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/BusinessProcess.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/BusinessService.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Common.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Director.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Duplex/Operation.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Duplex/Process.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Duplex/Service.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Generator/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Generator/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Generator/Message/Start.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Generator/Message/StartPickle.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Generator/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/InboundAdapter.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Message/JSONSchema.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Message.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/OutboundAdapter.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PickleMessage.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PrivateSession/Duplex.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PrivateSession/Message/Ack.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PrivateSession/Message/Poll.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PrivateSession/Message/Start.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/PrivateSession/Message/Stop.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Projection.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Service/Remote/Handler.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Service/Remote/Rest/v1.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Test.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Utils.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Wrapper.cls +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/async_request.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/business_host.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/business_operation.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/business_process.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/business_service.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/common.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/debugpy.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/generator_request.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/inbound_adapter.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/log_manager.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/outbound_adapter.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/polling_business_service.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/private_session_duplex.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/private_session_process.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/settings.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/base.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/decorators.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/dispatch.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/persistent.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/serialization.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/validation.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/io.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/manifest.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/plans.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/utils.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/actions.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/component.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/declarative.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/diff.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/import_.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/inspection.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/planning.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/reconstruction.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/rendering.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/runtime.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/source_inference.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/types.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/py.typed +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/director.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/environment.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/iris.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/local.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/protocol.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/__init__.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/client.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/director.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/migration.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/settings.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/remote/setup.py +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iris_pex_embedded_python.egg-info/SOURCES.txt +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iris_pex_embedded_python.egg-info/dependency_links.txt +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iris_pex_embedded_python.egg-info/entry_points.txt +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iris_pex_embedded_python.egg-info/requires.txt +0 -0
- {iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iris_pex_embedded_python.egg-info/top_level.txt +0 -0
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/common.py
RENAMED
|
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
|
3
3
|
import importlib
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
|
+
from ..components.settings import Setting
|
|
7
|
+
|
|
6
8
|
PRODUCTION_SETTING_FIELDS: dict[str, tuple[str, Any]] = {
|
|
7
9
|
"shutdown_timeout": ("ShutdownTimeout", 120),
|
|
8
10
|
"update_timeout": ("UpdateTimeout", 10),
|
|
@@ -83,11 +85,21 @@ def _adapter_type_from_class_name(class_name: str | None) -> str:
|
|
|
83
85
|
return _adapter_type_from_component_class(component_class)
|
|
84
86
|
|
|
85
87
|
|
|
88
|
+
def _setting_name(name: Any) -> str:
|
|
89
|
+
if isinstance(name, Setting) and name.name:
|
|
90
|
+
return name.name
|
|
91
|
+
return str(name)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def _normalize_settings_mapping(values: Any) -> dict[str, Any]:
|
|
95
|
+
return {_setting_name(key): value for key, value in dict(values or {}).items()}
|
|
96
|
+
|
|
97
|
+
|
|
86
98
|
def _settings_to_iris(target_name: str, values: dict[str, Any]) -> list[dict[str, str]]:
|
|
87
99
|
return [
|
|
88
100
|
{
|
|
89
101
|
"@Target": target_name,
|
|
90
|
-
"@Name": name,
|
|
102
|
+
"@Name": _setting_name(name),
|
|
91
103
|
"#text": _text_value(value),
|
|
92
104
|
}
|
|
93
105
|
for name, value in values.items()
|
|
@@ -97,6 +109,7 @@ def _settings_to_iris(target_name: str, values: dict[str, Any]) -> list[dict[str
|
|
|
97
109
|
def _apply_settings_update(target: dict[str, Any], updates: Any) -> None:
|
|
98
110
|
"""Merge *updates* into *target*, treating ``None`` values as removals."""
|
|
99
111
|
for key, value in (updates or {}).items():
|
|
112
|
+
key = _setting_name(key)
|
|
100
113
|
if value is None:
|
|
101
114
|
target.pop(key, None)
|
|
102
115
|
else:
|
|
@@ -2,9 +2,9 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from collections.abc import Iterable, Mapping
|
|
4
4
|
from dataclasses import dataclass, field
|
|
5
|
-
from typing import Any, ClassVar, Protocol
|
|
5
|
+
from typing import Any, ClassVar, Protocol, cast
|
|
6
6
|
|
|
7
|
-
from .common import SETTING_NAME_ALIASES
|
|
7
|
+
from .common import SETTING_NAME_ALIASES, _normalize_settings_mapping
|
|
8
8
|
from .types import TargetSetting
|
|
9
9
|
|
|
10
10
|
|
|
@@ -36,7 +36,9 @@ class Route:
|
|
|
36
36
|
targets = (self.targets,)
|
|
37
37
|
else:
|
|
38
38
|
try:
|
|
39
|
-
targets = tuple(
|
|
39
|
+
targets = tuple(
|
|
40
|
+
cast(Iterable[str | _NamedRouteTarget], self.targets)
|
|
41
|
+
)
|
|
40
42
|
except TypeError as exc:
|
|
41
43
|
raise TypeError(
|
|
42
44
|
f"Route {self.target_setting_name!r} targets must be an item name, "
|
|
@@ -174,7 +176,7 @@ def _mapping(
|
|
|
174
176
|
item_name: str,
|
|
175
177
|
) -> dict[str, Any]:
|
|
176
178
|
try:
|
|
177
|
-
return
|
|
179
|
+
return _normalize_settings_mapping(values)
|
|
178
180
|
except (TypeError, ValueError) as exc:
|
|
179
181
|
raise TypeError(
|
|
180
182
|
f"Production item {item_name!r} {field_name} must be a mapping"
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/model.py
RENAMED
|
@@ -9,6 +9,7 @@ from .common import (
|
|
|
9
9
|
_adapter_type_from_component_class,
|
|
10
10
|
_apply_settings_update,
|
|
11
11
|
_auto_proxy_class_name,
|
|
12
|
+
_normalize_settings_mapping,
|
|
12
13
|
)
|
|
13
14
|
from .component import ComponentRef
|
|
14
15
|
from .declarative import _DeclarativeProductionMixin
|
|
@@ -432,8 +433,8 @@ class Production(_DeclarativeProductionMixin):
|
|
|
432
433
|
comment=comment,
|
|
433
434
|
log_trace_events=log_trace_events,
|
|
434
435
|
schedule=schedule,
|
|
435
|
-
host_settings=
|
|
436
|
-
adapter_settings=
|
|
436
|
+
host_settings=_normalize_settings_mapping(settings),
|
|
437
|
+
adapter_settings=_normalize_settings_mapping(adapter_settings),
|
|
437
438
|
)
|
|
438
439
|
self._add_item(ref)
|
|
439
440
|
return ref
|
|
@@ -8,6 +8,7 @@ from .common import (
|
|
|
8
8
|
PRODUCTION_SETTING_FIELDS_BY_IRIS,
|
|
9
9
|
PRODUCTION_SETTING_NAMES,
|
|
10
10
|
SETTING_NAME_ALIASES,
|
|
11
|
+
_normalize_settings_mapping,
|
|
11
12
|
)
|
|
12
13
|
from .import_ import _as_list, _production_payload, _split_settings
|
|
13
14
|
from .types import TargetSetting
|
|
@@ -183,14 +184,18 @@ def _validate_component_ref(item: Any) -> list[ProductionValidationIssue]:
|
|
|
183
184
|
|
|
184
185
|
issues.extend(
|
|
185
186
|
_validate_settings(
|
|
186
|
-
settings=
|
|
187
|
+
settings=_normalize_settings_mapping(
|
|
188
|
+
getattr(item, "host_settings", {}) or {}
|
|
189
|
+
),
|
|
187
190
|
path_prefix=f"items.{item_name}.settings.Host",
|
|
188
191
|
local_class=component_class,
|
|
189
192
|
iris_class_name=class_name,
|
|
190
193
|
)
|
|
191
194
|
)
|
|
192
195
|
|
|
193
|
-
adapter_settings =
|
|
196
|
+
adapter_settings = _normalize_settings_mapping(
|
|
197
|
+
getattr(item, "adapter_settings", {}) or {}
|
|
198
|
+
)
|
|
194
199
|
if str(getattr(item, "kind", "")) == "process" and adapter_settings:
|
|
195
200
|
issues.append(
|
|
196
201
|
ProductionValidationIssue(
|
|
@@ -355,7 +360,9 @@ def _validate_target_setting_values(production: Any) -> list[ProductionValidatio
|
|
|
355
360
|
issues: list[ProductionValidationIssue] = []
|
|
356
361
|
for item in items:
|
|
357
362
|
item_name = str(getattr(item, "name", ""))
|
|
358
|
-
host_settings =
|
|
363
|
+
host_settings = _normalize_settings_mapping(
|
|
364
|
+
getattr(item, "host_settings", {}) or {}
|
|
365
|
+
)
|
|
359
366
|
for setting_name in _target_setting_names(item):
|
|
360
367
|
if setting_name not in host_settings:
|
|
361
368
|
continue
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/agents-template.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/code-of-conduct.md
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/component-interaction.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/code-index.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/cookbooks/index.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/healthcare-ai-coding.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/docs/production-graph.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cli/formatting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Common.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Director.cls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Message.cls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Projection.cls
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Test.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Utils.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/cls/IOP/Wrapper.cls
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/common.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/debugpy.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/components/settings.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/base.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/decorators.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/dispatch.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/persistent.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/messages/validation.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/io.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/manifest.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/plans.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/migration/utils.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/actions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/diff.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/import_.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/planning.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/production/types.py
RENAMED
|
File without changes
|
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/__init__.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/director.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/environment.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/iris.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/local.py
RENAMED
|
File without changes
|
{iris_pex_embedded_python-4.0.1b7 → iris_pex_embedded_python-4.0.1b8}/src/iop/runtime/protocol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|