{"id":21110206,"url":"https://github.com/coko7/vegapull","last_synced_at":"2026-05-19T18:32:50.710Z","repository":{"id":255137209,"uuid":"847429431","full_name":"coko7/vegapull","owner":"coko7","description":"👒 One Piece TCG data scraper written in Rust","archived":false,"fork":false,"pushed_at":"2026-05-06T23:37:02.000Z","size":298,"stargazers_count":28,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-07T01:28:15.399Z","etag":null,"topics":["cli","command-line","command-line-interface","command-line-tool","one-piece","one-piece-card-game","one-piece-tcg","punk-records","rust","scraper","scraping","tcg","vega","vegapull","vegapunk"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/vegapull","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coko7.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-08-25T19:48:33.000Z","updated_at":"2026-05-06T23:36:36.000Z","dependencies_parsed_at":"2025-10-28T07:07:34.591Z","dependency_job_id":"538c078c-80e2-4deb-ab73-353c46fc7406","html_url":"https://github.com/coko7/vegapull","commit_stats":null,"previous_names":["coko7/op-tcg-scraper","coko7/vegapull"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/coko7/vegapull","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Fvegapull","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Fvegapull/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Fvegapull/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Fvegapull/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coko7","download_url":"https://codeload.github.com/coko7/vegapull/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coko7%2Fvegapull/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33227405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T15:49:41.270Z","status":"ssl_error","status_checked_at":"2026-05-19T15:49:22.917Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["cli","command-line","command-line-interface","command-line-tool","one-piece","one-piece-card-game","one-piece-tcg","punk-records","rust","scraper","scraping","tcg","vega","vegapull","vegapunk"],"created_at":"2024-11-20T00:58:46.463Z","updated_at":"2026-05-19T18:32:50.675Z","avatar_url":"https://github.com/coko7.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👒 vegapull\n\n![build](https://github.com/coko7/vegapull/actions/workflows/rust.yml/badge.svg)\n\nA CLI utility to retrieve data for the One Piece Trading Cards Game (TCG).\n\nThe CLI directly goes against the [onepiece-cardgame.com](https://onepiece-cardgame.com) website and attempts to scrap information such as packs, cards and images.\n\nSince [v0.5.0](https://crates.io/crates/vegapull/0.5.0), vegapull now supports multi-threaded image downloads natively for a ***Blazingly faaaast experience 🚀***\n\n\u003e [!WARNING]\n\u003e 🚧 I am currently working on a massive rework of `vegapull` on branch [v1-rework](https://github.com/coko7/vegapull/tree/v1-rework). This rework will introduce breaking changes to the CLI and the support for multi-threaded downloads on every single pull modes. v1 will also come with a big improvement to the existing **interactive** mode as I want to make it the default mode for most users.\n\n![demo](https://github.com/user-attachments/assets/6ac89611-08b5-4caa-ba83-a696929a2e37)\n\n## Where can I find prefetched datasets?\n\nThere are currently two Git repositories with JSON data:\n- [buhbbl/punk-records](https://github.com/buhbbl/punk-records) (all languages)\n- [Coko7/vegapull-records](https://github.com/Coko7/vegapull-records) (english/japanese only)\n\n## Installation\n\nThe easiest way to install is through [crates.io](https://crates.io/crates/vegapull):\n```console\ncargo install vegapull\n```\n\nThe other option is to build from source:\n```console\ngit clone https://github.com/Coko7/vegapull.git\ncd vegapull \ncargo build --release\n```\n\n## How to use?\n\n```console\ncoko7@example:~$ vegapull -h\nDynamically fetch data for the One Piece TCG from official sites.\n\nUsage: vegapull [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  pack         Get the list of all existing packs\n  diff         Compare datasets\n  card         Get all cards within the given pack\n  image        Download all card images for a given pack\n  inter        Launch into interactive mode\n  test-config  Test what configuration files are found\n  help         Print this message or the help of the given subcommand(s)\n\nOptions:\n  -l, --language \u003cLANGUAGE\u003e\n          Language to use for the data [default: english] [possible values: chinese-hongkong, chinese-simplified, chinese-taiwan, english, english-asia, japanese, thai, french]\n  -c, --config-dir \u003cCONFIG_DIRECTORY_PATH\u003e\n          Specify path to the config directory (where locales are stored)\n  -v, --verbose...\n          Increase logging verbosity\n  -q, --quiet...\n          Decrease logging verbosity\n  -h, --help\n          Print help\n  -V, --version\n          Print version\n```\n\n## Helper Scripts\n\nYou can use the example scripts that directly use the `vegapull` CLI to download data for all existing packs:\n\n### Bash\n```console\ncoko7@example:~$ bash scripts/pull-all.sh\n// the `gum` one is more complete but requires some additional tooling to install in your shell:\ncoko7@example:~$ bash scripts/pull-all-gum.sh\n```\n\n### Go\n\n\u003e [!NOTE]\n\u003e Requires [Go](https://go.dev/) to be installed.\n\n```console\n➜ go run scripts/pull.go\n```\n\n### Python\n\nYou can find a Python helper script on this repository: https://github.com/buhbbl/punk-records\n\n## 🃏 Supported card fields\n\n```rust\n#[derive(Debug, Deserialize, Serialize)]\npub struct Card {\n    pub id: String,\n    pub name: String,\n    pub rarity: CardRarity,\n    pub category: CardCategory,\n    // pub number: i32,\n    // #[serde(skip_serializing)]\n    // pub set_id: String,\n    // pub copyright: String,\n\n    // Images\n    pub img_url: String,\n    // pub illustration: CardIllustration,\n    // pub illustrator_name: String,\n\n    // Gameplay\n    pub colors: Vec\u003cCardColor\u003e,\n    pub cost: Option\u003ci32\u003e, // Only Character, Event and Stage (called life for Leader)\n    pub attributes: Vec\u003cCardAttribute\u003e, // Only Leader and Character\n    pub power: Option\u003ci32\u003e, // Only Leader and Character\n    pub counter: Option\u003ci32\u003e, // Only Character\n\n    pub types: Vec\u003cString\u003e,\n    pub effect: String,\n    pub trigger: Option\u003cString\u003e,\n    // pub notes: String,\n}\n```\nFields have been named following the terms used in the official [rule book](https://en.onepiece-cardgame.com/pdf/rule_comprehensive.pdf)\n\n## 🐛 Issues\n\nWhen using `jp` locale to fetch data, the scraper will likely fail when handling `counter` or `colors` values for some cards.\n\n## 🗺️ Road Map\n\n- [x] Fetch card sets data\n- [x] Better error handling\n- [x] Fetch cards data for each card set (wip)\n- [x] Get card data for all card sets\n- [x] Organize and save cards data as JSON to files\n- [x] Add logs\n- [x] Support more card fields\n- [x] Download card images as well\n- [x] Make it locale-agnostic to be able to download data from Japanese and other versions\n    - [ ] Handle problems with the `jp` version (inconsistent cards data on official site)\n- [ ] Better configuration \n- [x] User friendly CLI\n- [ ] Add tests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoko7%2Fvegapull","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoko7%2Fvegapull","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoko7%2Fvegapull/lists"}