{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000041564304,
        "rte": "az",
        "prob": 0.000041564304
      },
      {
        "cls": 0,
        "raw": 0.19326037,
        "rte": "az/python_sdist",
        "prob": 0.19326037
      }
    ],
    "prob": 0.000041564304,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000041564304410712793,
        "type": "python_sdist"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011086463928222656,
        "type": "pkg_info"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00002664327621459961,
        "type": "python"
      },
      {
        "id": 8,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013391177162702661,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-10-07T13:00:23Z"
  },
  "path": "restaurateur-0.1.0.tar.gz",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "Md₂(BkPa₂)",
        "sha": "cd9c23358cf027f364269a699f06eb01ae6eaf92f0b01c8be8810c1476d0dd9c",
        "path": "restaurateur-0.1.0.tar.gz",
        "risk": 3,
        "size": 847,
        "type": "python_sdist",
        "facts": {
          "metrics": {
            "file": {
              "size": 847,
              "entropy": 7.42
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 847,
              "peak_region_entropy": 7.42
            },
            "consistency": {
              "cloned_summary": 0,
              "name_typosquat": 0,
              "metadata_identity_mismatch": 0
            }
          }
        },
        "ident": {
          "name": {
            "value": "restaurateur",
            "source": "python.name",
            "verified": false
          },
          "trust": "unsigned",
          "version": {
            "value": "0.1.0",
            "source": "python.version",
            "verified": false
          },
          "identifier": {
            "value": "restaurateur",
            "source": "python.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "from": [
              {
                "file": 7
              }
            ],
            "uses": [
              4
            ]
          },
          {
            "id": "metadata/import/python/setuptools/setup::setup",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports setup from setuptools",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "from": [
              {
                "file": 7
              }
            ],
            "uses": [
              0,
              7
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package name",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::setup-py-package-list",
            "atk": "T1195.002",
            "conf": 0.9,
            "crit": 3,
            "desc": "setup.py declares a single package directory",
            "from": [
              {
                "file": 7
              }
            ],
            "uses": [
              9,
              11
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "setup.py at or near the source root",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::package-list-assignment",
            "atk": "T1195.002",
            "conf": 0.88,
            "crit": 1,
            "desc": "Python package-list assignment",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package summary",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/files/included::setup-py-basename",
            "conf": 0.95,
            "crit": 3,
            "desc": "Filename is setup.py",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/import/python/setuptools::setuptools",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports setuptools",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 2,
            "desc": "Declares Python Core Metadata version",
            "from": [
              {
                "file": 1
              }
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::from-setuptools-import",
            "conf": 0.7,
            "crit": 3,
            "desc": "Imports the setuptools packaging API",
            "from": [
              {
                "file": 7
              }
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::pypi-egg-info-dependency-links",
            "conf": 0.86,
            "crit": 3,
            "desc": "PyPI sdist includes dependency_links metadata"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "o\u003ewAPwmoN*eMMC6B7]MgiV{gggZV#^zdL:JA+frlvrDQ0By/Pn3ry.UB7]MgiV{aef!Lc!q/#}]vrcSOazC.mByx04az++cwGUYeaA}mnatLS9fByi[zEEx@v(+-NB.$#7A^m#",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 107,
              "entropy": 4.52
            },
            "binary": {
              "peak_region_bytes": 107,
              "peak_region_entropy": 4.52
            }
          }
        },
        "id": 1,
        "path": "restaurateur-0.1.0.tar.gz!!restaurateur-0.1.0/PKG-INFO",
        "pid": 0,
        "risk": 1,
        "sha": "162e7b7f33322c6499801e6f478b3feadc134208adc45f58ac4e3f91d8f29b74",
        "size": 107,
        "traits": [
          {
            "id": "metadata/package/ecosystem::pkginfo-core-metadata",
            "conf": 1.0,
            "crit": 2,
            "desc": "Declares Python Core Metadata version",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-name-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package name",
            "spans": [
              [
                22,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-summary-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package summary",
            "spans": [
              [
                56,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/ecosystem::pkginfo-version-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "Declares Python package version",
            "spans": [
              [
                41,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/author/identity::pkginfo-no-author",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO missing Author field"
          },
          {
            "id": "metadata/package/author/identity::pkginfo-no-author-email",
            "conf": 0.7,
            "crit": 2,
            "desc": "PKG-INFO missing Author-email field"
          },
          {
            "id": "metadata/package/ecosystem::pypi-basic-metadata",
            "conf": 0.95,
            "crit": 2,
            "desc": "PyPI package declares name, version, summary",
            "uses": [
              0,
              1,
              2,
              3
            ],
            "spans": [
              [
                41,
                0
              ]
            ]
          }
        ],
        "type": "pkg_info"
      },
      {
        "ctx": [
          {
            "b": "w].*baAIaoB-qCvz!%Fqx(d*cA=-BBwPS6l3jp\u0026=BAIKJ3lQDlaz$R8wJ.kTwPI%4B-H]jwP-2qed9HxarU\u0026sA=U@kzAPf$e?[$ja$K6zarR!qwPIv4x(Ffdz/dYZx(n0lvqG:5y?WV@azC{uCvtLngb7Bpa$K6zarR!CvpK7YxjVcEtoX90B97\u0026kA::63B-FWied9*k",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "setup"
            ],
            [
              "setuptools",
              "setup"
            ],
            [
              "",
              "setuptools"
            ]
          ],
          "tgt": [
            "setup"
          ],
          "metrics": {
            "ast": {
              "max_depth": 7,
              "call_count": 1,
              "node_count": 49,
              "max_array_len": 1
            },
            "file": {
              "size": 160,
              "entropy": 4.44
            },
            "text": {
              "lines": 8,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0.07,
              "space_count": 23,
              "char_entropy": 4.44,
              "unique_chars": 32,
              "top_char_null": 0,
              "string_density": 0.5,
              "top_char_ratio": 0.08,
              "avg_line_length": 19,
              "max_line_length": 43,
              "empty_line_ratio": 0.13,
              "last_line_length": 1,
              "whitespace_ratio": 0.19,
              "identifier_density": 0.88,
              "line_length_stddev": 14.4,
              "normalized_string_count": 1.41,
              "normalized_unique_identifiers": 2
            },
            "binary": {
              "peak_region_bytes": 160,
              "peak_region_entropy": 4.44
            },
            "imports": {
              "count": 2,
              "third_party_count": 2,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 53,
              "count": 4,
              "avg_length": 13.25,
              "max_length": 24,
              "avg_entropy": 2.52,
              "entropy_stddev": 0.71
            },
            "identifiers": {
              "count": 7,
              "unique": 6,
              "avg_length": 7.5,
              "max_length": 11,
              "min_length": 4,
              "avg_entropy": 2.65,
              "reuse_ratio": 0.86,
              "length_stddev": 2.5,
              "all_lowercase_ratio": 1
            }
          }
        },
        "id": 7,
        "mol": "Md₂(BkPa₂)",
        "path": "restaurateur-0.1.0.tar.gz!!restaurateur-0.1.0/setup.py",
        "pid": 0,
        "risk": 3,
        "sha": "ae3042cd474aee646a9bd46baab80aa680070296804951a3d0ddeba34e9f35f2",
        "size": 160,
        "traits": [
          {
            "id": "metadata/import/python/setuptools/setup::setup",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports setup from setuptools",
            "spans": [
              [
                23,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/python/setuptools::setuptools",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports setuptools",
            "spans": [
              [
                5,
                0
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "setuptools packaging import",
            "spans": [
              [
                0,
                15
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setuptools-imported-setup-call",
            "conf": 0.95,
            "crit": 3,
            "desc": "Imported setuptools setup call",
            "spans": [
              [
                0,
                36
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "setup.py at or near the source root"
          },
          {
            "id": "metadata/package/files/included::setup-py-basename",
            "conf": 0.95,
            "crit": 3,
            "desc": "Filename is setup.py"
          },
          {
            "id": "metadata/package/files/wheel-sdist::from-setuptools-import",
            "conf": 0.7,
            "crit": 3,
            "desc": "Imports the setuptools packaging API",
            "spans": [
              [
                0,
                22
              ]
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::package-list-assignment",
            "atk": "T1195.002",
            "conf": 0.88,
            "crit": 1,
            "desc": "Python package-list assignment",
            "spans": [
              [
                131,
                0
              ]
            ]
          },
          {
            "id": "metadata/build/pip::packaging-setup-api-import",
            "conf": 0.95,
            "crit": 3,
            "desc": "Packaging setup API import or call",
            "uses": [
              2
            ],
            "spans": [
              [
                0,
                15
              ]
            ]
          },
          {
            "id": "metadata/package/files/wheel-sdist::setup-py-package-list",
            "atk": "T1195.002",
            "conf": 0.9,
            "crit": 3,
            "desc": "setup.py declares a single package directory",
            "uses": [
              5,
              7
            ],
            "spans": [
              [
                131,
                25
              ]
            ]
          },
          {
            "id": "metadata/build/pip::root-setup-py",
            "conf": 0.98,
            "crit": 3,
            "desc": "Root Python setup.py packaging file",
            "uses": [
              4,
              8
            ],
            "spans": [
              [
                0,
                15
              ]
            ]
          }
        ],
        "type": "python"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 762,
              "entropy": 4.54
            },
            "binary": {
              "peak_region_bytes": 762,
              "peak_region_entropy": 4.54
            },
            "registry": {
              "age_days": 0,
              "maintainers": 1,
              "published_at": 1791376057,
              "is_deprecated": 0,
              "unpacked_size": 847,
              "version_removed": 0
            }
          }
        },
        "id": 8,
        "mol": "Md(Re)",
        "path": "restaurateur@0.1.0.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "dc3f8c4c04189bcc377c4529baa76a79b83c5868ace61b3d4d7cea8d29a1b591",
        "size": 762,
        "traits": [
          {
            "id": "metadata/registry::single-maintainer",
            "conf": 1.0,
            "crit": 3,
            "desc": "Registry package lists one maintainer"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "c1ea9",
    "v": "8"
  }
}