#package-manager #cache #response #local #update #client #quickly

quickfetch

A library built to create package managers quickly!

5 releases (3 breaking)

0.4.0 Oct 16, 2024
0.3.0 Jul 13, 2024
0.2.0 Jun 15, 2024
0.1.1 Jun 12, 2024
0.1.0 Jun 11, 2024

#303 in Operating systems

28 downloads per month

MIT license

320KB
661 lines

QuickFetch

A Library to Fetch well Quickly...

Developed by Mustafif Khan | MoKa Reads 2024

⚠️ WORK IN PROGRESS AND NOT READY TO BE USED FOR PRODUCTION YET

This library is built to handle multiple requests within a Client (reqwest client which will handle it all under a Client Pool) , cache the response results, and handle these asynchronously.

The goal is to be a one-stop shop for handling local package manager development to handle multiple packages with a local cache to easily update, get and remove the different responses.

Customize your Approach

We allow for different kinds of customizations on how you interact with QuickFetch, such as how you're notified, how you choose to handle the response, and how you'd like to fetch.

Notify Methods

  • NotifyMethod::Log - Logs the response to the console
  • NotifyMethod::ProgressBar- A multiprogress bar
  • NotifyMethod::Silent- No notifications

Response Methods

  • ResponseMethod::Bytes- Takes in the full response
  • ResponseMethod::Chunks- Takes in the response in chunks
  • ResponseMethod::BytesStream- Takes in the response as a stream

Fetch Methods

  • FetchMethod::Async- Fetches asynchronously
  • FetchMethod::Sync- Fetches synchronously
  • FetchMethod::Watch- Fetches by watching for modification on the config file asynchrously

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~15–29MB
~450K SLoC