explaingit

yorukot/xtractr

Analysis updated 2026-07-05 · repo last pushed 2024-05-07

Audience · developerComplexity · 2/5DormantSetup · easy

TLDR

A Go library that lets developers extract many archive formats like ZIP, RAR, and 7-Zip through one simple interface, with support for on-demand or queued extraction.

Mindmap

mindmap
  root((repo))
    What it does
      Extracts archives
      Supports many formats
      Password protected files
    How it works
      Single file extraction
      Queue based extraction
      Wraps existing libraries
    Tech stack
      Go
      No Cgo dependency
      Cross platform
    Use cases
      File sharing services
      Backup tools
      Media managers
    Audience
      Go developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a file-sharing service that automatically unpacks uploaded ZIP and RAR archives.

USE CASE 2

Create a backup tool that extracts downloaded compressed files for restoration.

USE CASE 3

Develop a media manager that downloads and organizes content stored in various archive formats.

What is it built with?

Go

How does it compare?

yorukot/xtractr0xhassaan/nn-from-scratch0xzgbot/hermes-comfyui-skills
Stars00
LanguagePython
Last pushed2024-05-07
MaintenanceDormant
Setup difficultyeasymoderateeasy
Complexity2/54/51/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Just run go get to add the library to your Go project, no external dependencies required.

In plain English

xtractr is a Go library that helps developers extract compressed archive files like ZIP, RAR, 7-Zip, and others. Instead of writing separate logic to handle each different archive format, a developer can use this tool to decompress and unpack many types of files through one consistent interface. It can also handle password-protected RAR and 7-Zip archives. The library offers two ways to work. A developer can extract a single file on demand by simply pointing the tool at an archive and specifying where to put the contents. Alternatively, they can set up a queue that processes multiple extractions in order, which is useful when an application receives many archive files at once. The queue processes items one at a time by default, and it notifies the application when each extraction starts and finishes. This tool would be useful for developers building applications that receive or download compressed files and need to unpack them automatically. For example, a file-sharing service, a backup tool, or a media manager that downloads and organizes content could benefit from this. Rather than dealing with the details of each archive format individually, the developer gets a single straightforward way to handle them all. A notable design choice is that the library does not implement the decompression logic itself. Instead, it acts as a wrapper that coordinates several existing specialized libraries, one per format. It also avoids requiring Cgo, a tool that links Go code with C code, which means the library runs cleanly on Linux, Windows, FreeBSD, and macOS across both 32-bit and 64-bit systems without extra dependencies or compilation headaches.

Copy-paste prompts

Prompt 1
Write a Go program that uses the xtractr library to extract a password-protected 7-Zip archive to a specific output folder.
Prompt 2
Using xtractr in Go, set up an extraction queue that processes multiple ZIP files and logs a message when each extraction starts and completes.
Prompt 3
Show me a Go code example using xtractr to extract a single RAR file on demand, including error handling for missing files.

Frequently asked questions

What is xtractr?

A Go library that lets developers extract many archive formats like ZIP, RAR, and 7-Zip through one simple interface, with support for on-demand or queued extraction.

Is xtractr actively maintained?

Dormant — no commits in 2+ years (last push 2024-05-07).

How hard is xtractr to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is xtractr for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.