{"id":24429044,"url":"https://github.com/egezenn/opendotaguides","last_synced_at":"2026-07-03T05:01:57.202Z","repository":{"id":258247478,"uuid":"857712643","full_name":"Egezenn/OpenDotaGuides","owner":"Egezenn","description":"Non-sequential, mostly unopinionated, roleless and most importantly maintainerless guides for Dota2!","archived":false,"fork":false,"pushed_at":"2026-06-26T03:53:07.000Z","size":1000,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T05:22:40.575Z","etag":null,"topics":["api","dota2","dota2-guides","python"],"latest_commit_sha":null,"homepage":"https://egezenn.github.io/OpenDotaGuides/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Egezenn.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-15T12:10:37.000Z","updated_at":"2026-06-26T03:53:10.000Z","dependencies_parsed_at":"2025-11-29T12:08:36.634Z","dependency_job_id":null,"html_url":"https://github.com/Egezenn/OpenDotaGuides","commit_stats":null,"previous_names":["egezenn/opendotaguides"],"tags_count":617,"template":false,"template_full_name":null,"purl":"pkg:github/Egezenn/OpenDotaGuides","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egezenn%2FOpenDotaGuides","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egezenn%2FOpenDotaGuides/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egezenn%2FOpenDotaGuides/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egezenn%2FOpenDotaGuides/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Egezenn","download_url":"https://codeload.github.com/Egezenn/OpenDotaGuides/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Egezenn%2FOpenDotaGuides/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35072845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","dota2","dota2-guides","python"],"created_at":"2025-01-20T13:33:08.933Z","updated_at":"2026-07-03T05:01:57.103Z","avatar_url":"https://github.com/Egezenn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenDotaGuides\n\n\u003cimg alt=\"Example guide\" align=\"right\" src=\"assets/image.png\"\u003e\n\n![license](https://img.shields.io/github/license/Egezenn/OpenDotaGuides?style=for-the-badge)\n![latest-release](https://img.shields.io/github/v/release/Egezenn/OpenDotaGuides?style=for-the-badge)\n![build-state](https://img.shields.io/github/actions/workflow/status/Egezenn/OpenDotaGuides/release.yml?style=for-the-badge)\n\n![downloads](https://img.shields.io/github/downloads/Egezenn/OpenDotaGuides/total?style=for-the-badge)\n![downloads-latest](https://img.shields.io/github/downloads/Egezenn/OpenDotaGuides/latest/total?style=for-the-badge)\n\nTired of streamlined, opinionated and slowly updating guides? Want to see many item recommendations from the pros for the newest patch?\n\nThen you're in luck, this project uses what [OpenDota](https://www.opendota.com) has to offer in in their [API](https://docs.opendota.com) and replaces *pretty* outdated and useless default guides in `..\u003cdota_install_path\u003e/game/dota/itembuilds`.\n\n## Installation\n\n### Running [autoReplace](scripts/autoReplace.py)\n\nYou can run this script whenever you like, it'll ask once for your itembuild path.\n\n#### Doing it automatically\n\nPut the script somewhere you like, create a task to run the command  \n`python \u003cpath-of-your-choosing\u003e/autoReplace.py`  \nevery day at ~2AM (UTC).  \n\u003e [!NOTE]\n\u003e Run it first to input your itembuild path.\n\n## [Minify](https://github.com/Egezenn/dota2-minify)\n\nYou can check the option `OpenDotaGuides Guides` here.\n\n### Manually\n\n1. You can find the Dota2 installation path by going into `Steam` \\\u003e `Library` \\\u003e right click on `Dota 2` \\\u003e `Manage` \\\u003e `Browse Local Files`\n2. Then go into `game` \\\u003e `dota`\n3. Replace the `itembuilds` directory's contents with\n    1. the contents of [release](https://github.com/Egezenn/OpenDotaGuides/releases/latest)\n    2. the contents of your local run. Refer to [here](#local-development).\n4. Select the default guide in game\n5. Have fun!\n\n\u003e [!TIP]\n\u003e If you've modified the contents of the folder while you were in Dota and in a match, disconnect \u0026 reconnect to see the changes.\n\n## Local development\n\n\u003e [!IMPORTANT]\n\u003e You need `python`(~=3.13), `uv` and `git` installed:\n\n1. `git clone https://github.com/Egezenn/OpenDotaGuides.git`\n2. `cd OpenDotaGuides`\n3. `uv run odg`\n\n## Meaning of the item flags\n\n### Start\n\nWill be assumed to be bought with the starting gold. It'll not be included by default (`-s` flag) because it holds little to no importance.\n\n```plaintext\nBlood Grenade\nEnchanted Mango\nFaerie Fire\nIron Branch\nMagic Stick\nQuelling Blade\nTango\n```\n\n### Consumable\n\nThese are consumable items that you are expected to buy irregardless of the hero you're playing but *mostly* not as a starting item. Will not be included.\n\n```plaintext\nClarity\nDust of Appearance\nHealing Salve\nInfused Raindrops\nObserver Ward\nSentry Ward\nSmoke of Deceit\nTown Portal Scroll\n```\n\n### Ignore\n\nItems that appear in the game files even if they aren't used anywhere or can't be bought normally (roshan drops, neutral items). Will not be included.\n\n### Early\n\nThese are generally not intended to be bought as a starting item (can mostly be bought with the starting gold), rather as the first small item you're going to be completing. They'll be included into the guides (inserted to the early section if `-s` argument is given, else to the starting section) as they are more likely to be bought more distinctively. For example:\n\n- Tinker buying bottle irregardless of position for faster regen inside the fountain and having a source of regen in the early game.\n- Venomancer buying orbs to stack it's innate damage.\n- Medusa buying Ring of Basilius for cheap constant mana regen.\n\n```plaintext\nBottle\nBracer\nMagic Wand\nNull Talisman\nOrb of Blight\nOrb of Frost\nOrb of Venom\nRing of Basilius\nWraith Band\n```\n\n### Component\n\nThese items (recipes, small stat items) are mostly bought with the intention of building a bigger item, it doesn't hold a value as to what the hero is building, so they won't be included.\n\n### Team\n\nBought mostly to be used with the team.\n\n```plaintext\nAssault Cuirass\nBoots of Bearing\nCrimson Guard\nDrum of Endurance\nForce Staff\nGlimmer Cape\nGuardian Greaves\nHoly Locket\nLotus Orb\nMekansm\nPipe of Insight\nSolar Crest\nSpirit Vessel\nUrn of Shadows\nVladmir's Offering\n```\n\n### Risky\n\nItems that have drop when the wielder dies / items that appear often as fun purchases.\n\n```plaintext\nGem of True Sight\nHand of Midas\nDagon\nDivine Rapier\nMeteor Hammer\n```\n\n### No flag\n\nWill be included in the first section they appear in the data. These are full items (Shiva's Guard, Linken's Sphere).\n\n## Dependencies\n\n### Binaries\n\n[Python ~=3.11](https://www.python.org) - Core language. Licensed under PSFL license.\n\n### Python packages\n\n[requests](https://github.com/psf/requests) - Used to interact with OpenDota API. Licensed under Apache-2.0 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegezenn%2Fopendotaguides","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fegezenn%2Fopendotaguides","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fegezenn%2Fopendotaguides/lists"}