modwire 5.0.0__tar.gz → 9.0.0__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.
- modwire-9.0.0/.dev/modwire.egg-info/SOURCES.txt +342 -0
- modwire-9.0.0/.github/workflows/ci.yml +36 -0
- modwire-9.0.0/.github/workflows/release.yml +63 -0
- {modwire-5.0.0 → modwire-9.0.0}/.gitignore +7 -5
- modwire-9.0.0/AGENTS.md +1 -0
- modwire-9.0.0/LICENSE +13 -0
- modwire-9.0.0/MANIFEST.in +8 -0
- modwire-9.0.0/Makefile +55 -0
- modwire-9.0.0/PKG-INFO +89 -0
- modwire-9.0.0/README.md +61 -0
- modwire-9.0.0/docs/target-language-ownership.md +34 -0
- modwire-9.0.0/pyproject.toml +78 -0
- modwire-9.0.0/scripts/check_extractors.py +39 -0
- modwire-9.0.0/scripts/generate_docs.py +7 -0
- modwire-9.0.0/scripts/verify_consumer.py +38 -0
- modwire-9.0.0/setup.cfg +8 -0
- modwire-9.0.0/setup.py +7 -0
- modwire-9.0.0/src/modwire/__main__.py +4 -0
- modwire-9.0.0/src/modwire/application.py +107 -0
- modwire-9.0.0/src/modwire/architecture/__init__.py +0 -0
- modwire-9.0.0/src/modwire/architecture/boundaries/application.py +25 -0
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/analyzer_base.py → modwire-9.0.0/src/modwire/architecture/boundaries/domain.py +27 -11
- modwire-9.0.0/src/modwire/architecture/boundaries/models/edge_rule_violation.py +9 -0
- modwire-9.0.0/src/modwire/architecture/boundaries/models/flow_report.py +15 -0
- modwire-9.0.0/src/modwire/architecture/boundaries/models/flow_violation.py +22 -0
- modwire-9.0.0/src/modwire/architecture/boundaries/models/types.py +1 -0
- modwire-9.0.0/src/modwire/architecture/boundaries/services/__init__.py +1 -0
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/backward.py → modwire-9.0.0/src/modwire/architecture/boundaries/services/backward_flow_analyzer.py +11 -5
- modwire-9.0.0/src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py +53 -0
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/module_boundaries.py → modwire-9.0.0/src/modwire/architecture/boundaries/services/module_boundary_analyzer.py +31 -57
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/no_cycles.py → modwire-9.0.0/src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py +14 -15
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/no_reentry.py → modwire-9.0.0/src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py +15 -10
- modwire-9.0.0/src/modwire/architecture/config/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/config/application.py +13 -0
- modwire-9.0.0/src/modwire/architecture/config/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/config/models/architecture_config.py +11 -0
- modwire-9.0.0/src/modwire/architecture/config/models/boundaries_config.py +28 -0
- modwire-9.0.0/src/modwire/architecture/config/models/boundary_rule.py +9 -0
- modwire-9.0.0/src/modwire/architecture/config/models/configuration_value.py +5 -0
- modwire-9.0.0/src/modwire/architecture/config/models/flow_realm.py +7 -0
- modwire-9.0.0/src/modwire/architecture/config/models/flow_rules.py +21 -0
- modwire-9.0.0/src/modwire/architecture/config/models/shape_config.py +15 -0
- modwire-9.0.0/src/modwire/architecture/config/models/shape_realm.py +11 -0
- modwire-9.0.0/src/modwire/architecture/config/models/shape_rules.py +22 -0
- modwire-9.0.0/src/modwire/architecture/config/models/tag_rule.py +9 -0
- modwire-9.0.0/src/modwire/architecture/facade.py +27 -0
- modwire-9.0.0/src/modwire/architecture/insights/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/insights/application.py +34 -0
- modwire-9.0.0/src/modwire/architecture/insights/domain.py +20 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/callable_report_entry.py +7 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/callables_report.py +13 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/clusters_report.py +13 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/clusters_report_item.py +10 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/coherence_report.py +15 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/exports_report.py +11 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/exports_report_item.py +9 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/hotspots_report.py +13 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/hotspots_report_item.py +8 -0
- modwire-9.0.0/src/modwire/architecture/insights/models/insight_report.py +28 -0
- modwire-9.0.0/src/modwire/architecture/insights/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/insights/services/callables_reporter.py +41 -0
- modwire-9.0.0/src/modwire/architecture/insights/services/clusters_reporter.py +84 -0
- modwire-9.0.0/src/modwire/architecture/insights/services/coherence_reporter.py +46 -0
- modwire-5.0.0/src/modwire/architecture/insights/reporters/exports.py → modwire-9.0.0/src/modwire/architecture/insights/services/exports_reporter.py +17 -28
- modwire-9.0.0/src/modwire/architecture/insights/services/hotspots_reporter.py +40 -0
- modwire-9.0.0/src/modwire/architecture/insights/services/insight_report_field_map.py +12 -0
- modwire-9.0.0/src/modwire/architecture/map/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/map/application.py +17 -0
- modwire-9.0.0/src/modwire/architecture/map/domain.py +11 -0
- modwire-9.0.0/src/modwire/architecture/map/models/__init__.py +1 -0
- modwire-5.0.0/src/modwire/architecture/map/base.py → modwire-9.0.0/src/modwire/architecture/map/models/architecture_map.py +6 -10
- modwire-9.0.0/src/modwire/architecture/map/models/architecture_realm.py +7 -0
- {modwire-5.0.0/src/modwire/architecture/boundaries/tags → modwire-9.0.0/src/modwire/architecture/map/models}/tag_map.py +4 -15
- modwire-9.0.0/src/modwire/architecture/map/models/tag_match.py +10 -0
- modwire-9.0.0/src/modwire/architecture/map/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/map/services/architecture_map_loader.py +52 -0
- modwire-9.0.0/src/modwire/architecture/map/services/tag_matcher.py +70 -0
- modwire-9.0.0/src/modwire/architecture/report/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/report/application.py +28 -0
- modwire-9.0.0/src/modwire/architecture/report/domain.py +16 -0
- modwire-9.0.0/src/modwire/architecture/report/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/report/models/architecture_group.py +6 -0
- modwire-9.0.0/src/modwire/architecture/report/models/map_report.py +16 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_catalog.py +6 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_descriptor.py +26 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_item.py +4 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_metadata.py +11 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_node.py +35 -0
- modwire-9.0.0/src/modwire/architecture/report/models/report_section.py +4 -0
- modwire-9.0.0/src/modwire/architecture/report/services/__init__.py +0 -0
- modwire-9.0.0/src/modwire/architecture/report/services/map_report_collector.py +34 -0
- modwire-9.0.0/src/modwire/architecture/shape/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/shape/application.py +53 -0
- modwire-9.0.0/src/modwire/architecture/shape/domain.py +59 -0
- modwire-9.0.0/src/modwire/architecture/shape/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/architecture/shape/models/shape_realm_architecture_map.py +8 -0
- modwire-9.0.0/src/modwire/architecture/shape/models/shape_report.py +15 -0
- modwire-9.0.0/src/modwire/architecture/shape/models/shape_violation.py +11 -0
- modwire-9.0.0/src/modwire/architecture/shape/services/__init__.py +1 -0
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/abstract_class_resolver.py +18 -25
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/callable_resolver.py +27 -37
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/class_resolver.py +20 -31
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/file_resolver.py +21 -26
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/import_resolver.py +13 -17
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/property_resolver.py +26 -32
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire/architecture/shape/services}/signature_resolver.py +19 -25
- modwire-9.0.0/src/modwire/architecture/shape/services/symbol_resolver.py +29 -0
- modwire-9.0.0/src/modwire/autowiring.py +23 -0
- modwire-9.0.0/src/modwire/cli/__init__.py +0 -0
- modwire-9.0.0/src/modwire/cli/documentation/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/documentation/application.py +20 -0
- modwire-9.0.0/src/modwire/cli/documentation/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/documentation/services/documentation_generator.py +37 -0
- modwire-9.0.0/src/modwire/cli/facade.py +87 -0
- modwire-9.0.0/src/modwire/cli/initialization/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/initialization/application.py +45 -0
- modwire-9.0.0/src/modwire/cli/initialization/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/initialization/models/initialization_result.py +9 -0
- modwire-9.0.0/src/modwire/cli/initialization/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/initialization/services/initialization_service.py +27 -0
- modwire-9.0.0/src/modwire/cli/pipeline/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/pipeline/application.py +59 -0
- modwire-9.0.0/src/modwire/cli/pipeline/domain.py +29 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/command_request.py +13 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/extractor_batch_input.py +5 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/extractor_command_input.py +7 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/extractor_source_input.py +10 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/report_pipeline_context.py +22 -0
- modwire-9.0.0/src/modwire/cli/pipeline/models/scan_policy.py +8 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/batch_source_reader.py +203 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/callables_insight.py +28 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/clusters_insight.py +30 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/coherence_insight.py +36 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/command_line.py +33 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/configuration_loader.py +14 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/extractor_command.py +49 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/flow_violations.py +25 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/hotspots_insight.py +28 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/map_tree.py +47 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/output_console.py +8 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/shape_violations.py +29 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/success.py +20 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/unknown_files_warning.py +24 -0
- modwire-9.0.0/src/modwire/cli/pipeline/services/unused_exports_insight.py +27 -0
- modwire-9.0.0/src/modwire/cli/resources/__init__.py +1 -0
- modwire-9.0.0/src/modwire/cli/resources/application.py +17 -0
- modwire-9.0.0/src/modwire/cli/resources/models/__init__.py +0 -0
- modwire-9.0.0/src/modwire/cli/resources/models/defaults.py +14 -0
- modwire-9.0.0/src/modwire/cli/resources/models/init_asset.py +10 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/AGENTS.md +1 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/ARCHITECTURE.md +49 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/INDEX.md +9 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/MODWIRE.md +5 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/RULES.md +6 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/TESTING.md +7 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/WORKFLOW.md +8 -0
- modwire-9.0.0/src/modwire/cli/resources/templates/architecture.yaml +60 -0
- modwire-9.0.0/src/modwire/extraction/__init__.py +0 -0
- modwire-9.0.0/src/modwire/extraction/dependency/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/dependency/application.py +21 -0
- modwire-9.0.0/src/modwire/extraction/dependency/domain.py +17 -0
- modwire-9.0.0/src/modwire/extraction/dependency/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/dependency/services/graph_builder.py +25 -0
- modwire-9.0.0/src/modwire/extraction/dependency/services/import_resolver.py +53 -0
- modwire-9.0.0/src/modwire/extraction/dependency/services/suffix_index.py +30 -0
- modwire-9.0.0/src/modwire/extraction/extractors/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/extractors/application.py +45 -0
- modwire-9.0.0/src/modwire/extraction/extractors/domain.py +30 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/batch_config.py +11 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/extraction_request.py +9 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/extractor_resource.py +6 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/extractor_runtime.py +10 -0
- modwire-9.0.0/src/modwire/extraction/extractors/models/python_call_context.py +10 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/build.php +105 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/build.py +27 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/composer.json +14 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/composer.lock +77 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/script.php +0 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/php/script.src.php +783 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/python/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/python/script.py +4 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/build.mjs +29 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/build.py +23 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/package-lock.json +351 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/package.json +16 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/script.js +234665 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/script.ts +1139 -0
- modwire-9.0.0/src/modwire/extraction/extractors/resources/typescript/tsconfig.json +14 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/php_extractor.py +26 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/python_call_reader.py +61 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/python_extractor.py +27 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/python_syntax_parser.py +758 -0
- modwire-9.0.0/src/modwire/extraction/extractors/services/type_script_extractor.py +26 -0
- modwire-9.0.0/src/modwire/extraction/facade.py +30 -0
- modwire-9.0.0/src/modwire/py.typed +0 -0
- modwire-9.0.0/src/modwire/shared/__init__.py +0 -0
- modwire-9.0.0/src/modwire/shared/code/__init__.py +1 -0
- modwire-9.0.0/src/modwire/shared/code/application.py +23 -0
- modwire-9.0.0/src/modwire/shared/code/domain.py +19 -0
- modwire-9.0.0/src/modwire/shared/code/models/__init__.py +1 -0
- modwire-9.0.0/src/modwire/shared/code/models/code_map.py +21 -0
- modwire-5.0.0/src/modwire/code/package.py → modwire-9.0.0/src/modwire/shared/code/models/code_package.py +12 -16
- modwire-9.0.0/src/modwire/shared/code/models/dependency_edge_result.py +9 -0
- modwire-9.0.0/src/modwire/shared/code/models/dependency_graph.py +95 -0
- modwire-9.0.0/src/modwire/shared/code/models/dependency_node_result.py +10 -0
- modwire-9.0.0/src/modwire/shared/code/models/duplicate_identity_error.py +31 -0
- modwire-9.0.0/src/modwire/shared/code/models/edge.py +14 -0
- modwire-9.0.0/src/modwire/shared/code/models/edge_resolution.py +3 -0
- modwire-9.0.0/src/modwire/shared/code/models/identity.py +5 -0
- modwire-9.0.0/src/modwire/shared/code/models/node.py +10 -0
- modwire-9.0.0/src/modwire/shared/code/models/query_builder.py +33 -0
- modwire-9.0.0/src/modwire/shared/code/models/query_types.py +4 -0
- modwire-9.0.0/src/modwire/shared/code/models/queryable_code_map.py +144 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_abstract_class.py +9 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_call.py +13 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_callable.py +22 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_callable_symbol.py +6 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_class.py +8 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_class_method.py +5 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_class_property.py +6 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_export.py +17 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_extraction.py +17 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_file.py +32 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_file_result.py +8 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_function.py +5 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_import.py +22 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_imported_symbol.py +10 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_interface.py +10 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_item_result.py +5 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_parameter.py +9 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_signature.py +9 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_symbol.py +9 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_type.py +8 -0
- modwire-9.0.0/src/modwire/shared/code/models/source_value.py +13 -0
- modwire-9.0.0/src/modwire/shared/code/models/types.py +14 -0
- modwire-9.0.0/src/modwire/shared/code/services/__init__.py +1 -0
- modwire-9.0.0/src/modwire/shared/code/services/glob_path_matcher.py +41 -0
- modwire-9.0.0/src/modwire/shared/code/services/identity_resolver.py +30 -0
- modwire-9.0.0/src/modwire/shared/values/__init__.py +1 -0
- modwire-9.0.0/src/modwire/shared/values/models/__init__.py +0 -0
- modwire-9.0.0/src/modwire/shared/values/models/value_model.py +23 -0
- modwire-9.0.0/tests/__init__.py +0 -0
- modwire-9.0.0/tests/application/__init__.py +0 -0
- modwire-9.0.0/tests/application/base_test.py +40 -0
- modwire-9.0.0/tests/application/test_01_attacks.py +28 -0
- modwire-9.0.0/tests/application/test_06_happy_path.py +25 -0
- modwire-9.0.0/tests/architecture/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/base_test.py +13 -0
- modwire-9.0.0/tests/architecture/boundaries/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/boundaries/base_test.py +38 -0
- modwire-9.0.0/tests/architecture/boundaries/test_01_attacks.py +47 -0
- modwire-9.0.0/tests/architecture/boundaries/test_02_invariants.py +59 -0
- modwire-9.0.0/tests/architecture/boundaries/test_03_public_api.py +27 -0
- modwire-9.0.0/tests/architecture/boundaries/test_04_paths.py +66 -0
- modwire-9.0.0/tests/architecture/config/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/config/test_01_attacks.py +50 -0
- modwire-9.0.0/tests/architecture/config/test_02_invariants.py +29 -0
- modwire-9.0.0/tests/architecture/insights/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/insights/base_test.py +12 -0
- modwire-9.0.0/tests/architecture/insights/test_02_invariants.py +79 -0
- modwire-9.0.0/tests/architecture/map/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/map/test_02_patterns.py +59 -0
- modwire-9.0.0/tests/architecture/report/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/report/test_02_invariants.py +33 -0
- modwire-9.0.0/tests/architecture/shape/__init__.py +0 -0
- modwire-9.0.0/tests/architecture/shape/base_test.py +7 -0
- modwire-9.0.0/tests/architecture/shape/test_01_limits.py +126 -0
- modwire-9.0.0/tests/architecture/shape/test_02_invariants.py +48 -0
- modwire-9.0.0/tests/cli/__init__.py +0 -0
- modwire-9.0.0/tests/cli/base_test.py +37 -0
- modwire-9.0.0/tests/cli/documentation/__init__.py +0 -0
- modwire-9.0.0/tests/cli/documentation/test_02_invariants.py +19 -0
- modwire-9.0.0/tests/cli/initialization/__init__.py +0 -0
- modwire-9.0.0/tests/cli/initialization/test_01_attacks.py +9 -0
- modwire-9.0.0/tests/cli/initialization/test_02_invariants.py +15 -0
- modwire-9.0.0/tests/cli/initialization/test_03_interruption.py +10 -0
- modwire-9.0.0/tests/cli/initialization/test_04_cleanup.py +10 -0
- modwire-9.0.0/tests/cli/initialization/test_05_recovery.py +10 -0
- modwire-9.0.0/tests/cli/pipeline/__init__.py +0 -0
- modwire-9.0.0/tests/cli/pipeline/base_test.py +24 -0
- modwire-9.0.0/tests/cli/pipeline/test_01_attacks.py +44 -0
- modwire-9.0.0/tests/cli/pipeline/test_02_invariants.py +115 -0
- modwire-9.0.0/tests/cli/pipeline/test_03_interruption.py +16 -0
- modwire-9.0.0/tests/cli/pipeline/test_04_command_transport.py +45 -0
- modwire-9.0.0/tests/cli/pipeline/test_05_recovery.py +36 -0
- modwire-9.0.0/tests/cli/pipeline/test_06_happy_path.py +25 -0
- modwire-9.0.0/tests/conftest.py +0 -0
- modwire-9.0.0/tests/extraction/__init__.py +0 -0
- modwire-9.0.0/tests/extraction/base_test.py +6 -0
- modwire-9.0.0/tests/extraction/big_projects/__init__.py +0 -0
- modwire-9.0.0/tests/extraction/big_projects/project.py +19 -0
- modwire-9.0.0/tests/extraction/big_projects/projects.json +32 -0
- modwire-9.0.0/tests/extraction/big_projects/resolution_results.json +50 -0
- modwire-9.0.0/tests/extraction/big_projects/results.json +20 -0
- modwire-9.0.0/tests/extraction/big_projects/run.py +210 -0
- modwire-9.0.0/tests/extraction/dependency/__init__.py +0 -0
- modwire-9.0.0/tests/extraction/dependency/test_02_invariants.py +107 -0
- modwire-9.0.0/tests/extraction/extractors/__init__.py +0 -0
- modwire-9.0.0/tests/extraction/extractors/test_01_attacks.py +14 -0
- modwire-9.0.0/tests/extraction/extractors/test_02_invariants.py +31 -0
- modwire-9.0.0/tests/extraction/extractors/test_03_native_symbols.py +50 -0
- modwire-9.0.0/tests/extraction/scan_benchmark/__init__.py +0 -0
- modwire-9.0.0/tests/extraction/scan_benchmark/prepare.py +68 -0
- modwire-9.0.0/tests/extraction/scan_benchmark/results.json +46 -0
- modwire-9.0.0/tests/extraction/scan_benchmark/run.py +93 -0
- modwire-9.0.0/tests/fixtures/languages/php/ignored/example_generated.php +6 -0
- modwire-9.0.0/tests/fixtures/languages/php/src/example_application/example_actions/example_action.php +28 -0
- modwire-9.0.0/tests/fixtures/languages/php/src/example_domain/example_model/example_record.php +16 -0
- modwire-9.0.0/tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php +17 -0
- modwire-9.0.0/tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php +18 -0
- modwire-9.0.0/tests/fixtures/languages/python/ignored/example_generated.py +5 -0
- modwire-9.0.0/tests/fixtures/languages/python/src/example_application/example_actions/example_action.py +26 -0
- modwire-9.0.0/tests/fixtures/languages/python/src/example_domain/example_model/example_record.py +11 -0
- modwire-9.0.0/tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py +10 -0
- modwire-9.0.0/tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py +14 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/ignored/example_generated.ts +3 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts +24 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts +11 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx +5 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js +3 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts +25 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts +11 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts +13 -0
- modwire-9.0.0/tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx +3 -0
- modwire-9.0.0/tests/fixtures/syntax/php/example_shapes.php +32 -0
- modwire-9.0.0/tests/fixtures/syntax/python/example_shapes.py +28 -0
- modwire-9.0.0/tests/fixtures/syntax/typescript/example_shapes.ts +28 -0
- modwire-9.0.0/tests/shared/__init__.py +0 -0
- modwire-9.0.0/tests/shared/code/__init__.py +0 -0
- modwire-9.0.0/tests/shared/code/test_02_invariants.py +67 -0
- modwire-9.0.0/tests/support/__init__.py +0 -0
- modwire-9.0.0/tests/support/base_test.py +28 -0
- modwire-9.0.0/tests/support/code_map.py +163 -0
- modwire-9.0.0/tests/support/service_test.py +25 -0
- modwire-9.0.0/uv.lock +837 -0
- modwire-5.0.0/.github/ISSUE_TEMPLATE/bug_report.yml +0 -107
- modwire-5.0.0/.github/ISSUE_TEMPLATE/config.yml +0 -1
- modwire-5.0.0/.github/ISSUE_TEMPLATE/decision.yml +0 -48
- modwire-5.0.0/.github/ISSUE_TEMPLATE/epic.yml +0 -51
- modwire-5.0.0/.github/ISSUE_TEMPLATE/feature_request.yml +0 -70
- modwire-5.0.0/.github/ISSUE_TEMPLATE/task.yml +0 -56
- modwire-5.0.0/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- modwire-5.0.0/.github/modwire-ecosystem.yml +0 -227
- modwire-5.0.0/.github/scripts/reconcile_ecosystem.py +0 -636
- modwire-5.0.0/.github/workflows/ci.yml +0 -30
- modwire-5.0.0/.github/workflows/human-approval.yml +0 -133
- modwire-5.0.0/.github/workflows/issue-metadata-check.yml +0 -17
- modwire-5.0.0/.github/workflows/issue-metadata.yml +0 -87
- modwire-5.0.0/.github/workflows/python-package.yml +0 -84
- modwire-5.0.0/.github/workflows/python-release-assets.yml +0 -36
- modwire-5.0.0/.github/workflows/python-release-build.yml +0 -86
- modwire-5.0.0/.github/workflows/release.yml +0 -47
- modwire-5.0.0/.modwire/boundaries.yaml +0 -44
- modwire-5.0.0/.modwire/shape.yaml +0 -5
- modwire-5.0.0/CHANGELOG.md +0 -120
- modwire-5.0.0/CONTRIBUTING.md +0 -39
- modwire-5.0.0/LICENSE +0 -21
- modwire-5.0.0/MANIFEST.in +0 -2
- modwire-5.0.0/Makefile +0 -6
- modwire-5.0.0/PKG-INFO +0 -125
- modwire-5.0.0/README.md +0 -87
- modwire-5.0.0/docs/decisions/0001-canonical-modwire-repository-shape.md +0 -106
- modwire-5.0.0/docs/governance/github-ecosystem.md +0 -249
- modwire-5.0.0/docs/governance/python-workflows.md +0 -127
- modwire-5.0.0/docs/migration-5.md +0 -53
- modwire-5.0.0/docs/scaffolding/golden/cli.yaml +0 -44
- modwire-5.0.0/docs/scaffolding/golden/library.yaml +0 -40
- modwire-5.0.0/docs/scaffolding/repository-contract-v1.yaml +0 -147
- modwire-5.0.0/docs/wiki/Development-checks.md +0 -25
- modwire-5.0.0/docs/wiki/Home.md +0 -28
- modwire-5.0.0/docs/wiki/Reporting-bugs.md +0 -24
- modwire-5.0.0/docs/wiki/Requesting-features.md +0 -26
- modwire-5.0.0/pyproject.toml +0 -90
- modwire-5.0.0/setup.cfg +0 -4
- modwire-5.0.0/src/modwire/__init__.py +0 -14
- modwire-5.0.0/src/modwire/_version.py +0 -24
- modwire-5.0.0/src/modwire/architecture/__init__.py +0 -7
- modwire-5.0.0/src/modwire/architecture/app.py +0 -67
- modwire-5.0.0/src/modwire/architecture/boundaries/__init__.py +0 -4
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzer.py +0 -60
- modwire-5.0.0/src/modwire/architecture/boundaries/analyzers/__init__.py +0 -1
- modwire-5.0.0/src/modwire/architecture/boundaries/base.py +0 -58
- modwire-5.0.0/src/modwire/architecture/boundaries/collector.py +0 -32
- modwire-5.0.0/src/modwire/architecture/boundaries/composition.py +0 -22
- modwire-5.0.0/src/modwire/architecture/boundaries/tags/__init__.py +0 -9
- modwire-5.0.0/src/modwire/architecture/boundaries/tags/matcher.py +0 -135
- modwire-5.0.0/src/modwire/architecture/composition.py +0 -21
- modwire-5.0.0/src/modwire/architecture/insights/__init__.py +0 -4
- modwire-5.0.0/src/modwire/architecture/insights/base.py +0 -14
- modwire-5.0.0/src/modwire/architecture/insights/collector.py +0 -31
- modwire-5.0.0/src/modwire/architecture/insights/composition.py +0 -18
- modwire-5.0.0/src/modwire/architecture/insights/reporters/__init__.py +0 -7
- modwire-5.0.0/src/modwire/architecture/insights/reporters/base.py +0 -43
- modwire-5.0.0/src/modwire/architecture/insights/reporters/callables.py +0 -60
- modwire-5.0.0/src/modwire/architecture/insights/reporters/clusters.py +0 -121
- modwire-5.0.0/src/modwire/architecture/insights/reporters/coherence.py +0 -60
- modwire-5.0.0/src/modwire/architecture/insights/reporters/hotspots.py +0 -62
- modwire-5.0.0/src/modwire/architecture/map/__init__.py +0 -4
- modwire-5.0.0/src/modwire/architecture/map/collector.py +0 -40
- modwire-5.0.0/src/modwire/architecture/map/composition.py +0 -8
- modwire-5.0.0/src/modwire/architecture/map/loader.py +0 -63
- modwire-5.0.0/src/modwire/architecture/shape/__init__.py +0 -4
- modwire-5.0.0/src/modwire/architecture/shape/base.py +0 -92
- modwire-5.0.0/src/modwire/architecture/shape/collector.py +0 -42
- modwire-5.0.0/src/modwire/architecture/shape/composition.py +0 -27
- modwire-5.0.0/src/modwire/architecture/shape/resolvers/symbol_resolver.py +0 -33
- modwire-5.0.0/src/modwire/code/__init__.py +0 -6
- modwire-5.0.0/src/modwire/facade.py +0 -23
- modwire-5.0.0/src/modwire/layers/__init__.py +0 -11
- modwire-5.0.0/src/modwire/layers/app.py +0 -9
- modwire-5.0.0/src/modwire/modules/__init__.py +0 -4
- modwire-5.0.0/src/modwire/modules/app.py +0 -9
- modwire-5.0.0/src/modwire/projects/__init__.py +0 -53
- modwire-5.0.0/src/modwire/projects/app.py +0 -9
- modwire-5.0.0/src/modwire/projects/ecosystem.py +0 -330
- modwire-5.0.0/src/modwire/shared/__init__.py +0 -19
- modwire-5.0.0/src/modwire/shared/base.py +0 -61
- modwire-5.0.0/src/modwire/shared/config/__init__.py +0 -36
- modwire-5.0.0/src/modwire/shared/config/architecture.py +0 -67
- modwire-5.0.0/src/modwire/shared/config/layers.py +0 -30
- modwire-5.0.0/src/modwire/shared/config/modules.py +0 -18
- modwire-5.0.0/src/modwire/shared/config/modwire.py +0 -14
- modwire-5.0.0/src/modwire/shared/config/projects.py +0 -27
- modwire-5.0.0/src/modwire/shared/config/shape.py +0 -40
- modwire-5.0.0/src/modwire/shared/report/__init__.py +0 -18
- modwire-5.0.0/src/modwire/shared/report/base.py +0 -105
- modwire-5.0.0/src/modwire.egg-info/PKG-INFO +0 -125
- modwire-5.0.0/src/modwire.egg-info/SOURCES.txt +0 -122
- modwire-5.0.0/src/modwire.egg-info/requires.txt +0 -11
- modwire-5.0.0/src/modwire.egg-info/scm_file_list.json +0 -119
- modwire-5.0.0/src/modwire.egg-info/scm_version.json +0 -8
- modwire-5.0.0/src/modwire.egg-info/top_level.txt +0 -1
- modwire-5.0.0/tests/test_architecture.py +0 -19
- modwire-5.0.0/tests/test_boundaries.py +0 -192
- modwire-5.0.0/tests/test_ecosystem_contract.py +0 -95
- modwire-5.0.0/tests/test_import_shape.py +0 -57
- modwire-5.0.0/tests/test_models.py +0 -57
- modwire-5.0.0/tests/test_repository_shape_contract.py +0 -44
- modwire-5.0.0/uv.lock +0 -841
- {modwire-5.0.0/src/modwire/architecture/shape/resolvers → modwire-9.0.0/src/modwire}/__init__.py +0 -0
- /modwire-5.0.0/src/modwire.egg-info/dependency_links.txt → /modwire-9.0.0/src/modwire/architecture/boundaries/__init__.py +0 -0
- /modwire-5.0.0/src/modwire/py.typed → /modwire-9.0.0/src/modwire/architecture/boundaries/models/__init__.py +0 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
.gitignore
|
|
2
|
+
AGENTS.md
|
|
3
|
+
LICENSE
|
|
4
|
+
MANIFEST.in
|
|
5
|
+
Makefile
|
|
6
|
+
README.md
|
|
7
|
+
pyproject.toml
|
|
8
|
+
setup.cfg
|
|
9
|
+
setup.py
|
|
10
|
+
uv.lock
|
|
11
|
+
.github/workflows/ci.yml
|
|
12
|
+
.github/workflows/release.yml
|
|
13
|
+
docs/target-language-ownership.md
|
|
14
|
+
scripts/check_extractors.py
|
|
15
|
+
scripts/generate_docs.py
|
|
16
|
+
scripts/verify_consumer.py
|
|
17
|
+
src/modwire/__init__.py
|
|
18
|
+
src/modwire/__main__.py
|
|
19
|
+
src/modwire/application.py
|
|
20
|
+
src/modwire/autowiring.py
|
|
21
|
+
src/modwire/py.typed
|
|
22
|
+
src/modwire/architecture/__init__.py
|
|
23
|
+
src/modwire/architecture/facade.py
|
|
24
|
+
src/modwire/architecture/boundaries/__init__.py
|
|
25
|
+
src/modwire/architecture/boundaries/application.py
|
|
26
|
+
src/modwire/architecture/boundaries/domain.py
|
|
27
|
+
src/modwire/architecture/boundaries/models/__init__.py
|
|
28
|
+
src/modwire/architecture/boundaries/models/edge_rule_violation.py
|
|
29
|
+
src/modwire/architecture/boundaries/models/flow_report.py
|
|
30
|
+
src/modwire/architecture/boundaries/models/flow_violation.py
|
|
31
|
+
src/modwire/architecture/boundaries/models/types.py
|
|
32
|
+
src/modwire/architecture/boundaries/services/__init__.py
|
|
33
|
+
src/modwire/architecture/boundaries/services/backward_flow_analyzer.py
|
|
34
|
+
src/modwire/architecture/boundaries/services/boundaries_flow_analyzer.py
|
|
35
|
+
src/modwire/architecture/boundaries/services/module_boundary_analyzer.py
|
|
36
|
+
src/modwire/architecture/boundaries/services/no_cycles_flow_analyzer.py
|
|
37
|
+
src/modwire/architecture/boundaries/services/no_reentry_flow_analyzer.py
|
|
38
|
+
src/modwire/architecture/config/__init__.py
|
|
39
|
+
src/modwire/architecture/config/application.py
|
|
40
|
+
src/modwire/architecture/config/models/__init__.py
|
|
41
|
+
src/modwire/architecture/config/models/architecture_config.py
|
|
42
|
+
src/modwire/architecture/config/models/boundaries_config.py
|
|
43
|
+
src/modwire/architecture/config/models/boundary_rule.py
|
|
44
|
+
src/modwire/architecture/config/models/configuration_value.py
|
|
45
|
+
src/modwire/architecture/config/models/flow_realm.py
|
|
46
|
+
src/modwire/architecture/config/models/flow_rules.py
|
|
47
|
+
src/modwire/architecture/config/models/shape_config.py
|
|
48
|
+
src/modwire/architecture/config/models/shape_realm.py
|
|
49
|
+
src/modwire/architecture/config/models/shape_rules.py
|
|
50
|
+
src/modwire/architecture/config/models/tag_rule.py
|
|
51
|
+
src/modwire/architecture/insights/__init__.py
|
|
52
|
+
src/modwire/architecture/insights/application.py
|
|
53
|
+
src/modwire/architecture/insights/domain.py
|
|
54
|
+
src/modwire/architecture/insights/models/__init__.py
|
|
55
|
+
src/modwire/architecture/insights/models/callable_report_entry.py
|
|
56
|
+
src/modwire/architecture/insights/models/callables_report.py
|
|
57
|
+
src/modwire/architecture/insights/models/clusters_report.py
|
|
58
|
+
src/modwire/architecture/insights/models/clusters_report_item.py
|
|
59
|
+
src/modwire/architecture/insights/models/coherence_report.py
|
|
60
|
+
src/modwire/architecture/insights/models/exports_report.py
|
|
61
|
+
src/modwire/architecture/insights/models/exports_report_item.py
|
|
62
|
+
src/modwire/architecture/insights/models/hotspots_report.py
|
|
63
|
+
src/modwire/architecture/insights/models/hotspots_report_item.py
|
|
64
|
+
src/modwire/architecture/insights/models/insight_report.py
|
|
65
|
+
src/modwire/architecture/insights/services/__init__.py
|
|
66
|
+
src/modwire/architecture/insights/services/callables_reporter.py
|
|
67
|
+
src/modwire/architecture/insights/services/clusters_reporter.py
|
|
68
|
+
src/modwire/architecture/insights/services/coherence_reporter.py
|
|
69
|
+
src/modwire/architecture/insights/services/exports_reporter.py
|
|
70
|
+
src/modwire/architecture/insights/services/hotspots_reporter.py
|
|
71
|
+
src/modwire/architecture/insights/services/insight_report_field_map.py
|
|
72
|
+
src/modwire/architecture/map/__init__.py
|
|
73
|
+
src/modwire/architecture/map/application.py
|
|
74
|
+
src/modwire/architecture/map/domain.py
|
|
75
|
+
src/modwire/architecture/map/models/__init__.py
|
|
76
|
+
src/modwire/architecture/map/models/architecture_map.py
|
|
77
|
+
src/modwire/architecture/map/models/architecture_realm.py
|
|
78
|
+
src/modwire/architecture/map/models/tag_map.py
|
|
79
|
+
src/modwire/architecture/map/models/tag_match.py
|
|
80
|
+
src/modwire/architecture/map/services/__init__.py
|
|
81
|
+
src/modwire/architecture/map/services/architecture_map_loader.py
|
|
82
|
+
src/modwire/architecture/map/services/tag_matcher.py
|
|
83
|
+
src/modwire/architecture/report/__init__.py
|
|
84
|
+
src/modwire/architecture/report/application.py
|
|
85
|
+
src/modwire/architecture/report/domain.py
|
|
86
|
+
src/modwire/architecture/report/models/__init__.py
|
|
87
|
+
src/modwire/architecture/report/models/architecture_group.py
|
|
88
|
+
src/modwire/architecture/report/models/map_report.py
|
|
89
|
+
src/modwire/architecture/report/models/report_catalog.py
|
|
90
|
+
src/modwire/architecture/report/models/report_descriptor.py
|
|
91
|
+
src/modwire/architecture/report/models/report_item.py
|
|
92
|
+
src/modwire/architecture/report/models/report_metadata.py
|
|
93
|
+
src/modwire/architecture/report/models/report_node.py
|
|
94
|
+
src/modwire/architecture/report/models/report_section.py
|
|
95
|
+
src/modwire/architecture/report/services/__init__.py
|
|
96
|
+
src/modwire/architecture/report/services/map_report_collector.py
|
|
97
|
+
src/modwire/architecture/shape/__init__.py
|
|
98
|
+
src/modwire/architecture/shape/application.py
|
|
99
|
+
src/modwire/architecture/shape/domain.py
|
|
100
|
+
src/modwire/architecture/shape/models/__init__.py
|
|
101
|
+
src/modwire/architecture/shape/models/shape_realm_architecture_map.py
|
|
102
|
+
src/modwire/architecture/shape/models/shape_report.py
|
|
103
|
+
src/modwire/architecture/shape/models/shape_violation.py
|
|
104
|
+
src/modwire/architecture/shape/services/__init__.py
|
|
105
|
+
src/modwire/architecture/shape/services/abstract_class_resolver.py
|
|
106
|
+
src/modwire/architecture/shape/services/callable_resolver.py
|
|
107
|
+
src/modwire/architecture/shape/services/class_resolver.py
|
|
108
|
+
src/modwire/architecture/shape/services/file_resolver.py
|
|
109
|
+
src/modwire/architecture/shape/services/import_resolver.py
|
|
110
|
+
src/modwire/architecture/shape/services/property_resolver.py
|
|
111
|
+
src/modwire/architecture/shape/services/signature_resolver.py
|
|
112
|
+
src/modwire/architecture/shape/services/symbol_resolver.py
|
|
113
|
+
src/modwire/cli/__init__.py
|
|
114
|
+
src/modwire/cli/facade.py
|
|
115
|
+
src/modwire/cli/documentation/__init__.py
|
|
116
|
+
src/modwire/cli/documentation/application.py
|
|
117
|
+
src/modwire/cli/documentation/services/__init__.py
|
|
118
|
+
src/modwire/cli/documentation/services/documentation_generator.py
|
|
119
|
+
src/modwire/cli/initialization/__init__.py
|
|
120
|
+
src/modwire/cli/initialization/application.py
|
|
121
|
+
src/modwire/cli/initialization/models/__init__.py
|
|
122
|
+
src/modwire/cli/initialization/models/initialization_result.py
|
|
123
|
+
src/modwire/cli/initialization/services/__init__.py
|
|
124
|
+
src/modwire/cli/initialization/services/initialization_service.py
|
|
125
|
+
src/modwire/cli/pipeline/__init__.py
|
|
126
|
+
src/modwire/cli/pipeline/application.py
|
|
127
|
+
src/modwire/cli/pipeline/domain.py
|
|
128
|
+
src/modwire/cli/pipeline/models/__init__.py
|
|
129
|
+
src/modwire/cli/pipeline/models/command_request.py
|
|
130
|
+
src/modwire/cli/pipeline/models/extractor_batch_input.py
|
|
131
|
+
src/modwire/cli/pipeline/models/extractor_command_input.py
|
|
132
|
+
src/modwire/cli/pipeline/models/extractor_source_input.py
|
|
133
|
+
src/modwire/cli/pipeline/models/report_pipeline_context.py
|
|
134
|
+
src/modwire/cli/pipeline/models/scan_policy.py
|
|
135
|
+
src/modwire/cli/pipeline/services/__init__.py
|
|
136
|
+
src/modwire/cli/pipeline/services/batch_source_reader.py
|
|
137
|
+
src/modwire/cli/pipeline/services/callables_insight.py
|
|
138
|
+
src/modwire/cli/pipeline/services/clusters_insight.py
|
|
139
|
+
src/modwire/cli/pipeline/services/coherence_insight.py
|
|
140
|
+
src/modwire/cli/pipeline/services/command_line.py
|
|
141
|
+
src/modwire/cli/pipeline/services/configuration_loader.py
|
|
142
|
+
src/modwire/cli/pipeline/services/extractor_command.py
|
|
143
|
+
src/modwire/cli/pipeline/services/flow_violations.py
|
|
144
|
+
src/modwire/cli/pipeline/services/hotspots_insight.py
|
|
145
|
+
src/modwire/cli/pipeline/services/map_tree.py
|
|
146
|
+
src/modwire/cli/pipeline/services/output_console.py
|
|
147
|
+
src/modwire/cli/pipeline/services/shape_violations.py
|
|
148
|
+
src/modwire/cli/pipeline/services/success.py
|
|
149
|
+
src/modwire/cli/pipeline/services/unknown_files_warning.py
|
|
150
|
+
src/modwire/cli/pipeline/services/unused_exports_insight.py
|
|
151
|
+
src/modwire/cli/resources/__init__.py
|
|
152
|
+
src/modwire/cli/resources/application.py
|
|
153
|
+
src/modwire/cli/resources/models/__init__.py
|
|
154
|
+
src/modwire/cli/resources/models/defaults.py
|
|
155
|
+
src/modwire/cli/resources/models/init_asset.py
|
|
156
|
+
src/modwire/cli/resources/templates/AGENTS.md
|
|
157
|
+
src/modwire/cli/resources/templates/ARCHITECTURE.md
|
|
158
|
+
src/modwire/cli/resources/templates/INDEX.md
|
|
159
|
+
src/modwire/cli/resources/templates/MODWIRE.md
|
|
160
|
+
src/modwire/cli/resources/templates/RULES.md
|
|
161
|
+
src/modwire/cli/resources/templates/TESTING.md
|
|
162
|
+
src/modwire/cli/resources/templates/WORKFLOW.md
|
|
163
|
+
src/modwire/cli/resources/templates/architecture.yaml
|
|
164
|
+
src/modwire/extraction/__init__.py
|
|
165
|
+
src/modwire/extraction/facade.py
|
|
166
|
+
src/modwire/extraction/dependency/__init__.py
|
|
167
|
+
src/modwire/extraction/dependency/application.py
|
|
168
|
+
src/modwire/extraction/dependency/domain.py
|
|
169
|
+
src/modwire/extraction/dependency/services/__init__.py
|
|
170
|
+
src/modwire/extraction/dependency/services/graph_builder.py
|
|
171
|
+
src/modwire/extraction/dependency/services/import_resolver.py
|
|
172
|
+
src/modwire/extraction/dependency/services/suffix_index.py
|
|
173
|
+
src/modwire/extraction/extractors/__init__.py
|
|
174
|
+
src/modwire/extraction/extractors/application.py
|
|
175
|
+
src/modwire/extraction/extractors/domain.py
|
|
176
|
+
src/modwire/extraction/extractors/models/__init__.py
|
|
177
|
+
src/modwire/extraction/extractors/models/batch_config.py
|
|
178
|
+
src/modwire/extraction/extractors/models/extraction_request.py
|
|
179
|
+
src/modwire/extraction/extractors/models/extractor_resource.py
|
|
180
|
+
src/modwire/extraction/extractors/models/extractor_runtime.py
|
|
181
|
+
src/modwire/extraction/extractors/models/python_call_context.py
|
|
182
|
+
src/modwire/extraction/extractors/resources/__init__.py
|
|
183
|
+
src/modwire/extraction/extractors/resources/php/build.php
|
|
184
|
+
src/modwire/extraction/extractors/resources/php/build.py
|
|
185
|
+
src/modwire/extraction/extractors/resources/php/composer.json
|
|
186
|
+
src/modwire/extraction/extractors/resources/php/composer.lock
|
|
187
|
+
src/modwire/extraction/extractors/resources/php/script.php
|
|
188
|
+
src/modwire/extraction/extractors/resources/php/script.src.php
|
|
189
|
+
src/modwire/extraction/extractors/resources/python/__init__.py
|
|
190
|
+
src/modwire/extraction/extractors/resources/python/script.py
|
|
191
|
+
src/modwire/extraction/extractors/resources/typescript/build.mjs
|
|
192
|
+
src/modwire/extraction/extractors/resources/typescript/build.py
|
|
193
|
+
src/modwire/extraction/extractors/resources/typescript/package-lock.json
|
|
194
|
+
src/modwire/extraction/extractors/resources/typescript/package.json
|
|
195
|
+
src/modwire/extraction/extractors/resources/typescript/script.js
|
|
196
|
+
src/modwire/extraction/extractors/resources/typescript/script.ts
|
|
197
|
+
src/modwire/extraction/extractors/resources/typescript/tsconfig.json
|
|
198
|
+
src/modwire/extraction/extractors/services/__init__.py
|
|
199
|
+
src/modwire/extraction/extractors/services/php_extractor.py
|
|
200
|
+
src/modwire/extraction/extractors/services/python_call_reader.py
|
|
201
|
+
src/modwire/extraction/extractors/services/python_extractor.py
|
|
202
|
+
src/modwire/extraction/extractors/services/python_syntax_parser.py
|
|
203
|
+
src/modwire/extraction/extractors/services/type_script_extractor.py
|
|
204
|
+
src/modwire/shared/__init__.py
|
|
205
|
+
src/modwire/shared/code/__init__.py
|
|
206
|
+
src/modwire/shared/code/application.py
|
|
207
|
+
src/modwire/shared/code/domain.py
|
|
208
|
+
src/modwire/shared/code/models/__init__.py
|
|
209
|
+
src/modwire/shared/code/models/code_map.py
|
|
210
|
+
src/modwire/shared/code/models/code_package.py
|
|
211
|
+
src/modwire/shared/code/models/dependency_edge_result.py
|
|
212
|
+
src/modwire/shared/code/models/dependency_graph.py
|
|
213
|
+
src/modwire/shared/code/models/dependency_node_result.py
|
|
214
|
+
src/modwire/shared/code/models/duplicate_identity_error.py
|
|
215
|
+
src/modwire/shared/code/models/edge.py
|
|
216
|
+
src/modwire/shared/code/models/edge_resolution.py
|
|
217
|
+
src/modwire/shared/code/models/identity.py
|
|
218
|
+
src/modwire/shared/code/models/node.py
|
|
219
|
+
src/modwire/shared/code/models/query_builder.py
|
|
220
|
+
src/modwire/shared/code/models/query_types.py
|
|
221
|
+
src/modwire/shared/code/models/queryable_code_map.py
|
|
222
|
+
src/modwire/shared/code/models/source_abstract_class.py
|
|
223
|
+
src/modwire/shared/code/models/source_call.py
|
|
224
|
+
src/modwire/shared/code/models/source_callable.py
|
|
225
|
+
src/modwire/shared/code/models/source_callable_symbol.py
|
|
226
|
+
src/modwire/shared/code/models/source_class.py
|
|
227
|
+
src/modwire/shared/code/models/source_class_method.py
|
|
228
|
+
src/modwire/shared/code/models/source_class_property.py
|
|
229
|
+
src/modwire/shared/code/models/source_export.py
|
|
230
|
+
src/modwire/shared/code/models/source_extraction.py
|
|
231
|
+
src/modwire/shared/code/models/source_file.py
|
|
232
|
+
src/modwire/shared/code/models/source_file_result.py
|
|
233
|
+
src/modwire/shared/code/models/source_function.py
|
|
234
|
+
src/modwire/shared/code/models/source_import.py
|
|
235
|
+
src/modwire/shared/code/models/source_imported_symbol.py
|
|
236
|
+
src/modwire/shared/code/models/source_interface.py
|
|
237
|
+
src/modwire/shared/code/models/source_item_result.py
|
|
238
|
+
src/modwire/shared/code/models/source_parameter.py
|
|
239
|
+
src/modwire/shared/code/models/source_signature.py
|
|
240
|
+
src/modwire/shared/code/models/source_symbol.py
|
|
241
|
+
src/modwire/shared/code/models/source_type.py
|
|
242
|
+
src/modwire/shared/code/models/source_value.py
|
|
243
|
+
src/modwire/shared/code/models/types.py
|
|
244
|
+
src/modwire/shared/code/services/__init__.py
|
|
245
|
+
src/modwire/shared/code/services/glob_path_matcher.py
|
|
246
|
+
src/modwire/shared/code/services/identity_resolver.py
|
|
247
|
+
src/modwire/shared/values/__init__.py
|
|
248
|
+
src/modwire/shared/values/models/__init__.py
|
|
249
|
+
src/modwire/shared/values/models/value_model.py
|
|
250
|
+
tests/__init__.py
|
|
251
|
+
tests/conftest.py
|
|
252
|
+
tests/application/__init__.py
|
|
253
|
+
tests/application/base_test.py
|
|
254
|
+
tests/application/test_01_attacks.py
|
|
255
|
+
tests/application/test_06_happy_path.py
|
|
256
|
+
tests/architecture/__init__.py
|
|
257
|
+
tests/architecture/base_test.py
|
|
258
|
+
tests/architecture/boundaries/__init__.py
|
|
259
|
+
tests/architecture/boundaries/base_test.py
|
|
260
|
+
tests/architecture/boundaries/test_01_attacks.py
|
|
261
|
+
tests/architecture/boundaries/test_02_invariants.py
|
|
262
|
+
tests/architecture/boundaries/test_03_public_api.py
|
|
263
|
+
tests/architecture/boundaries/test_04_paths.py
|
|
264
|
+
tests/architecture/config/__init__.py
|
|
265
|
+
tests/architecture/config/test_01_attacks.py
|
|
266
|
+
tests/architecture/config/test_02_invariants.py
|
|
267
|
+
tests/architecture/insights/__init__.py
|
|
268
|
+
tests/architecture/insights/base_test.py
|
|
269
|
+
tests/architecture/insights/test_02_invariants.py
|
|
270
|
+
tests/architecture/map/__init__.py
|
|
271
|
+
tests/architecture/map/test_02_patterns.py
|
|
272
|
+
tests/architecture/report/__init__.py
|
|
273
|
+
tests/architecture/report/test_02_invariants.py
|
|
274
|
+
tests/architecture/shape/__init__.py
|
|
275
|
+
tests/architecture/shape/base_test.py
|
|
276
|
+
tests/architecture/shape/test_01_limits.py
|
|
277
|
+
tests/architecture/shape/test_02_invariants.py
|
|
278
|
+
tests/cli/__init__.py
|
|
279
|
+
tests/cli/base_test.py
|
|
280
|
+
tests/cli/documentation/__init__.py
|
|
281
|
+
tests/cli/documentation/test_02_invariants.py
|
|
282
|
+
tests/cli/initialization/__init__.py
|
|
283
|
+
tests/cli/initialization/test_01_attacks.py
|
|
284
|
+
tests/cli/initialization/test_02_invariants.py
|
|
285
|
+
tests/cli/initialization/test_03_interruption.py
|
|
286
|
+
tests/cli/initialization/test_04_cleanup.py
|
|
287
|
+
tests/cli/initialization/test_05_recovery.py
|
|
288
|
+
tests/cli/pipeline/__init__.py
|
|
289
|
+
tests/cli/pipeline/base_test.py
|
|
290
|
+
tests/cli/pipeline/test_01_attacks.py
|
|
291
|
+
tests/cli/pipeline/test_02_invariants.py
|
|
292
|
+
tests/cli/pipeline/test_03_interruption.py
|
|
293
|
+
tests/cli/pipeline/test_04_command_transport.py
|
|
294
|
+
tests/cli/pipeline/test_05_recovery.py
|
|
295
|
+
tests/cli/pipeline/test_06_happy_path.py
|
|
296
|
+
tests/extraction/__init__.py
|
|
297
|
+
tests/extraction/base_test.py
|
|
298
|
+
tests/extraction/big_projects/__init__.py
|
|
299
|
+
tests/extraction/big_projects/project.py
|
|
300
|
+
tests/extraction/big_projects/projects.json
|
|
301
|
+
tests/extraction/big_projects/resolution_results.json
|
|
302
|
+
tests/extraction/big_projects/results.json
|
|
303
|
+
tests/extraction/big_projects/run.py
|
|
304
|
+
tests/extraction/dependency/__init__.py
|
|
305
|
+
tests/extraction/dependency/test_02_invariants.py
|
|
306
|
+
tests/extraction/extractors/__init__.py
|
|
307
|
+
tests/extraction/extractors/test_01_attacks.py
|
|
308
|
+
tests/extraction/extractors/test_02_invariants.py
|
|
309
|
+
tests/extraction/extractors/test_03_native_symbols.py
|
|
310
|
+
tests/extraction/scan_benchmark/__init__.py
|
|
311
|
+
tests/extraction/scan_benchmark/prepare.py
|
|
312
|
+
tests/extraction/scan_benchmark/results.json
|
|
313
|
+
tests/extraction/scan_benchmark/run.py
|
|
314
|
+
tests/fixtures/languages/php/ignored/example_generated.php
|
|
315
|
+
tests/fixtures/languages/php/src/example_application/example_actions/example_action.php
|
|
316
|
+
tests/fixtures/languages/php/src/example_domain/example_model/example_record.php
|
|
317
|
+
tests/fixtures/languages/php/src/example_domain/example_services/example_policy.php
|
|
318
|
+
tests/fixtures/languages/php/src/example_interfaces/example_http/example_controller.php
|
|
319
|
+
tests/fixtures/languages/python/ignored/example_generated.py
|
|
320
|
+
tests/fixtures/languages/python/src/example_application/example_actions/example_action.py
|
|
321
|
+
tests/fixtures/languages/python/src/example_domain/example_model/example_record.py
|
|
322
|
+
tests/fixtures/languages/python/src/example_domain/example_services/example_policy.py
|
|
323
|
+
tests/fixtures/languages/python/src/example_interfaces/example_http/example_controller.py
|
|
324
|
+
tests/fixtures/languages/typescript/ignored/example_generated.ts
|
|
325
|
+
tests/fixtures/languages/typescript/src/example_application/example_actions/example_action.ts
|
|
326
|
+
tests/fixtures/languages/typescript/src/example_domain/example_model/example_record.ts
|
|
327
|
+
tests/fixtures/languages/typescript/src/example_domain/example_model/example_view.tsx
|
|
328
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_audit.js
|
|
329
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_callables.ts
|
|
330
|
+
tests/fixtures/languages/typescript/src/example_domain/example_services/example_policy.ts
|
|
331
|
+
tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_controller.ts
|
|
332
|
+
tests/fixtures/languages/typescript/src/example_interfaces/example_http/example_view.jsx
|
|
333
|
+
tests/fixtures/syntax/php/example_shapes.php
|
|
334
|
+
tests/fixtures/syntax/python/example_shapes.py
|
|
335
|
+
tests/fixtures/syntax/typescript/example_shapes.ts
|
|
336
|
+
tests/shared/__init__.py
|
|
337
|
+
tests/shared/code/__init__.py
|
|
338
|
+
tests/shared/code/test_02_invariants.py
|
|
339
|
+
tests/support/__init__.py
|
|
340
|
+
tests/support/base_test.py
|
|
341
|
+
tests/support/code_map.py
|
|
342
|
+
tests/support/service_test.py
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
package:
|
|
14
|
+
name: Package on Python ${{ matrix.python-version }}
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
python-version: ["3.12", "3.13", "3.14"]
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v6
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 0
|
|
24
|
+
- uses: actions/setup-python@v6
|
|
25
|
+
with:
|
|
26
|
+
python-version: ${{ matrix.python-version }}
|
|
27
|
+
- run: python -m pip install uv
|
|
28
|
+
- run: uv sync --all-groups --locked
|
|
29
|
+
- run: make host-check
|
|
30
|
+
|
|
31
|
+
extractors:
|
|
32
|
+
name: Extractor resources
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v6
|
|
36
|
+
- run: make extractor-check
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
name: Build release distributions
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v6
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
ref: ${{ github.event.release.tag_name }}
|
|
19
|
+
- uses: actions/setup-python@v6
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.12"
|
|
22
|
+
- run: python -m pip install uv
|
|
23
|
+
- run: uv sync --all-groups --locked
|
|
24
|
+
- run: make package-check
|
|
25
|
+
- uses: actions/upload-artifact@v4
|
|
26
|
+
with:
|
|
27
|
+
name: python-package-distributions
|
|
28
|
+
path: .dev/dist/
|
|
29
|
+
|
|
30
|
+
publish-github-assets:
|
|
31
|
+
name: Attach distributions to GitHub release
|
|
32
|
+
needs: build
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
permissions:
|
|
35
|
+
contents: write
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/download-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
name: python-package-distributions
|
|
40
|
+
path: .dev/dist/
|
|
41
|
+
- name: Upload release assets
|
|
42
|
+
env:
|
|
43
|
+
GH_TOKEN: ${{ github.token }}
|
|
44
|
+
run: gh release upload "${{ github.event.release.tag_name }}" .dev/dist/* --clobber --repo "${{ github.repository }}"
|
|
45
|
+
|
|
46
|
+
publish-pypi:
|
|
47
|
+
name: Publish distributions to PyPI
|
|
48
|
+
needs: [build, publish-github-assets]
|
|
49
|
+
runs-on: ubuntu-latest
|
|
50
|
+
environment:
|
|
51
|
+
name: pypi
|
|
52
|
+
url: https://pypi.org/project/modwire/
|
|
53
|
+
permissions:
|
|
54
|
+
id-token: write
|
|
55
|
+
steps:
|
|
56
|
+
- uses: actions/download-artifact@v4
|
|
57
|
+
with:
|
|
58
|
+
name: python-package-distributions
|
|
59
|
+
path: .dev/dist/
|
|
60
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
61
|
+
with:
|
|
62
|
+
packages-dir: .dev/dist/
|
|
63
|
+
skip-existing: true
|
modwire-9.0.0/AGENTS.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Before work, call enclosure-mcp.get_workspace_context(root, task) once; obey its guidance and stop if unavailable or incomplete. Workflow: GitHub issue first; diagrams are SSOT; wait for explicit design acceptance; implement on a local issue branch; run required tests and enclosure-mcp.check_project_health after structural/API/DI/architecture changes; wait for explicit implementation acceptance before commit, push, PR, merge, closure, or branch cleanup. Preserve project names and unrelated changes.
|
modwire-9.0.0/LICENSE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright (c) 2026 Tomasz Szpak. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This software and its source code are proprietary. No license or other rights are granted to any person or entity.
|
|
4
|
+
|
|
5
|
+
Without prior express written permission from the copyright holder, you may not use, copy, reproduce, modify, merge,
|
|
6
|
+
publish, distribute, sublicense, sell, or create derivative works from this software or any portion of it, except to the
|
|
7
|
+
extent that such restriction is prohibited by applicable law.
|
|
8
|
+
|
|
9
|
+
Any unauthorized use is strictly prohibited.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
12
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
|
|
13
|
+
LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR ITS USE.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
include LICENSE
|
|
2
|
+
include README.md
|
|
3
|
+
recursive-include src *.py *.typed *.php *.js *.mjs *.ts *.json *.lock *.md *.yaml
|
|
4
|
+
recursive-include tests *.py *.json *.ts *.tsx *.js *.jsx *.php
|
|
5
|
+
recursive-include scripts *.py
|
|
6
|
+
prune verification
|
|
7
|
+
prune .dev
|
|
8
|
+
global-exclude __pycache__ *.py[cod]
|
modwire-9.0.0/Makefile
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
DEV_DIR := .dev
|
|
2
|
+
BUILD_DIR := $(DEV_DIR)/build
|
|
3
|
+
DIST_DIR := $(DEV_DIR)/dist
|
|
4
|
+
EGG_INFO_DIR := src/modwire.egg-info
|
|
5
|
+
PROJECT_ROOT := $(CURDIR)
|
|
6
|
+
|
|
7
|
+
export PYTHONPYCACHEPREFIX := $(PROJECT_ROOT)/$(DEV_DIR)/cache/python
|
|
8
|
+
export UV_CACHE_DIR := $(PROJECT_ROOT)/$(DEV_DIR)/cache/uv
|
|
9
|
+
|
|
10
|
+
.PHONY: big-projects build ci docs docs-check extractor-check format format-check host-check lint package-check scan-benchmark scan-benchmark-fixture test type-check
|
|
11
|
+
|
|
12
|
+
format:
|
|
13
|
+
uv run ruff format src tests scripts
|
|
14
|
+
|
|
15
|
+
format-check:
|
|
16
|
+
uv run ruff format --check src tests scripts
|
|
17
|
+
|
|
18
|
+
lint:
|
|
19
|
+
uv run ruff check src tests scripts
|
|
20
|
+
|
|
21
|
+
type-check:
|
|
22
|
+
uv run pyright src/modwire
|
|
23
|
+
|
|
24
|
+
test:
|
|
25
|
+
mkdir -p $(DEV_DIR)/testing
|
|
26
|
+
uv run pytest
|
|
27
|
+
|
|
28
|
+
big-projects:
|
|
29
|
+
uv run python -m tests.extraction.big_projects.run
|
|
30
|
+
|
|
31
|
+
scan-benchmark-fixture:
|
|
32
|
+
uv run python -m tests.extraction.scan_benchmark.prepare --root .dev/benchmarks/scan-project --source-template "$(SCAN_BENCHMARK_SOURCE)"
|
|
33
|
+
|
|
34
|
+
scan-benchmark:
|
|
35
|
+
uv run python -m tests.extraction.scan_benchmark.run --root .dev/benchmarks/scan-project --language "$(SCAN_BENCHMARK_LANGUAGE)" --excluded-pattern 'example_excluded/**'
|
|
36
|
+
|
|
37
|
+
docs-check:
|
|
38
|
+
uv run python scripts/generate_docs.py --check
|
|
39
|
+
|
|
40
|
+
docs:
|
|
41
|
+
uv run python scripts/generate_docs.py
|
|
42
|
+
|
|
43
|
+
build:
|
|
44
|
+
rm -rf $(BUILD_DIR) $(DIST_DIR) $(EGG_INFO_DIR)
|
|
45
|
+
uv build --out-dir $(DIST_DIR)
|
|
46
|
+
|
|
47
|
+
package-check: build
|
|
48
|
+
uv run twine check $(DIST_DIR)/*
|
|
49
|
+
|
|
50
|
+
extractor-check:
|
|
51
|
+
python3 scripts/check_extractors.py
|
|
52
|
+
|
|
53
|
+
host-check: format-check lint type-check test docs-check package-check
|
|
54
|
+
|
|
55
|
+
ci: host-check extractor-check
|
modwire-9.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: modwire
|
|
3
|
+
Version: 9.0.0
|
|
4
|
+
Summary: Code extraction, architecture analysis and the Modwire CLI.
|
|
5
|
+
Author: Tomasz Szpak
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/szpak-dev/modwire
|
|
8
|
+
Project-URL: Repository, https://github.com/szpak-dev/modwire
|
|
9
|
+
Project-URL: Issues, https://github.com/szpak-dev/modwire/issues
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Classifier: Typing :: Typed
|
|
14
|
+
Requires-Python: >=3.12
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: pydantic>=2.12
|
|
18
|
+
Requires-Dist: pydantic-yaml>=1.7
|
|
19
|
+
Requires-Dist: rich>=13
|
|
20
|
+
Requires-Dist: wireup>=2.12.0
|
|
21
|
+
Provides-Extra: dev
|
|
22
|
+
Requires-Dist: build>=1.3; extra == "dev"
|
|
23
|
+
Requires-Dist: pytest>=9; extra == "dev"
|
|
24
|
+
Requires-Dist: ruff<0.16,>=0.14; extra == "dev"
|
|
25
|
+
Requires-Dist: pyright>=1.1; extra == "dev"
|
|
26
|
+
Requires-Dist: twine>=6; extra == "dev"
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
# Modwire
|
|
30
|
+
|
|
31
|
+
## `ModwireApplication`
|
|
32
|
+
|
|
33
|
+
Public entry point for source discovery, extraction, architecture analysis, and the Modwire CLI.
|
|
34
|
+
|
|
35
|
+
### `create`
|
|
36
|
+
|
|
37
|
+
Create an isolated application with all services resolved through Wireup.
|
|
38
|
+
|
|
39
|
+
### `configure`
|
|
40
|
+
|
|
41
|
+
Validate architecture configuration values.
|
|
42
|
+
|
|
43
|
+
### `catalog`
|
|
44
|
+
|
|
45
|
+
Return the available architecture reports.
|
|
46
|
+
|
|
47
|
+
### `analyze`
|
|
48
|
+
|
|
49
|
+
Analyze a code map with a validated architecture configuration.
|
|
50
|
+
|
|
51
|
+
### `discover`
|
|
52
|
+
|
|
53
|
+
Discover supported source languages beneath a root using the caller's scan policy.
|
|
54
|
+
|
|
55
|
+
### `generate_map`
|
|
56
|
+
|
|
57
|
+
Extract one language and return its code map with honest scan metrics.
|
|
58
|
+
|
|
59
|
+
``files_excluded`` counts only source files encountered and excluded directly.
|
|
60
|
+
``directories_pruned`` counts directories rejected before descent; their
|
|
61
|
+
descendants are deliberately unobserved and are not included in file counts.
|
|
62
|
+
|
|
63
|
+
### `generate_queryable_map`
|
|
64
|
+
|
|
65
|
+
Extract source files and return a queryable code map.
|
|
66
|
+
|
|
67
|
+
### `load_configuration`
|
|
68
|
+
|
|
69
|
+
Load and validate an architecture configuration from a directory.
|
|
70
|
+
|
|
71
|
+
### `initialize`
|
|
72
|
+
|
|
73
|
+
Create project-local Modwire configuration and agent guidance.
|
|
74
|
+
|
|
75
|
+
### `generate_documentation`
|
|
76
|
+
|
|
77
|
+
Generate this README from the published interface docstrings, or check that it is current.
|
|
78
|
+
|
|
79
|
+
### `run_extractor`
|
|
80
|
+
|
|
81
|
+
Run the native extractor transport for one supported language.
|
|
82
|
+
|
|
83
|
+
### `run`
|
|
84
|
+
|
|
85
|
+
Run the Modwire command line interface and return its process status.
|
|
86
|
+
|
|
87
|
+
## `ScanPolicy`
|
|
88
|
+
|
|
89
|
+
Caller-owned filesystem traversal policy with explicit exclusions and opt-in symlink following.
|