metaobjects 0.15.5__tar.gz → 0.15.7__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.
- {metaobjects-0.15.5 → metaobjects-0.15.7}/PKG-INFO +1 -1
- {metaobjects-0.15.5 → metaobjects-0.15.7}/pyproject.toml +1 -1
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/cli.py +122 -7
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/merge.py +21 -0
- metaobjects-0.15.7/tests/codegen/test_cli_providers.py +146 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/uv.lock +1 -1
- {metaobjects-0.15.5 → metaobjects-0.15.7}/.gitignore +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/LICENSE +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/README.md +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/hatch_build.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/agent_context/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/agent_context/scaffold.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/api_model.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/builder.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/naming.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/paths.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/apidocs/renderer.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/attr_class_map.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/KNOWN_GAPS.md +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/config.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/extract_delegate_emitter.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/extract_schema_emitter.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/format.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/fr010_field_mapping.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generator_registry.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/entity_model.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/extractor_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/filter_allowlist_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/fr019_shared_enum.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/m2m_codegen.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/output_parser_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/output_prompt_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/payload_vo_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/render_helper_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/router_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/template_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/tph_plan.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/trace_helper_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/instance_artifacts.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/output_format_spec_emitter.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/overwrite_policy.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/runner.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/runtime/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/runtime/filter_parser.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/output_pattern.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/template_data.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/template_spec.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/type_map.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/core_types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/datatype.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/documentation/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/documentation/doc_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/documentation/doc_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/documentation/doc_schema.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/errors.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/meta_data_loader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/registered_validation.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/directory_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/file_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/meta_data_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/uri_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_discriminator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_field_readonly.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_source_parameter_ref.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_source_physical_names.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validation_passes.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/attr/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/attr/attr_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/attr/meta_attr.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/field/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/field/field_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/field/meta_field.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/identity/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/identity/identity_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/identity/meta_identity.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/index/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/index/index_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/index/meta_index.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/meta_object.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/meta_object_aware.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/object_class_registry.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/object_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/object_extract.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/value_object.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/relationship/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/relationship/derive_m2m_fields.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/relationship/meta_relationship.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/relationship/relationship_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/validator/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/validator/validator_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/meta_data.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/meta_root.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/db/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/db/db_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/db/db_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/origin/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/origin/meta_origin.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/origin/origin_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/source/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/source/meta_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/persistence/source/source_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/layout/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/layout/layout_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/layout/meta_layout.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/ui/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/ui/ui_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/view/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/view/meta_view.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/presentation/view/view_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/provider_extends.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/template/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/template/meta_template.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/template/prompt_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/template/template_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/naming_refs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/parser.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/parser_yaml.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/py.typed +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/registry.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/registry_manifest.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/email_document.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/escapers.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/KNOWN_GAPS.md +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/coerce.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/extract.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/extract_map.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/json_forgiving_reader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/locate.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/normalize.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/strip.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/extract/xml_forgiving_reader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/filesystem_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/output_format_renderer.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/output_format_spec.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/prompt_field.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/prompt_overrides.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/prompt/prompt_style.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/renderer.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/render/verify.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/runtime/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/runtime/llm_recorder.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/runtime/n2m_resolver.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/runtime/object_manager.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/runtime/tph.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/serializer_json.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/shared/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/shared/base_types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/shared/separators.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/shared/structural.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/source/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/source/error_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/source/json_path.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/source/semantic_diff.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/source/yaml_positions.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/attr.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/db.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/documentation.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/field.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/identity.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/index.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/layout.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/object.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/origin.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/prompt.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/relationship.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/source.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/template.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/ui.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/validator.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/spec_metamodel/view.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/super_resolve.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/validation_types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/yaml_desugar.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/extends/expected/BaseEntity.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/extends/expected/Program.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/extends/meta.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/nested-array/expected/AuthorBrief.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/nested-array/expected/PostBrief.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/nested-array/meta.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/scalars/expected/Metric.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/scalars/expected/Report.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/scalars/meta.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/vanilla/expected/Subscriber.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/golden/vanilla/meta.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_abstract_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_api_docs_builder.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_api_docs_paths.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_cli.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_cli_registry.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_cli_staleness_nudge.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_cli_verify_strict.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_cli_verify_subverbs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_constants_config.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_entity_model.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_enum_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_extends_abstract_field_inheritance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_extractor_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_filter_allowlist_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_format.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_fr010_nested_object_prompt.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_fr010_output_codegen.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_fr019_shared_provided_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_generator_extension_seams.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_golden.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_inherit_without_restate_gate.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_inheritance_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_instance_artifacts.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_m2m_codegen.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_output_parser_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_overwrite_policy.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_payload_vo_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_projection_compile.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_render_helper_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_render_helper_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_reverse_finders.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_router_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_runner.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_data.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_output_pattern.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_scope_helpers.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_scope_walk.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_template_spec.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_tph_codegen.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_trace_helper_generator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_type_map.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/codegen/test_validation_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/capabilities.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/conformance-expected-failures.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/conformance_adapter.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/corpus.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/expected_failures.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/fixture_discovery.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/navigator.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_api_docs_cross_port_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_extract_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_extract_object_verdict.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_fr010_loader_attrs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_fr011_attrs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_generator_registry_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_object_model_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_provider_composition_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_registry_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_runner_hardfail.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_spec_metamodel_embed.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_strict_attr_load.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_template_codegen_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_template_generator_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/test_yaml_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/conformance/yaml-conformance-expected-failures.json +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/api_contract_assertions.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/api_contract_jsonb_server.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/api_contract_m2m_server.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/api_contract_server.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/generated_jsonb_app.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/generated_m2m_app.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/generated_router_app.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/generated_tph_app.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/meta_ai_trace.yaml +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/normalization.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/postgres_container.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/query_runner.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/scenarios.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract_generated.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract_jsonb.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract_m2m.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract_m2m_generated.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_api_contract_tph_generated.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_llm_call_trace.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_normalization.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_query_scenarios.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/integration/test_runtime_return_types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/open_closed_proof_test.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_coerce.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_extract.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_extract_map.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_json_forgiving_reader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_locate.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_model.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_normalize.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_strip.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/extract/test_xml_forgiving_reader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/prompt/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/prompt/test_output_format_renderer.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_email_document.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_filesystem_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_output_format_renderer_nested.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_output_prompt_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_render_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_render_max_chars.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_verify.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/render/test_verify_conformance.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_fr5c_merge_attribution.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_fr5d_reference_resolution.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_fr5e_database_source_shape.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_json_path.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_semantic_diff.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_source_on_node.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/source/test_yaml_positions.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/test_api_docs_accuracy.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/__init__.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_agent_context_staleness.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_capabilities.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_common_attrs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_core_types.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_effective_package.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_errors.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_field_enum.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_field_map_validation.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_field_uuid_dbcolumntype.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_fr016_source_name_and_kind_aliases.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_index_lookup.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_llm_recorder.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_loader.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_loader_bom.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_loader_class.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_merge.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_meta_attr.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_meta_data.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_meta_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_module_shortcuts.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_n2m_resolver.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_n2m_resolver_inherited.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_object_manager_uuid_coercion.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_one_primary_source.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_parser.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_parser_yaml.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_provider.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_provider_extension.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_registry.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_registry_completeness.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_registry_extend.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_registry_sealed.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_relationship_referential_actions.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_resolution_key.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_runtime_resolution_key_binding.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_serializer.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_shared_constants.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_smoke.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_sources.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_strict_child_placement.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_super_resolve.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_template_toolcall.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_template_wrong_subtype_attrs.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_validation_attr_schema.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_validation_filter_values.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_validation_origin_paths.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_validation_sort_field.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_validation_warnings.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_write_coercion_arrays.py +0 -0
- {metaobjects-0.15.5 → metaobjects-0.15.7}/tests/unit/test_yaml_desugar.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: metaobjects
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.7
|
|
4
4
|
Summary: Cross-language metadata standard: declare typed entities once, generate idiomatic drift-checked code across languages — Python port.
|
|
5
5
|
Project-URL: Homepage, https://metaobjects.dev
|
|
6
6
|
Project-URL: Repository, https://github.com/metaobjectsdev/metaobjects
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "metaobjects"
|
|
3
|
-
version = "0.15.
|
|
3
|
+
version = "0.15.7"
|
|
4
4
|
description = "Cross-language metadata standard: declare typed entities once, generate idiomatic drift-checked code across languages — Python port."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -103,8 +103,76 @@ def _default_generators() -> list[Generator]:
|
|
|
103
103
|
]
|
|
104
104
|
|
|
105
105
|
|
|
106
|
+
def _resolve_providers(specs: list[str] | None) -> tuple[list[object], list[str]]:
|
|
107
|
+
"""Import consumer providers named as ``module:symbol`` (repeatable ``--provider``).
|
|
108
|
+
|
|
109
|
+
The symbol must be a metaobjects ``Provider`` (or a list of them, or a zero-arg
|
|
110
|
+
factory returning either). A provider carries CODE — factories and optional
|
|
111
|
+
validators — so it is loaded as a native Python object, not a JSON file (#158).
|
|
112
|
+
This is the Python CLI's idiomatic parity with TS ``metaobjects.config.ts``
|
|
113
|
+
``providers``; the underlying loader already accepts providers.
|
|
114
|
+
"""
|
|
115
|
+
if not specs:
|
|
116
|
+
return [], []
|
|
117
|
+
import importlib
|
|
118
|
+
|
|
119
|
+
from metaobjects.provider import Provider
|
|
120
|
+
|
|
121
|
+
providers: list[object] = []
|
|
122
|
+
errors: list[str] = []
|
|
123
|
+
for spec in specs:
|
|
124
|
+
module_name, sep, symbol = spec.partition(":")
|
|
125
|
+
if not sep or not module_name or not symbol:
|
|
126
|
+
errors.append(
|
|
127
|
+
f"--provider '{spec}' must be in 'module:symbol' form "
|
|
128
|
+
"(e.g. myapp.providers:my_provider)"
|
|
129
|
+
)
|
|
130
|
+
continue
|
|
131
|
+
try:
|
|
132
|
+
module = importlib.import_module(module_name)
|
|
133
|
+
except Exception as exc: # ImportError + anything raised at import time
|
|
134
|
+
errors.append(f"--provider '{spec}': cannot import '{module_name}': {exc}")
|
|
135
|
+
continue
|
|
136
|
+
try:
|
|
137
|
+
obj = getattr(module, symbol)
|
|
138
|
+
except AttributeError:
|
|
139
|
+
errors.append(
|
|
140
|
+
f"--provider '{spec}': '{module_name}' has no attribute '{symbol}'"
|
|
141
|
+
)
|
|
142
|
+
continue
|
|
143
|
+
# A zero-arg factory is supported: call it to obtain the provider(s).
|
|
144
|
+
if callable(obj) and not isinstance(obj, Provider):
|
|
145
|
+
try:
|
|
146
|
+
obj = obj()
|
|
147
|
+
except Exception as exc:
|
|
148
|
+
errors.append(f"--provider '{spec}': factory '{symbol}()' raised: {exc}")
|
|
149
|
+
continue
|
|
150
|
+
for item in obj if isinstance(obj, list) else [obj]:
|
|
151
|
+
if isinstance(item, Provider):
|
|
152
|
+
providers.append(item)
|
|
153
|
+
else:
|
|
154
|
+
errors.append(
|
|
155
|
+
f"--provider '{spec}': '{symbol}' resolved to "
|
|
156
|
+
f"{type(item).__name__}, expected a metaobjects Provider"
|
|
157
|
+
)
|
|
158
|
+
return providers, errors
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def _providers_from_args(args: argparse.Namespace) -> tuple[list[object], bool]:
|
|
162
|
+
"""Resolve ``--provider`` specs; print resolution errors. Returns (providers, ok)."""
|
|
163
|
+
providers, errors = _resolve_providers(getattr(args, "provider", None))
|
|
164
|
+
if errors:
|
|
165
|
+
print("error: invalid --provider:", file=sys.stderr)
|
|
166
|
+
for msg in errors:
|
|
167
|
+
print(f" {msg}", file=sys.stderr)
|
|
168
|
+
return providers, False
|
|
169
|
+
return providers, True
|
|
170
|
+
|
|
171
|
+
|
|
106
172
|
def _load_root(
|
|
107
|
-
metadata_dir: str,
|
|
173
|
+
metadata_dir: str,
|
|
174
|
+
strict: bool = False,
|
|
175
|
+
providers: list[object] | None = None,
|
|
108
176
|
) -> tuple[MetaData | None, list[str]]:
|
|
109
177
|
"""Load metadata; return ``(root, error_messages)``. ``root`` is None on error.
|
|
110
178
|
|
|
@@ -112,8 +180,20 @@ def _load_root(
|
|
|
112
180
|
``ERR_UNKNOWN_ATTR``. Defaults False so ``gen`` / ``docs`` keep the legacy
|
|
113
181
|
open-attr load; only ``verify`` opts in (strict-by-default with a ``--lax``
|
|
114
182
|
escape).
|
|
183
|
+
|
|
184
|
+
``providers`` (#158) — consumer providers (from ``--provider module:symbol``)
|
|
185
|
+
composed ON TOP of the core set, so a config-registered custom subtype resolves
|
|
186
|
+
through the standalone CLI just as it does when an app loads the loader directly.
|
|
187
|
+
Empty/None keeps the core-providers-only default (``from_directory`` convenience).
|
|
115
188
|
"""
|
|
116
|
-
|
|
189
|
+
if providers:
|
|
190
|
+
from metaobjects.core_types import core_providers
|
|
191
|
+
|
|
192
|
+
result = MetaDataLoader.from_directory(
|
|
193
|
+
metadata_dir, providers=[*core_providers, *providers], strict=strict
|
|
194
|
+
)
|
|
195
|
+
else:
|
|
196
|
+
result = MetaDataLoader.from_directory(metadata_dir, strict=strict)
|
|
117
197
|
if result.errors:
|
|
118
198
|
msgs = [f"{e.code}: {e.message}" for e in result.errors]
|
|
119
199
|
return None, msgs
|
|
@@ -193,6 +273,7 @@ def _generate(
|
|
|
193
273
|
entity_filter: list[str] | None = None,
|
|
194
274
|
emit_package_init: bool = True,
|
|
195
275
|
strict: bool = False,
|
|
276
|
+
providers: list[object] | None = None,
|
|
196
277
|
) -> tuple[list[str], list[str]]:
|
|
197
278
|
"""Run the generator suite into ``out_dir``.
|
|
198
279
|
|
|
@@ -208,7 +289,7 @@ def _generate(
|
|
|
208
289
|
files are written. ``strict`` (ADR-0023, #96) is threaded to the load — the
|
|
209
290
|
``verify --codegen`` caller passes True; ``gen`` keeps the default False.
|
|
210
291
|
"""
|
|
211
|
-
root, errors = _load_root(metadata_dir, strict=strict)
|
|
292
|
+
root, errors = _load_root(metadata_dir, strict=strict, providers=providers)
|
|
212
293
|
if root is None:
|
|
213
294
|
return [], errors
|
|
214
295
|
return _run_suite(root, out_dir, generators, entity_filter, emit_package_init), []
|
|
@@ -237,7 +318,10 @@ def _cmd_docs(args: argparse.Namespace) -> int:
|
|
|
237
318
|
model_cross_href,
|
|
238
319
|
)
|
|
239
320
|
|
|
240
|
-
|
|
321
|
+
providers, providers_ok = _providers_from_args(args)
|
|
322
|
+
if not providers_ok:
|
|
323
|
+
return 1
|
|
324
|
+
root, errors = _load_root(args.metadata_dir, providers=providers)
|
|
241
325
|
if root is None:
|
|
242
326
|
print("error: failed to load metadata:", file=sys.stderr)
|
|
243
327
|
for msg in errors:
|
|
@@ -364,9 +448,12 @@ def _cmd_gen(args: argparse.Namespace) -> int:
|
|
|
364
448
|
spec_gens = template_spec_to_generators(spec, provider)
|
|
365
449
|
|
|
366
450
|
entities = _parse_entities(getattr(args, "entities", None))
|
|
451
|
+
providers, providers_ok = _providers_from_args(args)
|
|
452
|
+
if not providers_ok:
|
|
453
|
+
return 1
|
|
367
454
|
# Load the metadata ONCE; both the default suite and the (optional)
|
|
368
455
|
# --template-spec pass run against this single loaded root.
|
|
369
|
-
root, load_errors = _load_root(args.metadata_dir)
|
|
456
|
+
root, load_errors = _load_root(args.metadata_dir, providers=providers)
|
|
370
457
|
if root is None:
|
|
371
458
|
print("error: failed to load metadata:", file=sys.stderr)
|
|
372
459
|
for msg in load_errors:
|
|
@@ -431,10 +518,13 @@ def _verify_codegen(args: argparse.Namespace) -> int:
|
|
|
431
518
|
# ADR-0023 strict-by-default (#96): verify loads strict unless --lax is given,
|
|
432
519
|
# so an undeclared/typo'd own @attr fails verify (matching Java's Maven goal).
|
|
433
520
|
strict = not getattr(args, "lax", False)
|
|
521
|
+
providers, providers_ok = _providers_from_args(args)
|
|
522
|
+
if not providers_ok:
|
|
523
|
+
return 1
|
|
434
524
|
with tempfile.TemporaryDirectory() as tmp:
|
|
435
525
|
entities = _parse_entities(getattr(args, "entities", None))
|
|
436
526
|
written, errors = _generate(
|
|
437
|
-
args.metadata_dir, tmp, None, entities, strict=strict
|
|
527
|
+
args.metadata_dir, tmp, None, entities, strict=strict, providers=providers
|
|
438
528
|
)
|
|
439
529
|
if errors:
|
|
440
530
|
print("error: failed to load metadata:", file=sys.stderr)
|
|
@@ -508,7 +598,10 @@ def _verify_templates(args: argparse.Namespace) -> int:
|
|
|
508
598
|
# ADR-0023 strict-by-default (#96) — same as --codegen: an undeclared @attr
|
|
509
599
|
# fails verify unless --lax is passed.
|
|
510
600
|
strict = not getattr(args, "lax", False)
|
|
511
|
-
|
|
601
|
+
providers, providers_ok = _providers_from_args(args)
|
|
602
|
+
if not providers_ok:
|
|
603
|
+
return 1
|
|
604
|
+
root, errors = _load_root(args.metadata_dir, strict=strict, providers=providers)
|
|
512
605
|
if root is None:
|
|
513
606
|
print("error: failed to load metadata:", file=sys.stderr)
|
|
514
607
|
for msg in errors:
|
|
@@ -717,6 +810,16 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
717
810
|
"named entities are written. Omit to emit every entity."
|
|
718
811
|
),
|
|
719
812
|
)
|
|
813
|
+
gen.add_argument(
|
|
814
|
+
"--provider",
|
|
815
|
+
action="append",
|
|
816
|
+
metavar="module:symbol",
|
|
817
|
+
help=(
|
|
818
|
+
"load a consumer metadata Provider as 'module:symbol' (repeatable) — the "
|
|
819
|
+
"Python parity of TS metaobjects.config.ts providers, so a custom subtype "
|
|
820
|
+
"resolves through the standalone CLI (#158)"
|
|
821
|
+
),
|
|
822
|
+
)
|
|
720
823
|
gen.set_defaults(func=_cmd_gen)
|
|
721
824
|
|
|
722
825
|
docs = sub.add_parser(
|
|
@@ -749,6 +852,12 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
749
852
|
default=None,
|
|
750
853
|
help="federate the model back-links to an absolute base URL (default: relative)",
|
|
751
854
|
)
|
|
855
|
+
docs.add_argument(
|
|
856
|
+
"--provider",
|
|
857
|
+
action="append",
|
|
858
|
+
metavar="module:symbol",
|
|
859
|
+
help="load a consumer metadata Provider as 'module:symbol' (repeatable; #158)",
|
|
860
|
+
)
|
|
752
861
|
docs.set_defaults(func=_cmd_docs)
|
|
753
862
|
|
|
754
863
|
verify = sub.add_parser(
|
|
@@ -803,6 +912,12 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
803
912
|
"open-attr load."
|
|
804
913
|
),
|
|
805
914
|
)
|
|
915
|
+
verify.add_argument(
|
|
916
|
+
"--provider",
|
|
917
|
+
action="append",
|
|
918
|
+
metavar="module:symbol",
|
|
919
|
+
help="load a consumer metadata Provider as 'module:symbol' (repeatable; #158)",
|
|
920
|
+
)
|
|
806
921
|
verify.set_defaults(func=_cmd_verify)
|
|
807
922
|
|
|
808
923
|
agent_docs = sub.add_parser(
|
|
@@ -67,12 +67,33 @@ def merge_roots(
|
|
|
67
67
|
warnings = []
|
|
68
68
|
if envelope_warnings is None:
|
|
69
69
|
envelope_warnings = []
|
|
70
|
+
# #160 — an overlay-ONLY root (every object child is `overlay: true`) re-opens
|
|
71
|
+
# objects declared in OTHER files; it must not become the merge accumulator
|
|
72
|
+
# (`roots[0]`) or the base declarations get appended AFTER the overlaid nodes,
|
|
73
|
+
# leaving a projection ahead of its base entities so the order-dependent super-
|
|
74
|
+
# resolution can't resolve its `extends`/`@via`. Directory discovery order is
|
|
75
|
+
# not guaranteed to present base files first (Python `rglob` can yield a top-
|
|
76
|
+
# level overlay file before a subdir base file), so stable-partition base roots
|
|
77
|
+
# ahead of overlay-only roots here — making the merge order-independent and
|
|
78
|
+
# matching the TS loader's result. Stable within each group preserves the
|
|
79
|
+
# existing last-writer-wins overlay semantics.
|
|
80
|
+
roots = [r for r in roots if not _is_overlay_only_root(r)] + [
|
|
81
|
+
r for r in roots if _is_overlay_only_root(r)
|
|
82
|
+
]
|
|
70
83
|
target = roots[0]
|
|
71
84
|
for src in roots[1:]:
|
|
72
85
|
_merge_into(target, src, errors, warnings, envelope_warnings)
|
|
73
86
|
return target
|
|
74
87
|
|
|
75
88
|
|
|
89
|
+
def _is_overlay_only_root(root: MetaData) -> bool:
|
|
90
|
+
"""True when every object child of *root* is an `overlay: true` re-open (and
|
|
91
|
+
there is at least one) — i.e. the root declares no base objects of its own, so
|
|
92
|
+
it must merge after the base-declaring roots (#160)."""
|
|
93
|
+
kids = list(root.own_children())
|
|
94
|
+
return bool(kids) and all(getattr(c, "is_overlay", False) for c in kids)
|
|
95
|
+
|
|
96
|
+
|
|
76
97
|
def _source_files(env: ErrorSource) -> tuple[str, ...]:
|
|
77
98
|
"""Extract the ``files`` tuple from any envelope that carries one.
|
|
78
99
|
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"""#158 — the Python CLI ``--provider module:symbol`` hook.
|
|
2
|
+
|
|
3
|
+
The metadata loaders already accept consumer providers in every language; the gap
|
|
4
|
+
was purely at the CLI layer (``_load_root`` → ``from_directory`` used core
|
|
5
|
+
providers only). These tests prove the standalone ``metaobjects gen``/``verify``
|
|
6
|
+
can now load an app's custom subtype via ``--provider``, parity with the TS
|
|
7
|
+
``metaobjects.config.ts`` ``providers`` path.
|
|
8
|
+
"""
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
import json
|
|
12
|
+
import sys
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
|
|
15
|
+
from metaobjects.cli import main
|
|
16
|
+
|
|
17
|
+
# A provider module the test writes to disk + imports. Registers the custom
|
|
18
|
+
# ``validator.geocheck`` subtype (a validator, so it exercises provider-threading
|
|
19
|
+
# without depending on how codegen maps a novel field's physical type).
|
|
20
|
+
PROVIDER_MODULE = '''
|
|
21
|
+
from metaobjects.provider import Provider
|
|
22
|
+
from metaobjects.registry import TypeDefinition
|
|
23
|
+
from metaobjects.meta.meta_data import MetaData
|
|
24
|
+
|
|
25
|
+
geo_provider = Provider("test-geocheck", ("metaobjects-core-types",))
|
|
26
|
+
geo_provider.add(TypeDefinition(
|
|
27
|
+
type="validator",
|
|
28
|
+
sub_type="geocheck",
|
|
29
|
+
factory=lambda t, s, n: MetaData(t, s, n),
|
|
30
|
+
description="A custom validator",
|
|
31
|
+
))
|
|
32
|
+
'''
|
|
33
|
+
|
|
34
|
+
# Metadata whose ``name`` field carries the custom validator — resolves ONLY when
|
|
35
|
+
# the provider is loaded.
|
|
36
|
+
CUSTOM_META = {
|
|
37
|
+
"metadata.root": {
|
|
38
|
+
"package": "acme::geo",
|
|
39
|
+
"children": [
|
|
40
|
+
{
|
|
41
|
+
"object.entity": {
|
|
42
|
+
"name": "Place",
|
|
43
|
+
"children": [
|
|
44
|
+
{"field.long": {"name": "id"}},
|
|
45
|
+
{
|
|
46
|
+
"field.string": {
|
|
47
|
+
"name": "name",
|
|
48
|
+
"children": [{"validator.geocheck": {"name": "chk"}}],
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{"source.rdb": {"name": "src", "@table": "places"}},
|
|
52
|
+
{
|
|
53
|
+
"identity.primary": {
|
|
54
|
+
"name": "pk",
|
|
55
|
+
"@fields": ["id"],
|
|
56
|
+
"@generation": "increment",
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
],
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _project(tmp_path: Path) -> str:
|
|
68
|
+
d = tmp_path / "meta"
|
|
69
|
+
d.mkdir()
|
|
70
|
+
(d / "meta.json").write_text(json.dumps(CUSTOM_META))
|
|
71
|
+
return str(d)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def _install_provider_module(tmp_path: Path, name: str) -> None:
|
|
75
|
+
(tmp_path / f"{name}.py").write_text(PROVIDER_MODULE)
|
|
76
|
+
sys.path.insert(0, str(tmp_path))
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def test_gen_without_provider_fails_on_custom_subtype(tmp_path: Path) -> None:
|
|
80
|
+
"""Baseline: the custom subtype is unknown without the provider."""
|
|
81
|
+
rc = main(["gen", _project(tmp_path), "--out", str(tmp_path / "out")])
|
|
82
|
+
assert rc != 0
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def test_gen_with_provider_loads_custom_subtype(tmp_path: Path) -> None:
|
|
86
|
+
"""--provider composes the consumer provider on top of core → subtype resolves."""
|
|
87
|
+
meta_dir = _project(tmp_path)
|
|
88
|
+
_install_provider_module(tmp_path, "geo_prov_gen")
|
|
89
|
+
try:
|
|
90
|
+
rc = main(
|
|
91
|
+
[
|
|
92
|
+
"gen",
|
|
93
|
+
meta_dir,
|
|
94
|
+
"--out",
|
|
95
|
+
str(tmp_path / "out"),
|
|
96
|
+
"--provider",
|
|
97
|
+
"geo_prov_gen:geo_provider",
|
|
98
|
+
]
|
|
99
|
+
)
|
|
100
|
+
finally:
|
|
101
|
+
sys.path.remove(str(tmp_path))
|
|
102
|
+
sys.modules.pop("geo_prov_gen", None)
|
|
103
|
+
assert rc == 0
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
def test_verify_with_provider_loads_custom_subtype(tmp_path: Path) -> None:
|
|
107
|
+
"""verify --codegen also threads --provider (reuses the gen code path)."""
|
|
108
|
+
meta_dir = _project(tmp_path)
|
|
109
|
+
_install_provider_module(tmp_path, "geo_prov_ver")
|
|
110
|
+
out = tmp_path / "out"
|
|
111
|
+
try:
|
|
112
|
+
# generate committed output first (with the provider), then verify no drift.
|
|
113
|
+
gen_rc = main(
|
|
114
|
+
["gen", meta_dir, "--out", str(out), "--provider", "geo_prov_ver:geo_provider"]
|
|
115
|
+
)
|
|
116
|
+
assert gen_rc == 0
|
|
117
|
+
rc = main(
|
|
118
|
+
[
|
|
119
|
+
"verify",
|
|
120
|
+
meta_dir,
|
|
121
|
+
"--codegen",
|
|
122
|
+
"--out",
|
|
123
|
+
str(out),
|
|
124
|
+
"--provider",
|
|
125
|
+
"geo_prov_ver:geo_provider",
|
|
126
|
+
]
|
|
127
|
+
)
|
|
128
|
+
finally:
|
|
129
|
+
sys.path.remove(str(tmp_path))
|
|
130
|
+
sys.modules.pop("geo_prov_ver", None)
|
|
131
|
+
assert rc == 0
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def test_bad_provider_spec_reports_error(tmp_path: Path) -> None:
|
|
135
|
+
"""A malformed --provider spec fails cleanly (not 'module:symbol')."""
|
|
136
|
+
rc = main(
|
|
137
|
+
[
|
|
138
|
+
"gen",
|
|
139
|
+
_project(tmp_path),
|
|
140
|
+
"--out",
|
|
141
|
+
str(tmp_path / "out"),
|
|
142
|
+
"--provider",
|
|
143
|
+
"not-a-valid-spec",
|
|
144
|
+
]
|
|
145
|
+
)
|
|
146
|
+
assert rc == 1
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/extract_delegate_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/entity_model.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/extractor_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/fr019_shared_enum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/payload_vo_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/router_generator.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/generators/template_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/output_format_spec_emitter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/__init__.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/output_pattern.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/template_data.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/codegen/template_codegen/template_spec.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
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/directory_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/sources/meta_data_source.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_source_parameter_ref.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/loader/validate_source_physical_names.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
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/field/field_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/identity/identity_constants.py
RENAMED
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/identity/meta_identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/index/index_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{metaobjects-0.15.5 → metaobjects-0.15.7}/src/metaobjects/meta/core/object/meta_object_aware.py
RENAMED
|
File without changes
|