{"id":33935944,"url":"https://github.com/kade-robertson/ddragon","last_synced_at":"2026-03-27T04:05:36.244Z","repository":{"id":65373275,"uuid":"591100952","full_name":"kade-robertson/ddragon","owner":"kade-robertson","description":"Library for pulling data from ddragon, with caching support.","archived":false,"fork":false,"pushed_at":"2026-01-22T17:31:50.000Z","size":223,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-23T10:33:24.360Z","etag":null,"topics":["data-dragon","league-of-legends","league-of-legends-data-dragon","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/ddragon","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/kade-robertson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2023-01-19T23:18:04.000Z","updated_at":"2025-08-23T04:33:33.000Z","dependencies_parsed_at":"2024-01-04T01:22:33.415Z","dependency_job_id":"508fc3e3-ba90-486d-97d3-90779896e5d7","html_url":"https://github.com/kade-robertson/ddragon","commit_stats":{"total_commits":65,"total_committers":2,"mean_commits":32.5,"dds":"0.27692307692307694","last_synced_commit":"b915b4458af735a2cd96dbef2c2651ed593fd752"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/kade-robertson/ddragon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kade-robertson%2Fddragon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kade-robertson%2Fddragon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kade-robertson%2Fddragon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kade-robertson%2Fddragon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kade-robertson","download_url":"https://codeload.github.com/kade-robertson/ddragon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kade-robertson%2Fddragon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31018546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T03:51:26.850Z","status":"ssl_error","status_checked_at":"2026-03-27T03:51:09.693Z","response_time":164,"last_error":"SSL_read: 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-dragon","league-of-legends","league-of-legends-data-dragon","rust"],"created_at":"2025-12-12T14:03:23.717Z","updated_at":"2026-03-27T04:05:36.228Z","avatar_url":"https://github.com/kade-robertson.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ddragon\n\n[![latest version](https://img.shields.io/crates/v/ddragon?style=flat-square)](https://crates.io/crates/ddragon) [![health check status](https://img.shields.io/github/actions/workflow/status/kade-robertson/ddragon/health.yml?label=health\u0026style=flat-square)](https://github.com/kade-robertson/ddragon/actions/workflows/health.yml) [![downloads of latest version](https://img.shields.io/crates/d/ddragon?style=flat-square)](https://crates.io/crates/ddragon) [![latest docs](https://img.shields.io/docsrs/ddragon?style=flat-square)](https://docs.rs/ddragon/latest/ddragon/)\n\nRust library for accessing the latest League of Legends patch's ddragon data.\n\n- Fully (de)serializable, well-typed structs\n- Supports TFT data\n- Provides a synchronous API by default\n  - Local caching via `cacache`\n  - Accepts custom `ureq` agents (which can use the exposed cache middleware)\n- Optionally, an asynchronous API can be used that maintains the same featureset\n  - Local caching is handled by `http-cache-reqwest` rather than a custom middleware\n  - Also accepts custom `reqwest` or `reqwest-middleware` clients\n- Optionally, some useful functions to fetch and decode images, via `image`\n- Optionally, minimal support of cdragon data\n\n## Usage\n\n```rust\nuse ddragon::{cache_middleware::CacheMiddleware, Client, ClientBuilder, ClientError};\n\nfn main() -\u003e Result\u003c(), ClientError\u003e {\n    let client = Client::new(\"/path/to/your/cache/dir\")?;\n\n    // If you want to use an existing agent\n    let my_agent = ureq::Agent::config_builder()\n        .middleware(CacheMiddleware::new(\"/path/to/your/cache/dir\"))\n        .build()\n        .into();\n    let client = ClientBuilder::new().agent(my_agent).build()?;\n\n    // See available options on the client and in the models folder.\n    let champions = client.champions()?;\n    let runes = client.runes()?;\n    let tft_items = client.tft_items()?;\n\n    Ok(())\n}\n```\n\n## Features\n\nThe following crate features are available:\n\n- `sync` (on by default) enables the synchronous client.\n  - Provides the `ddragon::client` and `ddragon::cache_middleware` module.\n  - Provides the re-exported `ddragon::Client` and `ddragon::ClientBuilder` impls.\n  - Adds `cacache`, `url`, `thiserror`, and `ureq` with the `json` feature enabled as dependencies.\n- `async` enables the asynchronous client.\n  - Provides the `ddragon::async_client` module.\n  - Provides the re-exported `ddragon::AsyncClient` and `ddragon::AsyncClientBuilder` impls.\n  - Adds `reqwest` with the `json` feature, `reqwest-middleware` and `http-cache-reqwest` as dependencies.\n  - If you would like the client to use `rustls`, use the `async-rustls` feature instead.\n- `image` enables image fetching and caching.\n\n  - Both clients will receive `image_of` and `sprite_of` for any model which implements `HasImage`.\n  - Adds the `image` dependency.\n\n- `cdragon` enables support for sourcing data from CommunityDragon.\n\n  - At the moment, this just adds a method for fetching Arena mode augments.\n\n- To use the library with just the synchronous version, it should be as simple as adding any other dependency:\n\n```toml\n[dependencies]\nddragon = \"\u003cversion\u003e\"\n```\n\n- If you would also like to have the image fetching support, use:\n\n```toml\n[dependencies]\nddragon = { version = \"\u003cversion\u003e\", features = [\"image\"] }\n```\n\n- If you want the asynchronous client only, you probably don't want to pull in the dependencies related to the synchronous code, so you can do this:\n\n```toml\n[dependencies]\nddragon = { version = \"\u003cversion\u003e\", default-features = false, features = [\"async\"] }\n```\n\n- If you want the async client and you want to use `rustls` (and you want `ddragon` to generate the client), you can use:\n\n```toml\n[dependencies]\nddragon = { version = \"\u003cversion\u003e\", default-features = false, features = [\"async-rustls\"] }\n```\n\nNote that if you are providing your own client (via `AsyncClientBuilder::new().agent()`) you can use either `async` feature set.\n\n- If you only want the DDragon models (none of the client code), you can use\n\n```toml\n[dependencies]\nddragon = { version = \"\u003cversion\u003e\", default-features = false }\n```\n\n### MSRV\n\nCurrently, this crate support Rust \u003e= 1.71.1.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkade-robertson%2Fddragon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkade-robertson%2Fddragon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkade-robertson%2Fddragon/lists"}