{"adoption": {"forks": 180, "observed_at": "2026-08-28T04:03:22.968985+00:00", "stars": 1050}, "canonical_url": "https://ross.abutalabs.com/products/violent-python3", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Source code for the book \"Violent Python\" by TJ O'Connor. The code has been fully converted to Python 3, reformatted to comply with PEP8 standards and refactored to eliminate dependency issues involving the implementation of deprecated libraries.", "domain": ["security", "penetration-testing", "education"], "enriched": true, "function": ["security", "networking", "cli", "developer-tools"], "health_score": 78, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["EONRaider/violent-python3"], "name": "EONRaider/violent-python3", "platform": ["python", "windows", "cli"], "pushed_at": "2026-08-12T18:23:30+00:00", "repo": "EONRaider/violent-python3", "stars": 1050, "tags": ["ethical-hacking", "hacking-tools", "book-source-code", "python3-conversion", "pep8", "network-security", "offensive-security", "command-line", "linux", "macos"], "topics": ["violent-python", "ethical-hacking", "network-programming", "network-security", "python-hacking", "hacking-tools", "cybersecurity", "violent-python-source-code"], "urls": [], "use_cases": ["follow along with the Violent Python book exercises in Python 3", "learn ethical hacking and network security scripting in Python", "study refactored examples of penetration testing tools", "find working replacements for deprecated Python 2 hacking scripts", "practice building CLI security tools with argparse"], "what_it_is": "A Python 3 conversion of the source code from the book 'Violent Python' by TJ O'Connor, refactored for PEP8 compliance and updated to remove deprecated library dependencies. It serves as companion material for learning offensive security and network programming techniques from the book.", "when_to_avoid": ["you need production-ready security tools rather than educational code", "you want a maintained library with a license and ongoing feature development", "you are not familiar with the book and need standalone documented tools"], "when_to_choose": ["you are reading Violent Python and need Python 3 compatible code", "you want clean, PEP8-compliant examples of classic hacking scripts", "you are learning network security and offensive tooling in Python"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/violent-python3", "repo": "EONRaider/violent-python3", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:22.968985+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:00:15.406498+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "227cf12286637999dda51185a90152fee23fd7d750dfcd6439dd7e93444c8d3c", "fetched_at": "2026-08-28T04:03:22.968985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/EONRaider/violent-python3"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2297, "days_push": 21, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}