{
  "type": "book",
  "site": {
    "name": "The Book Quiver",
    "language": "en-US",
    "url": "https://www.bookquiver.com"
  },
  "formats": "Every page has two versions with the same data: JSON (the page address + .json) and markdown (the page address + .md). Append .json or .md to any `url` in this document.",
  "title": "Gray Hat Python",
  "subtitle": null,
  "slug": "gray-hat-python",
  "url": "https://www.bookquiver.com/justin-seitz/gray-hat-python",
  "json": "https://www.bookquiver.com/justin-seitz/gray-hat-python.json",
  "markdown": "https://www.bookquiver.com/justin-seitz/gray-hat-python.md",
  "authors": [
    {
      "name": "Justin Seitz",
      "slug": "justin-seitz",
      "url": "https://www.bookquiver.com/justin-seitz"
    }
  ],
  "language": "en_US",
  "original_title": null,
  "original_language": null,
  "first_published": "2009-04-15",
  "genres": [],
  "series": [],
  "cover": "https://quivercdn.com/covers/no-starch-press/justin-seitz/gray-hat-python_978-15-9327-192-3.jpg?v=2026-06-19%2007%3A04%3A11",
  "description": "Python is fast becoming the programming language of choice for hackers, reverse engineers, and software testers because it's easy to write quickly, and it has the low-level support and libraries that make...",
  "editions": [
    {
      "title": "Gray Hat Python",
      "subtitle": null,
      "url": "https://www.bookquiver.com/justin-seitz/gray-hat-python/9781593271923",
      "publisher": "No Starch Press",
      "publisher_series": [],
      "translators": [],
      "medium": "paper",
      "duration_seconds": null,
      "narrators": [],
      "illustrators": [],
      "cover_artists": [],
      "isbn": "978-15-9327-192-3",
      "pages": 216,
      "published": "2009-04-15",
      "language": "en_US",
      "cover": "https://quivercdn.com/covers/no-starch-press/justin-seitz/gray-hat-python_978-15-9327-192-3.jpg?v=2026-06-19%2007%3A04%3A11"
    }
  ],
  "other_languages": [],
  "characters": [],
  "chapters": []
}
