BEACON

← candidates

PyPI structloglint @0.5.0

score
0.5268 med
flagged 2026-06-22 06:48
signals by category
identity 1 topology 2 enrichment 1

maintainers added: maxilar20 <dorne99@hotmail.com>

package profile →

amplifiers co-occurring signal pairs that lift the final score

Signals fired

signalweightrationale
identity
maintainer_email_changed 0.7 new identity email(s): ['maxilar20 <dorne99@hotmail.com>']
topology
repository_url_changed 0.7 'https://github.com/maeldorne/structloglint' -> 'https://github.com/maxilar20/structloglint'
typosquat 1.0 combosquat of 'structlog'
enrichment
repo_too_new_for_version_history 0.7 claimed repo created 1d ago but package has 6 versions (expect >= 46d for that history)

Prior profile (what it deviated from)

{
  "had_install_script": false,
  "maintainers": [],
  "versions": 4
}

Evidence (package doc at flag time)

{
  "author_email": "maxilar20 <dorne99@hotmail.com>",
  "classifiers": [
    "Development Status :: 3 - Alpha",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Rust",
    "Topic :: Software Development :: Quality Assurance"
  ],
  "home_page": null,
  "last_serial": 38277609,
  "latest_version": "0.5.0",
  "maintainer_email": null,
  "num_versions": 6,
  "project_urls": {
    "Repository": "https://github.com/maxilar20/structloglint"
  },
  "requires_dist_count": 0,
  "signal_details": {
    "_amplifiers": [
      "repository_url_changed + maintainer_email_changed: repo ownership claim shifted during identity churn (+0.10)"
    ],
    "maintainer_email_changed": "new identity email(s): ['maxilar20 <dorne99@hotmail.com>']",
    "repo_too_new_for_version_history": "claimed repo created 1d ago but package has 6 versions (expect >= 46d for that history)",
    "repository_url_changed": "'https://github.com/maeldorne/structloglint' -> 'https://github.com/maxilar20/structloglint'",
    "typosquat": "combosquat of 'structlog'"
  },
  "yanked": false,
  "yanked_reason": null
}