evadne

evadne

Packmatic — On-the-fly Zip Generation

Packmatic generates Zip Streams by aggregating File or URL Sources.

Hex / GitHub

By using a Stream, the caller can compose it within the confines of Plug’s request/response model and serve the content of the resultant Zip acrhive in a streaming fashion. This allows fast delivery of a Zip archive consisting of many disparate parts hosted in different places, without having to first spool all of them to disk. The generated archive uses Zip64, and works with individual files that are larger than 4GB.

The Documentation contains a more detailed explanation of why it was built.

Most Liked

evadne

evadne

Packmatic 2.0.0 is out with some Zip64 changes and compatibility with the latest Elixir and Erlang/OTP versions. We have also changed the bundled URL source to use the excellent Req library. We have run this in production for some time and will continue to make changes as required. Thank-you to everybody who reported problems and contributed patches.

Hex Diff

Changed

  • Upgraded targeted Elixir and OTP versions

  • Revised URL Source

    • Changed iBrowse/HTTPotion to Req/Finch/Mint

    • Added dedicated Buffer capability

  • Added support for Extended Attributes

    • Added UID/GID information

    • Added support for default and custom File Modes

  • Added support for Compression Methods

    • Added support for STORE method

    • Cleaned up support for DEFLATE method

  • Enhanced Zip64 Compatibility

    • Fixed offset not always emitted in Zip64 format

    • Added offset in Zip64 Extended Information extra field

  • Enhanced macOS Compatibility

    • Fixed journaling to list all files in the order they were encoded
evadne

evadne

Packmatic 1.1.1 has been released. Now it is possible to construct your archive with streams…

Added

  • Added Packmatic.Source.Stream.
    • Added support for Streams that output IO Lists.
  • Updated Packmatic.Source.
    • Added ability for any Source to use any data type as its Source State.
    • Added ability for any Source to return an updated Source State with new data.

Changed

  • Revised Packmatic.Source.Dynamic.
    • Removed custom resolver; any entry notation now accepted.
  • Updated development & test dependencies.
evadne

evadne

Hi all, Packmatic 1.2.0 is out, replacing ibrowse with hackney, and tested against more modern OTP versions.

Where Next?

Popular in Announcing Top

mischov
import Meeseeks.CSS html = HTTPoison.get!("https://news.ycombinator.com/").body for story <- Meeseeks.all(html, css("tr.athing")) do...
New
bryanjos
Hi, I wanted share a small library we at Revelry Labs made for rendering react components from the server side. There are instructions fo...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
aditya7iyengar
Rummage.Ecto and Rummage.Phoenix provide ways to perform Searching, Sorting and Pagination over Ecto queries and Phoenix collections. Fo...
New
Azolo
Hey everyone, I just released WebSockex which is a Elixir WebSocket client. WebSockex strives to work as a OTP special process, be RFC6...
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 13966 106
New
scohen
Lexical Lexical is a next-generation language server for the Elixir programming language. Features Context aware code completion As-you...
New
anshuman23
Hello all, I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used f...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
pkrawat1
Hey guyz We at @aviabird are working on a payment library in elixir/phoenix. We are targeting March 2018 to add 56 Gateways to it. Have...
New

Other popular topics Top

Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41539 114
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New

We're in Beta

About us Mission Statement