{
  "metadata" : {
    "name" : "anthropics / beam",
    "description" : "Apache Beam is a unified programming model for Batch and Streaming data processing.",
    "tooltip" : "",
    "logoLink" : "../../_sokrates_landscape/logo.png",
    "links" : [ {
      "label" : "GitHub Repo",
      "href" : "https://github.com/anthropics/beam.git"
    } ]
  },
  "summary" : [ ],
  "srcRoot" : "..",
  "extensions" : [ "java", "py", "go", "md", "yaml", "dart", "txt", "gradle", "json", "svg", "ts", "sh", "tf", "kt", "sql", "scss", "html", "ipynb", "js", "properties", "xml", "proto", "groovy", "tsx", "sass", "pxd", "kts", "css", "mod", "tfvars", "toml", "avsc", "pyx", "hcl", "bat", "gitignore", "p8", "cfg", "ini", "tpl", "pb", "ps1", "rs", "gitattributes", "thrift", "cc", "dockerfile", "h", "prettierignore", "pyi", "htaccess", "editorconfig", "in", "g4", "gitmodules", "eslintignore", "scala", "ftl", "rdf" ],
  "ignore" : [ {
    "pathPattern" : ".*/cache/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Caches"
  }, {
    "pathPattern" : ".*/gradle/wrapper/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Gradle"
  }, {
    "pathPattern" : ".*/testdata/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Test data"
  }, {
    "pathPattern" : ".*/docs/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Documentation"
  }, {
    "pathPattern" : ".*/extern(al)?/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Dependencies"
  }, {
    "pathPattern" : ".*/[Jj]avadoc/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Generated documentation"
  }, {
    "pathPattern" : ".*/bootstrap[.](js|css|less|scss|styl)",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Bootstrap"
  }, {
    "pathPattern" : ".*/[Vv]endors?/.*",
    "contentPattern" : "",
    "exception" : false,
    "note" : "Dependencies"
  } ],
  "main" : {
    "name" : "main",
    "sourceFileFilters" : [ {
      "pathPattern" : ".*",
      "contentPattern" : "",
      "exception" : false,
      "note" : ""
    } ],
    "files" : [ ]
  },
  "test" : {
    "name" : "test",
    "sourceFileFilters" : [ {
      "pathPattern" : ".*/[Tt]est/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*_test[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/test_.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/[Tt]ests/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*[-]test[-].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*[-]tests[-].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/mock[a-zA-Z0-9_\\- ]+/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Mock resources"
    }, {
      "pathPattern" : ".*_tests[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/jest[.][a-zA-Z0-9\\.]+",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Jest files"
    }, {
      "pathPattern" : ".*[.][Tt]est[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*[.]test[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*__tests__.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/tests_.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*[-]tests/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/test[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*/testing[.].*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Test files"
    }, {
      "pathPattern" : ".*_mock[.][a-zA-Z0-9_\\-]+",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Mock resources"
    } ],
    "files" : [ ]
  },
  "generated" : {
    "name" : "generated",
    "sourceFileFilters" : [ {
      "pathPattern" : ".*/package[-]lock[.]json",
      "contentPattern" : "",
      "exception" : false,
      "note" : "A generated npm package lock file"
    }, {
      "pathPattern" : ".*[.]dart",
      "contentPattern" : ".*GENERATED CODE.*DO NOT MODIFY.*",
      "exception" : false,
      "note" : "A generated Dart file"
    }, {
      "pathPattern" : ".*/generated/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Generated files"
    } ],
    "files" : [ ]
  },
  "buildAndDeployment" : {
    "name" : "build and deployment",
    "sourceFileFilters" : [ {
      "pathPattern" : ".*[.]sh",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Scripts"
    }, {
      "pathPattern" : ".*/package[.]json",
      "contentPattern" : "",
      "exception" : false,
      "note" : "npm configuration"
    }, {
      "pathPattern" : ".*[.]git[a-z]+",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Git configuration files"
    }, {
      "pathPattern" : ".*/[.]gitignore",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Git ignore files"
    }, {
      "pathPattern" : ".*/package[-]lock[.]json",
      "contentPattern" : "",
      "exception" : false,
      "note" : "npm configuration"
    }, {
      "pathPattern" : ".*[.]tf",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Terraform configuration"
    }, {
      "pathPattern" : ".*/go[.]mod",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Go modules configuration"
    }, {
      "pathPattern" : ".*[.]bat",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Scripts"
    }, {
      "pathPattern" : ".*[.]gradle",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Gradle configuration"
    }, {
      "pathPattern" : ".*/requirements[a-zA-Z0-9._-]*[.]txt",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Python requirements"
    }, {
      "pathPattern" : ".*/assembly[.]xml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Maven assembly plugin configuration"
    }, {
      "pathPattern" : ".*/[.]github/actions/.*[.]ya?ml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "GitHub Actions"
    }, {
      "pathPattern" : ".*/action[.]ya?ml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "GitHub composite action"
    }, {
      "pathPattern" : ".*/[.]github/workflows/.*[.]ya?ml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "GitHub Actions workflow"
    }, {
      "pathPattern" : ".*[.]editorconfig",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Editor configuration"
    }, {
      "pathPattern" : "(.*/)?[.]editorconfig",
      "contentPattern" : "",
      "exception" : false,
      "note" : "EditorConfig"
    }, {
      "pathPattern" : ".*[.]tfvars",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Terraform variables"
    }, {
      "pathPattern" : ".*/pyproject[.]toml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Python project configuration"
    }, {
      "pathPattern" : ".*/[.]prettierignore",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Ignore list"
    }, {
      "pathPattern" : "(.*/)?[.]prettierignore",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Prettier ignore"
    }, {
      "pathPattern" : "(.*/)?[.]eslintrc([.].*)?",
      "contentPattern" : "",
      "exception" : false,
      "note" : "ESLint configuration"
    }, {
      "pathPattern" : "(.*/)?[.]mocharc([.].*)?",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Mocha configuration"
    }, {
      "pathPattern" : ".*/setup[.]cfg",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Python setup configuration"
    }, {
      "pathPattern" : ".*[.]dockerfile",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Docker configuration"
    }, {
      "pathPattern" : ".*/[.]eslintignore",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Ignore list"
    }, {
      "pathPattern" : "(.*/)?[.]eslintignore",
      "contentPattern" : "",
      "exception" : false,
      "note" : "ESLint ignore"
    }, {
      "pathPattern" : "(.*/)?[.]prettierrc([.].*)?",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Prettier configuration"
    }, {
      "pathPattern" : ".*/Cargo[.]toml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Cargo configuration"
    }, {
      "pathPattern" : ".*/setup[.]py",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Python setup script"
    }, {
      "pathPattern" : ".*/checkstyle.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Checkstyle configuration"
    }, {
      "pathPattern" : ".*/checkstyle[.]xml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Checkstyle configuration"
    }, {
      "pathPattern" : ".*/pom[.]xml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Maven configuration"
    }, {
      "pathPattern" : ".*/[.]gitattributes",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Git attributes"
    }, {
      "pathPattern" : ".*/Chart[.]ya?ml",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Helm chart"
    }, {
      "pathPattern" : ".*/[.]gitmodules",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Git modules"
    } ],
    "files" : [ ]
  },
  "other" : {
    "name" : "other",
    "sourceFileFilters" : [ {
      "pathPattern" : ".*[.]json",
      "contentPattern" : "",
      "exception" : false,
      "note" : "JSON files"
    }, {
      "pathPattern" : ".*[.]md",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Markdown files"
    }, {
      "pathPattern" : ".*/README[.][a-z0-9]+",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Text files"
    }, {
      "pathPattern" : ".*[.]txt",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Text files"
    }, {
      "pathPattern" : ".*[.]svg",
      "contentPattern" : "",
      "exception" : false,
      "note" : "SVG files"
    }, {
      "pathPattern" : ".*/[Ss]amples/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Samples"
    }, {
      "pathPattern" : ".*[.]properties",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Properties"
    }, {
      "pathPattern" : ".*/[Ee]xamples/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Documentation"
    }, {
      "pathPattern" : ".*/[Dd]ocumentation/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Documentation"
    }, {
      "pathPattern" : ".*[.]ini",
      "contentPattern" : "",
      "exception" : false,
      "note" : "INI files"
    }, {
      "pathPattern" : ".*[.]pb",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Protocol buffer (protobuf) files"
    }, {
      "pathPattern" : ".*/[.]htaccess",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Configuration"
    }, {
      "pathPattern" : ".*/vendor/.*",
      "contentPattern" : "",
      "exception" : false,
      "note" : "Vendor files"
    } ],
    "files" : [ ]
  },
  "logicalDecompositions" : [ {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  } ],
  "concernGroups" : [ {
    "name" : "general",
    "concerns" : [ {
      "name" : "TODOs",
      "sourceFileFilters" : [ {
        "pathPattern" : "",
        "contentPattern" : ".*(TODO|FIXME)( |:|\t).*",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ],
      "textOperations" : [ ]
    } ],
    "metaConcerns" : [ ]
  } ],
  "goalsAndControls" : [ {
    "goal" : "Keep the system simple and easy to change",
    "description" : "Aim at keeping the system size modest (less than 200,000 LOC is good), duplication low (less than 5% is good), files small (no files longer than 1000 LOC is good), and units simple (no units with more than 25 decision points is good).",
    "controls" : [ {
      "metric" : "LINES_OF_CODE_MAIN",
      "description" : "Total number of lines of main code",
      "desiredRange" : {
        "min" : "0",
        "max" : "200000",
        "tolerance" : "20000"
      }
    }, {
      "metric" : "DUPLICATION_PERCENTAGE",
      "description" : "System duplication",
      "desiredRange" : {
        "min" : "0",
        "max" : "5",
        "tolerance" : "1"
      }
    }, {
      "metric" : "VERY_HIGH_RISK_FILE_SIZE_COUNT",
      "description" : "The number of very large files",
      "desiredRange" : {
        "min" : "0",
        "max" : "0",
        "tolerance" : "1"
      }
    }, {
      "metric" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT",
      "description" : "Number of very complex units",
      "desiredRange" : {
        "min" : "0",
        "max" : "0",
        "tolerance" : "1"
      }
    } ]
  } ],
  "fileHistoryAnalysis" : {
    "importPath" : "../git-history.txt",
    "ignoreContributors" : [ ".*\\[bot\\].*" ],
    "bots" : [ ".*\\[bot\\].*", ".*[-]bot[@].*" ],
    "anonymizeContributors" : false,
    "transformContributorEmails" : [ ]
  },
  "analysis" : {
    "skipDuplication" : false,
    "skipCorrelations" : true,
    "skipDependencies" : true,
    "saveSourceFiles" : true,
    "saveCodeFragments" : true,
    "maxFileSizeBytes" : 1000000,
    "maxLines" : 10000,
    "maxLineLength" : 1000,
    "maxTemporalDependenciesDepthDays" : 180,
    "locDuplicationThreshold" : 200000,
    "minDuplicationBlockLoc" : 6,
    "maxTopListSize" : 50,
    "analyzerOverrides" : [ ],
    "fileSizeThresholds" : {
      "low" : 100,
      "medium" : 200,
      "high" : 500,
      "veryHigh" : 1000
    },
    "fileAgeThresholds" : {
      "low" : 30,
      "medium" : 90,
      "high" : 180,
      "veryHigh" : 365
    },
    "fileUpdateFrequencyThresholds" : {
      "low" : 5,
      "medium" : 20,
      "high" : 50,
      "veryHigh" : 100
    },
    "fileContributorsCountThresholds" : {
      "low" : 1,
      "medium" : 5,
      "high" : 10,
      "veryHigh" : 25
    },
    "unitSizeThresholds" : {
      "low" : 10,
      "medium" : 20,
      "high" : 50,
      "veryHigh" : 100
    },
    "conditionalComplexityThresholds" : {
      "low" : 5,
      "medium" : 10,
      "high" : 25,
      "veryHigh" : 50
    },
    "fileConditionalComplexityThresholds" : {
      "low" : 5,
      "medium" : 10,
      "high" : 25,
      "veryHigh" : 50
    },
    "commitFilesCountThresholds" : {
      "low" : 5,
      "medium" : 20,
      "high" : 50,
      "veryHigh" : 100
    },
    "customHtmlReportHeaderFragment" : "",
    "analyzeConcernOverlaps" : false
  },
  "tagRules" : [ {
    "tag" : "jenkins",
    "color" : "#7CB9E8",
    "pathPatterns" : [ "(|.*/)Jenkinsfile", "(|.*/)Jenkinsfile[.][a-z0-9_]+" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "travis",
    "color" : "#7CB9E8",
    "pathPatterns" : [ "(|.*/)[.]travis[.]ya?ml" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "github actions",
    "color" : "#7CB9E8",
    "pathPatterns" : [ "(|.*/)[.]github[/]workflows[/].*" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "circleci",
    "color" : "#7CB9E8",
    "pathPatterns" : [ "(|.*/)[.]circleci.*" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "gitlab",
    "color" : "#7CB9E8",
    "pathPatterns" : [ "(|.*/)[.]gitlab.*" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "maven",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)pom[.]xml" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "pnpm",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)pnpm.*[.](ya?ml|json)" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "npm",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)package[.]json" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "yarn",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)[.]yarnrc", "(|.*/)yarn[.]lock" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "jest",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)jest[.].*" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "babel",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)[.]babel[.]config[.]json" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "gradle",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)build[.]gradle" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "sbt",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)build[.]sbt" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "bazel",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)BUILD[.]bazel" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "pip",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)pip[.]conf", "(|.*/)Pipfile" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "nuget",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)[.]nuget/.*", "(|.*/)[.]nuget[.]config" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "aws codebuild",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)buildspec[.]yml" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "renovate",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)renovate[.]json5?" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "dependabot",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)dependabot[.]ya?ml" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "gemfile",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)Gemfile" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "podfile",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)Podfile" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "make",
    "color" : "#B9D9EB",
    "pathPatterns" : [ "(|.*/)Makefile" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "docker",
    "color" : "#A3C1AD",
    "pathPatterns" : [ "(|.*/)Dockerfile" ],
    "excludePathPatterns" : [ ]
  }, {
    "tag" : "helm",
    "color" : "#A3C1AD",
    "pathPatterns" : [ "(|.*/)helmfile[.]ya?ml", "(|.*/)[.]helmignore" ],
    "excludePathPatterns" : [ ]
  } ]
}