{"id":41541771,"url":"https://github.com/adamthedash/poe_data_tools","last_synced_at":"2026-04-02T16:04:47.279Z","repository":{"id":264724054,"uuid":"893658274","full_name":"adamthedash/poe_data_tools","owner":"adamthedash","description":"Suite of CLI tools to work with Path of Exile 1/2 game files","archived":false,"fork":false,"pushed_at":"2026-01-23T02:14:22.000Z","size":3587,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-23T11:43:36.101Z","etag":null,"topics":["data-mining","pathofexile"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/adamthedash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-11-25T01:08:53.000Z","updated_at":"2026-01-18T12:14:02.000Z","dependencies_parsed_at":"2025-01-25T17:18:54.863Z","dependency_job_id":"c62de1dd-41c6-4c9a-bfd8-835f942a7165","html_url":"https://github.com/adamthedash/poe_data_tools","commit_stats":null,"previous_names":["adamthedash/poe_data_tools"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/adamthedash/poe_data_tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamthedash%2Fpoe_data_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamthedash%2Fpoe_data_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamthedash%2Fpoe_data_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamthedash%2Fpoe_data_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adamthedash","download_url":"https://codeload.github.com/adamthedash/poe_data_tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamthedash%2Fpoe_data_tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28706210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T23:51:44.727Z","status":"ssl_error","status_checked_at":"2026-01-23T23:51:36.079Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["data-mining","pathofexile"],"created_at":"2026-01-24T01:16:15.032Z","updated_at":"2026-04-02T16:04:47.274Z","avatar_url":"https://github.com/adamthedash.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PoE Data Tools\nParsing tools for Path of Exile game files. Available as a standalone binary (See releases), and as a rust crate.  \n\n# Commands\n\n- `list`: List the \"virtual\" file paths in the bundle\n- `extract`: Extract the virtual files as-is, saving them as real files to disk\n- `cat`: Dumps the binary contents of a file to stdout\n- `dump-art`: Extracts DirectDraw Surface (.dds) files and converts them to PNGs\n- `dump-tables`: Extracts data tables (.datc64), applies the [community-curated schemas](https://github.com/poe-tool-dev/dat-schema),\n  and saves them out to more accessible formats.  \n- `dump-tree`: Extracts passive skill trees (player, atlas, ruthless, etc.) to JSON\n- `translate`: Extracts files and converts them to more accessible formats.  \n\n## Usage\n\nFrom source (requires Rust to be installed)\n\n```bash\ncargo run --release --bin poe_data_tools -- --help\n```\n\nUsing executable file\n\n```bash\npoe_data_tools --help\n```\n\nAs a rust library. Note that due to requiring a few forked dependencies, I can't yet publish it to crates.io. Instead, it must be added as a git dependency.  \n\n```toml\n[dependencies]\npoe_data_tools = { git = \"https://github.com/adamthedash/poe_data_tools.git\" }\n```\n\n## Globs\nMany of the commands can take glob patterns to operate over several files at once. Note that the patterns follow the [Unix glob](https://www.man7.org/linux/man-pages/man7/glob.7.html) specification.  \nSeveral patterns can be provided at once.  \n\n```bash\n# all files in all directories (the default)\npoe_data_tools --patch 2 list '**'\n# all .datc64 and .dds files in all subdirectories\npoe_data_tools --patch 2 list '**/*.datc64' '**/*.dds'\n# all files in the art/ directory\npoe_data_tools --patch 2 list 'art/*'\n# all files in the art/ directory and its subdirectories\npoe_data_tools --patch 2 list 'art/**'\n```\n\n# Format coverage\nPoE 1 (patch 3.28.0.7), PoE Data Tools v1.6.0\n\n|Format|Fail|Success|Total|Success %|\n|-|-|-|-|-|\n|amd   |     0| 19145| 19145|100.00%|\n|ao    |     0| 61567| 61567|100.00%|\n|arm   |     0| 22463| 22463|100.00%|\n|cht   |     0|   602|   602|100.00%|\n|clt   |     0|   328|   328|100.00%|\n|dct   |     0|   471|   471|100.00%|\n|ddt   |     0|   652|   652|100.00%|\n|dlp   |     0|    84|    84|100.00%|\n|ecf   |     1|   588|   589| 99.83%|\n|epk   |     0|  8973|  8973|100.00%|\n|et    |     0|  1440|  1440|100.00%|\n|fmt   |     0| 33794| 33794|100.00%|\n|gcf   |     0|     1|     1|100.00%|\n|gft   |     0|   931|   931|100.00%|\n|gt    |     0|  1104|  1104|100.00%|\n|mat   |     0|143681|143681|100.00%|\n|mtd   |     0|   891|   891|100.00%|\n|pet   |     1| 37752| 37753|100.00%|\n|psg   |     0|     7|     7|100.00%|\n|rs    |     0|   989|   989|100.00%|\n|tmo   |     0|   155|   155|100.00%|\n|toy   |     0|    47|    47|100.00%|\n|trl   |     0|  6265|  6265|100.00%|\n|tsi   |     0|  1087|  1087|100.00%|\n|tst   |     0|   946|   946|100.00%|\n\nBy file format version (fails : successes)\n||Unknown|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|\n|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|\n|amd|||||0 : 12204|0 : 4685|0 : 2256||||||||||||||||||||||||||||||||\n|ao|||||0 : 61567||||||||||||||||||||||||||||||||||\n|arm||||||||||||||||0 : 110|0 : 2|0 : 25||0 : 73|0 : 7|0 : 36|0 : 45|0 : 3090|0 : 13|0 : 4||0 : 7690|0 : 1996|0 : 531|0 : 3304|0 : 1697|0 : 2641|0 : 160|0 : 7|0 : 2|0 : 203|0 : 827|\n|cht||||0 : 601|0 : 1||||||||||||||||||||||||||||||||||\n|clt||||0 : 2|0 : 36|0 : 290|||||||||||||||||||||||||||||||||\n|dct||||0 : 471|||||||||||||||||||||||||||||||||||\n|ddt|||||0 : 650|0 : 2|||||||||||||||||||||||||||||||||\n|dlp|0 : 83|||0 : 1|||||||||||||||||||||||||||||||||||\n|ecf|||1 : 588||||||||||||||||||||||||||||||||||||\n|epk|0 : 8973||||||||||||||||||||||||||||||||||||||\n|et|0 : 1440||||||||||||||||||||||||||||||||||||||\n|fmt||||||||0 : 11017|0 : 5415|0 : 2435|0 : 14927||||||||||||||||||||||||||||\n|gcf|||0 : 1||||||||||||||||||||||||||||||||||||\n|gft|||0 : 2|0 : 929|||||||||||||||||||||||||||||||||||\n|gt|0 : 1104||||||||||||||||||||||||||||||||||||||\n|mat|0 : 143681||||||||||||||||||||||||||||||||||||||\n|mtd|||||||0 : 891||||||||||||||||||||||||||||||||\n|pet|0 : 17302|||0 : 3429|0 : 11351|1 : 2839|0 : 2831||||||||||||||||||||||||||||||||\n|psg|||||0 : 7||||||||||||||||||||||||||||||||||\n|rs||||0 : 989|||||||||||||||||||||||||||||||||||\n|tmo|||0 : 155||||||||||||||||||||||||||||||||||||\n|toy|||0 : 47||||||||||||||||||||||||||||||||||||\n|trl|0 : 3247|||0 : 2206||0 : 812|||||||||||||||||||||||||||||||||\n|tsi|0 : 1087||||||||||||||||||||||||||||||||||||||\n|tst|0 : 946||||||||||||||||||||||||||||||||||||||\n\nPoE 2 (patch 4.4.0.10), PoE Data Tools v1.6.0\n\n|Format|Fail|Success|Total|Success %|\n|-|-|-|-|-|\n|amd   |     0| 16486| 16486|100.00%|\n|ao    |     0| 66846| 66846|100.00%|\n|arm   |     0| 14766| 14766|100.00%|\n|cht   |     1|   248|   249| 99.60%|\n|clt   |     0|   208|   208|100.00%|\n|dct   |     0|   156|   156|100.00%|\n|ddt   |     0|   217|   217|100.00%|\n|dlp   |     0|   185|   185|100.00%|\n|ecf   |     0|   258|   258|100.00%|\n|epk   |     0|  7130|  7130|100.00%|\n|et    |     0|  1363|  1363|100.00%|\n|fmt   |     0| 25257| 25257|100.00%|\n|gft   |     0|   398|   398|100.00%|\n|gt    |     0|   647|   647|100.00%|\n|mat   |     0|164096|164096|100.00%|\n|mtd   |     0|   405|   405|100.00%|\n|pet   |     0| 32447| 32447|100.00%|\n|psg   |     0|     3|     3|100.00%|\n|rs    |     0|   441|   441|100.00%|\n|tmo   |     1|   396|   397| 99.75%|\n|toy   |     1|   175|   176| 99.43%|\n|trl   |     0|  5365|  5365|100.00%|\n|tsi   |     0|   463|   463|100.00%|\n|tst   |     0|   409|   409|100.00%|\n\nBy file format version (fails : successes)\n||Unknown|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|\n|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|\n|amd|||0 : 3483|0 : 370|0 : 3175|0 : 5527|0 : 3931||||||||||||||||||||||||||||||||\n|ao||||0 : 66846|||||||||||||||||||||||||||||||||||\n|arm||||||||||||||||||||0 : 1||0 : 2||0 : 52||||0 : 40|0 : 6|0 : 5|0 : 362|0 : 142|0 : 1218|0 : 125|0 : 12||0 : 907|0 : 11894|\n|cht||||1 : 195|0 : 53||||||||||||||||||||||||||||||||||\n|clt|||||0 : 13|0 : 195|||||||||||||||||||||||||||||||||\n|dct||||0 : 156|||||||||||||||||||||||||||||||||||\n|ddt|||||0 : 152|0 : 65|||||||||||||||||||||||||||||||||\n|dlp|0 : 11|||0 : 26|0 : 148||||||||||||||||||||||||||||||||||\n|ecf|||0 : 258||||||||||||||||||||||||||||||||||||\n|epk|0 : 7130||||||||||||||||||||||||||||||||||||||\n|et|0 : 1363||||||||||||||||||||||||||||||||||||||\n|fmt||||||0 : 1648|0 : 268|0 : 2737|0 : 2506|0 : 819|0 : 17279||||||||||||||||||||||||||||\n|gft||||0 : 398|||||||||||||||||||||||||||||||||||\n|gt|0 : 647||||||||||||||||||||||||||||||||||||||\n|mat|0 : 164096||||||||||||||||||||||||||||||||||||||\n|mtd|||||||0 : 405||||||||||||||||||||||||||||||||\n|pet|0 : 9730|||0 : 2343|0 : 8066|0 : 4299|0 : 8009||||||||||||||||||||||||||||||||\n|psg|||||0 : 3||||||||||||||||||||||||||||||||||\n|rs||||0 : 441|||||||||||||||||||||||||||||||||||\n|tmo|||1 : 396||||||||||||||||||||||||||||||||||||\n|toy|||1 : 175||||||||||||||||||||||||||||||||||||\n|trl|0 : 2023|||0 : 1476|0 : 4|0 : 1862|||||||||||||||||||||||||||||||||\n|tsi|0 : 463||||||||||||||||||||||||||||||||||||||\n|tst|0 : 409||||||||||||||||||||||||||||||||||||||\n\n# Bundle File format\n![bundle file format](./images/bundle_spec.png)\n\n# Bundle Index File format\n![bundle index file format](./images/bundle_index_spec.png)\n\n# Passive Skill Graph (PSG) File Format\n![psg file format](./images/psg_spec.png)  \n\n# World Area related files\n![world areas](./images/world_areas.png)  \n\n## AMD File Format\n![amd format](./images/amd_spec.png)  \n\n## AO File Format\n![ao format](./images/ao_spec.png)  \n\n## ARM File Format\n![arm format](./images/arm_spec.png)  \n\n## CHT File Format\n![cht format](./images/cht_spec.png)  \n\n## CLT File Format\n![clt format](./images/clt_spec.png)  \n\n## DCT File Format\n![dct format](./images/dct_spec.png)  \n\n## DDT File Format\n![ddt format](./images/ddt_spec.png)  \n\n## DLP File Format\n![dlp format](./images/dlp_spec.png)  \n\n## ECF File Format\n![ecf format](./images/ecf_spec.png)  \n\n## ET File Format\n![et format](./images/et_spec.png)  \n\n## EPK File Format\n![epk format](./images/epk_spec.png)  \n\n## FMT File Format\n![fmt format](./images/fmt_spec.png)  \n\n## GCF File Format\n![gcf format](./images/gcf_spec.png)  \n\n## GFT File Format\n![gft format](./images/gft_spec.png)  \n\n## GT File Format\n![gt format](./images/gt_spec.png)  \n\n## MAT File Format\n![mat format](./images/mat_spec.png)  \n\n## MTD File Format\n![mtd format](./images/mtd_spec.png)  \n\n## PET File Format\n![pet format](./images/pet_spec.png)  \n\n## RS File Format\n![rs format](./images/rs_spec.png)  \n\n## TMO File Format\n![tmo format](./images/tmo_spec.png)  \n\n## TOY File Format\n![toy format](./images/toy_spec.png)  \n\n## TRL File Format\n![trl format](./images/trl_spec.png)  \n\n## TSI File Format\n![tsi format](./images/tsi_spec.png)  \n\n## TST File Format\n![tst format](./images/tst_spec.png)  \n\n# TODO List\n\n- Proper documentation for the lib crate\n- Swap image.rs version once [DDS support is merged](https://github.com/image-rs/image/pull/2258)\n\n# Resources\nhttps://gitlab.com/zao/poe-rs  \nhttps://gist.github.com/zao/96cb1869db121fbd038f8cd66f7d5736 - for .fmt/tdt/tgm  \nhttps://gitlab.com/zao/poe-cpp/-/tree/master/libpoe/poe/format  \nhttps://bitbucket.org/zao/gggtools/src/evolve-ggpkviewer/spec/  \n\n\n```\n.act = Actor, UCS-2 plain\n.ais = AI Script, UCS-2 plain\n.amd = Animated Meta Data, UCS-2 plain\n.ao = Animated Object, UCS-2 plain\n.aoc = Animated Object Controller, UCS-2 plain\n.arm = Rooms, UCS-2 plain\n.ast = Skeleton, Binary\n.bank = FMOD Sound Bank, Binary\n.bk2 = Bink Video, Binary\n.cht = Chest Data, UCS-2 plain\n.dat = Game Data\n.dat64 = Game Data 64bits\n.dds = Texture, brotli compress or soft link\n.ddt = Doodads, UCS-2 plain\n.dlp = Doodads, UCS-2 plain\n.dgr = Digital Graph Document, UCS-2 plain\n.env = Environments, UCS-2 plain\n.filter = Loot Filter, UTF-8\n.ffx = FFX Render, UCS-2 plain\n.fx = Shader, Ascii\n.gm = Grandmaster, Binary\n.gt = Ground Types, UCS-2 plain\n.hlsl = Shader, Ascii\n.mat = Material, UCS-2 plain\n.ogg = Digital Multimedia, Binary\n.ot = Object Type, UCS-2 plain\n.otc = Object Type Codes, UCS-2 plain\n.pet = Particle Effect, Binary\n.pjd = Passive Jewel Data, Binary\n.psg = Passive Skill Graphic, Binary\n.rs = Room Set, UCS-2 plain\n.sm = Skin Mesh, UCS-2 plain\n.smd = Skin Mesh Data, binary\n.spritefont = Raster Font Data, Binary\n.tgt = Tile Group, UCS-2 plain\n.txt = Text, UCS-2 plain\n.ui = User Interface, UCS-2 plain\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamthedash%2Fpoe_data_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamthedash%2Fpoe_data_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamthedash%2Fpoe_data_tools/lists"}