{"id":23077987,"url":"https://github.com/volumegraphics/lfspull","last_synced_at":"2026-01-16T19:40:16.346Z","repository":{"id":61800510,"uuid":"554691744","full_name":"VolumeGraphics/lfspull","owner":"VolumeGraphics","description":"Simple command line tool to pull lfs files with token auth","archived":false,"fork":false,"pushed_at":"2024-09-06T11:27:19.000Z","size":76,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-03T08:37:34.332Z","etag":null,"topics":["git","lfs","rust","token-based-authentication"],"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/VolumeGraphics.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}},"created_at":"2022-10-20T08:21:46.000Z","updated_at":"2024-10-08T05:07:51.000Z","dependencies_parsed_at":"2024-08-21T09:10:12.184Z","dependency_job_id":null,"html_url":"https://github.com/VolumeGraphics/lfspull","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":0.48,"last_synced_commit":"4a17d0e437226dd392fd40b99fb9e902e20e99cf"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/VolumeGraphics/lfspull","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolumeGraphics%2Flfspull","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolumeGraphics%2Flfspull/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolumeGraphics%2Flfspull/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolumeGraphics%2Flfspull/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VolumeGraphics","download_url":"https://codeload.github.com/VolumeGraphics/lfspull/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolumeGraphics%2Flfspull/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265334122,"owners_count":23748951,"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":["git","lfs","rust","token-based-authentication"],"created_at":"2024-12-16T10:45:58.630Z","updated_at":"2026-01-16T19:40:16.335Z","avatar_url":"https://github.com/VolumeGraphics.png","language":"Rust","readme":"# LFSPull - a simple pulling tool for git-lfs\n[![Crates.io](https://img.shields.io/crates/d/lfspull?style=flat)](https://crates.io/crates/lfspull)\n[![Documentation](https://docs.rs/lfspull/badge.svg)](https://docs.rs/lfspull)\n![CI](https://github.com/VolumeGraphics/lfspull/actions/workflows/rust.yml/badge.svg?branch=main \"CI\")\n[![Coverage Status](https://coveralls.io/repos/github/VolumeGraphics/lfspull/badge.svg?branch=main)](https://coveralls.io/github/VolumeGraphics/lfspull?branch=main)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat)](LICENSE)\n\n## Features\nLFSPull allows you to pull files from git-lfs. \nIt currently supports:\n- Token-auth only\n- Pulling single files\n- Globbing patterns and pulling all matches\n- Cache-compatible with the original git-lfs\n- Hash verification of the downloaded file\n\n## CLI guide\n\nThe CLI is pretty straight forward.\n- `-f / --file-to-pull [FILE]` single file download mode\n  - e.g. `lfspull -f my_file.tar.gz` downloads the file\n- '-r / --recurse-pattern [PATTERN]' downloads everything that matches the pattern\n  - e.g. 'lfspull -r \"*.tgz\"' downloads all .tgz files in this folder\n  - e.g. 'lfspull -r \"**/*.tgz\"' downloads all .tgz files this folder and all subfolders\n- '-b / --random-bytes [RANDOM_BYTES]' for temp file name. See https://docs.rs/tempfile/latest/tempfile/struct.Builder.html#method.rand_bytes\n- '-a / --access-token [TOKEN]' sets the token - can also be set via $ACCESS_TOKEN from env\n- '-m / --max-retry [NUMBER]' max number of download attempts if fail\n- '-t / --timeout [NUMBER]' set timeout in seconds for git lfs pull request\n  - When None given, the timeout is calculated automatically based on lfs object size\n  - When 0 given, there is no timeout\n- '-v' for verbose mode\n\n## Library API guide\n\nPlease see our docs.rs for example code and the gherkin tests for how to check the origin of the file.\n\n## Changelog\n\n### 0.4.2\n\n- create temp file in the cached folder instead of working directory\n- detect whether cached file and repo are in the same drive/device. If yes, use hard link, if not, file will be copied\n\n### 0.4.1\n\n- add rust-toolchain 1.88\n- read git config for lfs storage path\n- add timeout\n\n### 0.4.0\n\n- upgrade a few dependencies\n- add retry attempt when failing fetching from git\n\n### 0.3.1\n\n- fix bug when trying to rename temp file to cache file, but cache file is already created and locked by other parallel job\n\n### 0.3.0\n\n- use stream_bytes to download object directly into a temporary files and avoid 'memory allocation of x bytes failed'","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolumegraphics%2Flfspull","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvolumegraphics%2Flfspull","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolumegraphics%2Flfspull/lists"}