{"id":16714208,"url":"https://github.com/flier/rust-pdl","last_synced_at":"2025-03-23T14:31:54.351Z","repository":{"id":57653947,"uuid":"199840976","full_name":"flier/rust-pdl","owner":"flier","description":"Parse PDL file for the Chrome DevTools Protocol","archived":false,"fork":false,"pushed_at":"2019-08-12T09:46:17.000Z","size":46,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T21:50:47.509Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flier.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}},"created_at":"2019-07-31T11:15:35.000Z","updated_at":"2022-10-13T00:00:35.000Z","dependencies_parsed_at":"2022-08-26T10:31:31.531Z","dependency_job_id":null,"html_url":"https://github.com/flier/rust-pdl","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flier%2Frust-pdl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flier%2Frust-pdl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flier%2Frust-pdl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flier%2Frust-pdl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flier","download_url":"https://codeload.github.com/flier/rust-pdl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245116031,"owners_count":20563267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-12T20:49:52.304Z","updated_at":"2025-03-23T14:31:54.077Z","avatar_url":"https://github.com/flier.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pdl [![Travis Build Status](https://travis-ci.org/flier/rust-pdl.svg?branch=master)](https://travis-ci.org/flier/rust-pdl) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/h2tvdm5uiqtc4mh2?svg=true)](https://ci.appveyor.com/project/flier/rust-pdl) [![crate](https://img.shields.io/crates/v/pdl.svg)](https://crates.io/crates/pdl) [![docs](https://docs.rs/pdl/badge.svg)](https://docs.rs/crate/pdl/) [![dependency status](https://deps.rs/repo/github/flier/rust-pdl/status.svg)](https://deps.rs/repo/github/flier/rust-pdl)\n\nParse PDL file for [the Chrome DevTools Protocol](https://github.com/ChromeDevTools/devtools-protocol).\n\n**NOTE:** `PDL` (pronounced as `ˈpo͞odl`) is a home-grown format to describe the  DevTools protocol. PDL support, such as Sublime syntax highlighting and the json converter, is available at https://github.com/pavelfeldman/pdl.\n\n## Usage\n\nTo use `pdl` in your project, add the following to your Cargo.toml:\n\n```toml\n[dependencies]\npdl = \"0.1\"\n```\n\n## Example\n\nUse `pdl::parse` to parse a PDL file as strongly typed data structures.\n\n```rust\nlet mut f = File::open(\"browser_protoco.pdl\")?;\nlet mut s = String::new();\nf.read_to_string(\u0026mut s)?;\n\nlet (rest, proto) = pdl::parse(\u0026s)?;\n\nprintln!(\"PDL: {}\", proto);\nprintln!(\"JSON: {}\", proto.to_json_pretty());\n```\n\nFor more detail, please check the `parser` example.\n\n```sh\n$ cargo run --example parser -- browser_protocol.pdl --json --output browser_protocol.json\n```\n\n## Resources\n\n- [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) - Chrome DevTools Protocol Domain documentation\n- [Awesome chrome-devtools](https://github.com/ChromeDevTools/awesome-chrome-devtools) - Awesome tooling and resources in the Chrome DevTools ecosystem\n- [devtools-protocol repo](https://github.com/ChromeDevTools/devtools-protocol) - File issues at this repo if you have concerns or problems with the DevTools Protocol (aka Chrome Remote Debugging Protocol).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflier%2Frust-pdl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflier%2Frust-pdl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflier%2Frust-pdl/lists"}