Popularity
4.1
Declining
Activity
0.0
Stable
5
3
2
Monthly Downloads: 13
Programming language: Haskell
License: MIT License
Tags:
Network
Latest version: v0.1.0
kraken alternatives and similar packages
Based on the "Networking" category.
Alternatively, view kraken alternatives based on common mentions on social networks and blogs.
-
snap-core
Core type definitions (Snap monad, HTTP types, etc) and utilities for web handlers. -
call-haskell-from-anything
Call Haskell functions from any programming language via serialization and dynamic libraries -
PortFusion
Haskell-powered cross-platform transport-layer distributed reverse / forward proxy & tunneling solution – currently available for all TCP protocols (RDP, VNC, HTTP(S), SSH, ...). -
glirc
Haskell IRC library and console client - Join us on libera.chat #glirc -
network-transport-zeromq
ZeroMQ transport for distributed-process (aka Cloud Haskell) -
HaskellNet
Haskell library which provides client support for POP3, SMTP, and IMAP protocols. -
ngx-export
A comprehensive web framework aimed at building custom Haskell handlers for the Nginx Web Server -
graphula
A simple interface for generating persistent data and linking its dependencies -
http-types
Generic HTTP types for Haskell (for both client and server code) -
secure-sockets
A library for making secure connections between servers. -
linklater
A Haskell library for the Slack API (including real-time messaging!)
WorkOS - The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Promo
workos.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of kraken or a related project?
README
Haskell API client library for the Kraken.io image compressor
import Data.ByteString as BS
import Network.Kraken
main :: IO ()
main = do
let config = Config "<api key>" "<api secret>"
h <- newHandle config
img <- BS.readFile "image.png"
let opt = Options (Just $ Lossy 80) (Just $ Crop 200 200) Nothing
res <- compressImage h opt img
case res of
Left e -> error $ show e
Right compressedImage -> do
BS.writeFile "smaller-image.png" compressedImage