pool-conduit alternatives and similar packages
Based on the "Conduit" category.
Alternatively, view pool-conduit alternatives based on common mentions on social networks and blogs.
-
http-conduit
An HTTP client engine, intended as a base layer for more user-friendly packages. -
conduit-combinators
Type classes for mapping, folding, and traversing monomorphic containers -
twitter-conduit
Twitter API package for Haskell, including enumerator interfaces and Streaming API supports. -
csv-conduit
Flexible, fast and constant-space CSV library for Haskell using conduits -
hreq-conduit
A type dependent highlevel HTTP client library inspired by servant-client. -
simple-conduit
A simple streaming I/O library based on monadic folds -
crypto-conduit
Conduit interface for cryptographic operations (from crypto-api). -
http-conduit-browser
Browser interface to the http-conduit package -
imagesize-conduit
Conduit sink to efficiently determine image dimensions -
fsnotify-conduit
Get filesystem notifications as a stream of events -
udp-conduit
[DONE] Simple fire-and-forget style conduit parts (sources/sinks) for UDP traffic -
cryptohash-conduit
Simple conduit function for cryptohash -
hw-conduit-merges
Additional merge / join combinators for Conduit -
conduit-concurrent-map
Concurrent, order-preserving mapping Conduit for Haskell -
conduit-tokenize-attoparsec
Conduits for tokenizing streams. -
conduit-network-stream
A base layer for network protocols with Conduits -
ascii85-conduit
Conduit for encoding ByteString into Ascii85
Static code analysis for 29 languages.
Do you think we are missing an alternative of pool-conduit or a related project?
README
Learn more: http://www.yesodweb.com/book/persistent
A Haskell datastore. Datastores are often referred to as "ORM"s. While 'O' traditionally means object, the concept can be generalized as:
avoidance of boilerplate serialization
In addition , the ORM concept is a way to make what is usually an un-typed driver type-safe. In dynamic languages rather than compile time errors, safety comes from creating specific dynamic errors rather than sending nonsense queries to the database.
Persistent's goal is to catch every possible error at compile-time, and it comes close to that.
Backend agnostic
Supports PostgreSql, Sqlite, MongoDB, Redis, ZooKeeper, and many other databases via persistent-odbc. The MySQL backend is in need of a maintainer. Currently there are issues with migrations and support for composite and primary keys is lacking.
Persistent is designed to be adaptable to any datastore, and to allow multiple datastores to be used simultaneously. The serialization layer should be adaptable to any datastore.
Providing a universal query layer will always be limiting. A major limitation for SQL databases is that the persistent library does not directly provide joins. However, you can use Esqueleto with Persistent's serialization to write type-safe SQL queries. Key-value stores such as Redis can be used with persistent, but only fill out the key-value portion of the API (PersistStore) rather than the query portion (PersistQuery).
Persistent provides several hooks to create backend-specific functionality. One can always fall back to using the raw database driver or other lower-level or less type-safe libraries and can utilize Persistent for un-serializing the database response to a Haskell record.
Install from source
Clone the repo and run stack build
to build all targets. Persistent
supports many backends. If you have only some of these installed the
[development doc](development.md) shows how to build against a subset of
targets.
Development
For more information on how to hack ont he persistent
set of libraries, see
the [development.md
](development.md) file.