8000 Releases ยท AllDotPy/Forklet ยท GitHub
[go: up one dir, main page]

Skip to content

Releases: AllDotPy/Forklet

๐ŸŽ‰๐Ÿš€ Forklet v0.1.2 is out!

30 Nov 15:43
b5a6c86

Choose a tag to compare

Weโ€™re thrilled to announce the release of Forklet v0.1.2, a major step forward in stability, testing coverage, developer experience, and overall project robustness.
This update brings a huge wave of improvements, thanks to an amazing global community of contributors!


๐Ÿ”ฅ Whatโ€™s New in v0.1.2

Here are all the changes included in this release:

โœ… Testing & Reliability

  • โœ”๏ธ Added basic unit tests for the error handler (#22) โ€” by @debangshu919
  • โœ”๏ธ Added comprehensive unit tests for the RetryManager โ€” by @awanishmani26
  • โœ”๏ธ Added unit tests for the RateLimiter class โ€” by @ArjunDixit1
  • โœ”๏ธ Added 6 scenario-based tests for the Filter Engine โ€” by @bshmanair
  • โœ”๏ธ Added unit tests for the Python API of GitHubDownloader โ€” by @Tamjid17
  • โœ”๏ธ Added Orchestrator unit tests โ€” by @ArjunDixit1

๐Ÿ”ง Refactoring & Improvements

  • ๐Ÿ”„ Split models into clearer, domain-specific modules (GitHub, Download, Logging, etc.) โ€” by @ADITYATIWARI342005
  • ๐Ÿ”„ Merged duplicate DownloadConfig models into one unified model (#35) โ€” by @PriyankaGowda2005
  • ๐Ÿ”„ General refactoring & code cleanup, including fixing coroutine attribute errors โ€” by @Einswilli
  • ๐Ÿ”„ Removed unused dataclass โ€” by @iw4p
  • ๐Ÿ”„ Fixed compatibility for Python 3.8+ by replacing deprecated typing syntax โ€” by @iw4p

โš™๏ธ Features & Enhancements

  • ๐Ÿ”ฅ Added Pause / Resume / Cancel download control (#53) โ€” by @Kcodess2807
  • ๐Ÿ”ฅ Added verbose mode support to the Python API โ€” by @Kcodess2807
  • ๐Ÿงช Added dry-run mode to both the CLI (--dry-run) and API โ€” by @sangampaudel530
  • ๐Ÿ›  Enhanced DownloadOrchestrator control methods (#37) โ€” by @PriyankaGowda2005

๐Ÿ› Bug Fixes

  • ๐Ÿฉน Fixed CLI issue: --no-progress now correctly disables/enables tqdm progress bars (#43) โ€” by @PriyankaGowda2005

๐Ÿ’™ Community & Project Metadata

  • ๐Ÿ“„ Added FUNDING.yml โ€” by @Einswilli
  • ๐Ÿ”„ Updated FUNDING.yml (improved sponsorship metadata) โ€” by @Einswilli

๐ŸŒŸ Welcome to Our New Contributors!

Forklet v0.1.2 has been a truly community-driven release.
Massive thanks to these contributors making their first-ever PR to Forklet:

Thank you all for your hard work, ideas, tests, refactors, and improvements.
Welcome to the Forklet family ๐Ÿ’™๐Ÿ™


๐Ÿš€ Full Changelog

๐Ÿ‘‰ v0.1.1...v0.1.2


๐Ÿค Weโ€™d love your help!

Forklet is growing fast, and weโ€™re committed to making it the most reliable and flexible tool for selective GitHub repository downloads โ€” via CLI and Python API.

If you want to:

  • write simple or advanced tests
  • build new features
  • improve performance
  • extend async support
  • refine UX and CLI ergonomics
  • help design next big steps

โ€ฆthere is a place for you in the project! ๐ŸŒโœจ

๐Ÿ”— Start here โ†’ https://github.com/AllDotPy/Forklet/issues
โญ Star the project
๐Ÿ—ฃ๏ธ Share it with other developers
๐ŸŽ‰ Join us for future releases

Letโ€™s keep building Forklet together โ€” the best is yet to come! ๐Ÿš€๐Ÿ’™

๐Ÿš€ Forklet v0.1.1 is here!

27 Sep 11:36
9f7e667

Choose a tag to compare

This release makes Forklet more powerful, reliable, and ready for real-world pipelines.

โœจ Highlights

  • ๐Ÿ› ๏ธ Fix: --target-paths now works consistently (#15)
  • ๐Ÿ“ New: Shared logger with --verbose support for better debugging
  • โšก Async support โ€“ paving the way for faster downloads and integrations
  • ๐Ÿ“ฆ PyPI configs added โ†’ pip install forklet is now smoother than ever
  • ๐Ÿ“– Improved README for easier onboarding

๐Ÿ‘ฅ New Contributor

A huge thank you to @jondominguezv ๐ŸŽ‰ for their first contribution!

๐Ÿ”— Full changelog: here

๐Ÿ‘‰ Forklet helps you:

  • Download GitHub repos, files, or folders with filters
  • Integrate directly into CI/CD pipelines
  • Use via CLI or Python API

โญ Give us a star & try it out today: https://github.com/AllDotPy/Forklet

๐Ÿš€ Forklet v0.1.0 โ€“ First Release!

23 Sep 15:03
db483f0

Choose a tag to compare

Weโ€™re excited to announce the first official release of Forklet ๐ŸŽ‰
A CLI + Python API tool that makes it simple to access and manage GitHub repositories inside your CI/CD pipelines, DevSecOps workflows, and automation scripts.


๐Ÿ”ฅ Why Forklet?

๐Ÿ‘‰ Because cloning an entire repo isnโ€™t always the smartest choice.
With Forklet, you can:

  • Download only the files you need (filter by extension, size, patterns).
  • Fetch specific branches, directories, or files without hassle.
  • Work with public or private repos (auth supported).
  • Seamlessly plug into CI/CD pipelines to fetch artifacts, scan code, or prepare builds.

Forklet was originally built to power Valkyrie, our security scanner (detecting secrets, vulnerable dependencies, IAM misconfigurationsโ€ฆ) used in pull requests before merges.
But itโ€™s designed to be generic, reusable, and DevOps-friendly.


Installation

# with pip
pip install forklet

# Or with uv 
uv add forklet

โšก Quick CLI examples

# Download an entire repo
forklet download octocat/hello-world ./downloads  

# Download a specific branch
forklet download octocat/hello-world ./downloads --ref develop  

# Filter by extension and max size
forklet download octocat/hello-world ./downloads \
  --include "*.py" \
  --exclude "test_*" \
  --max-size 1000000  

# Download with authentication
forklet download private-owner/private-repo ./downloads --token $GITHUB_TOKEN  

# Show repo information
forklet info octocat/hello-world  

โš™๏ธ Quick Python API example

from forklet import GitHubDownloader
from pathlib import Path

downloader = GitHubDownloader(auth_token="your_github_token")

# Download an entire repo
result = downloader.download(
    owner="octocat",
    repo="hello-world",
    destination=Path("./downloads"),
    ref="main",
    include_patterns=["*.py", "*.md"],
    exclude_patterns=["test_*"]
)

print(f"Downloaded {len(result.downloaded_files)} files")
print(f"Total size: {result.progress.downloaded_bytes} bytes")

โœจ Highlights of v0.1.0

  • โœ… CLI + Python API ready to use
  • โšก Thread-safe rate limiter for GitHub API
  • ๐Ÿ”„ Robust retry manager for critical requests
  • ๐Ÿ“ฆ Download orchestrator for artifacts
  • ๐Ÿ” Authentication support for private repos
  • โš™๏ธ Centralized settings & config

โญ Give it a star, try it out, and join the journey โ†’ Forklet on GitHub

0