bloodhound alternatives and similar packages
Based on the "Database" category.
Alternatively, view bloodhound alternatives based on common mentions on social networks and blogs.
erd10.0 0.0 bloodhound VS erdTranslates a plain text description of a relational database schema to a graphical entity-relationship diagram.
opaleye-sqlite9.9 8.2 bloodhound VS opaleye-sqliteAn SQL-generating DSL targeting SQLite
opaleye9.9 8.2 bloodhound VS opaleyeAn SQL-generating DSL targeting PostgreSQL
persistent-redis9.9 0.0 L3 bloodhound VS persistent-redisPersistence interface for Haskell allowing multiple storage methods.
beam9.9 0.0 bloodhound VS beamA type-safe, non-TH Haskell SQL library and ORM
hedis9.8 0.0 bloodhound VS hedisA Redis client library for Haskell.
hasql9.8 5.8 bloodhound VS hasqlThe fastest PostgreSQL libpq-based driver for Haskell
selda9.8 3.6 bloodhound VS seldaA type-safe, high-level SQL library for Haskell
acid-state9.7 0.0 bloodhound VS acid-stateAdd ACID guarantees to any serializable Haskell data structure
postgresql-simple9.7 0.0 bloodhound VS postgresql-simpleMid-level client library for accessing PostgreSQL from Haskell
squeal-postgresql9.7 5.1 bloodhound VS squeal-postgresqlSqueal, a deep embedding of SQL in Haskell
HDBC-session9.6 0.0 bloodhound VS HDBC-sessionThis repository includes a joined query generator based on typefull relational algebra, and mapping tools between SQL values list and Haskell record type.
esqueleto9.6 0.0 bloodhound VS esqueletoBare bones, type-safe EDSL for SQL queries on persistent backends.
groundhog9.6 0.0 bloodhound VS groundhogThis library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction
mongoDB9.5 1.3 bloodhound VS mongoDBMongoDB driver for Haskell
hw-kafka-client9.5 0.0 bloodhound VS hw-kafka-clientKafka client for Haskell, including auto-rebalancing consumers
HDBC9.4 0.0 bloodhound VS HDBCHaskell Database Connectivity
sqlite-simple9.4 0.0 bloodhound VS sqlite-simpleMid-level bindings for sqlite
mysql-haskell9.4 0.0 bloodhound VS mysql-haskellPure haskell mysql driver
hssqlppp-th9.3 2.2 bloodhound VS hssqlppp-thsql parser and type checker in haskell
mysql-simple9.3 0.0 bloodhound VS mysql-simpleA mid-level client library for the MySQL database, intended to be fast and easy to use.
eventful-core9.3 0.0 bloodhound VS eventful-coreEvent Sourcing library for Haskell
hssqlppp9.3 2.2 bloodhound VS hssqlpppsql parser and type checker in haskell
Neks9.2 0.0 bloodhound VS NeksA dead simple networked key/value store
postgresql-simple-migrationPostgreSQL Schema Migrations for Haskell
traildb9.2 0.0 bloodhound VS traildbHaskell bindings for TrailDB
datalog9.2 0.0 bloodhound VS datalogA pure Haskell implementation of Datalog
eventstore9.1 1.7 bloodhound VS eventstoreEventStore Haskell TCP Client
rethinkdb9.1 0.0 bloodhound VS rethinkdbRethinkDB client library for Haskell
simple-sql-parser9.1 0.0 bloodhound VS simple-sql-parserSQL parser in Haskell
vcache9.1 0.0 bloodhound VS vcachelarge, persistent, memcached values and structure sharing for Haskell
direct-sqlite9.1 0.0 L3 bloodhound VS direct-sqliteLow-level binding to SQLite3. Includes UTF8 and BLOB support.
haskelldb9.1 0.0 bloodhound VS haskelldbA library for building re-usable and composable SQL queries.
vcache-trie9.1 0.0 bloodhound VS vcache-trielarge, persistent, memcached values and structure sharing for Haskell
HDBC-odbc9.0 0.0 bloodhound VS HDBC-odbcODBC driver for HDBC
hasql-th9.0 3.6 bloodhound VS hasql-thTemplate Haskell utilities for Hasql
dbmigrations9.0 0.0 bloodhound VS dbmigrationsA library for the creation, management, and installation of schema updates for relational databases.
HDBC-postgresql8.9 0.0 bloodhound VS HDBC-postgresqlPostgreSQL driver for HDBC
mysql8.9 0.0 bloodhound VS mysqlA lightweight Haskell binding to the C mysqlclient API
hpqtypes8.9 1.3 bloodhound VS hpqtypesHaskell bindings to libpqtypes
postgresql-tx8.9 6.1 bloodhound VS postgresql-tx[Moved to: https://github.com/Simspace/postgresql-tx]
postgresql-typed8.8 0.0 bloodhound VS postgresql-typedHaskell PostgreSQL library with compile-time type inference
influxdb8.8 0.0 bloodhound VS influxdbInfluxDB client library for Haskell
ampersand8.8 9.5 bloodhound VS ampersandBuild database applications faster than anyone else, and keep your data pollution free as a bonus.
postgresql-orm8.8 0.0 bloodhound VS postgresql-ormAn Haskell ORM (Object Relational Mapping) and migrations DSL for PostgreSQL.
haskey8.8 0.0 bloodhound VS haskeyTransactional key-value store written entirely in Haskell
genders8.7 0.0 bloodhound VS gendersHaskell bindings to the libgenders library
persistent-database-urlParse DATABASE_URL into configuration types for Persistent
ron-rdt8.7 0.0 bloodhound VS ron-rdtHaskell implementation of RON and RON-RDT
cassy8.7 0.0 bloodhound VS cassyHigh level Cassandra bindings for Haskell
Access the most powerful time series database as a service
* 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 bloodhound or a related project?
Elasticsearch client and query DSL for Haskell
Search doesn't have to be hard. Let the dog do it.
"Bloodhound makes Elasticsearch almost tolerable!" - Almost-gruntled user
"ES is a nightmare but Bloodhound at least makes it tolerable." - Same user, later opinion.
As of version 0.13.0.0, Bloodhound has 2 separate module trees for Elasticsearch versions 1 and 5. Import the module that is appropriate for your use case. If you would like to add support for another major version, open a ticket expressing your intend and follow the pattern used for other versions. We weighed the idea of sharing code between versions but it just got too messy, especially considering the instability of the Elasticsearch API. We switched to a model which would allow the persons responsible for a particular protocol version to maintain that version while avoiding conflict with other versions.
See our TravisCI for a listing of Elasticsearch version we test against.
Bloodhound is stable for production use. I will strive to avoid breaking API compatibility from here on forward, but dramatic features like a type-safe, fully integrated mapping API may require breaking things in the future.
The TravisCI tests are run using Stack. You should use Stack instead of
cabal to build and test Bloodhound to avoid compatibility problems. You will also need to have an Elasticsearch instance running at
localhost:9200 in order to execute some of the tests. See the "Version compatibility" section above for a list of Elasticsearch versions that are officially validated against in TravisCI.
Steps to run the tests locally:
- Dig through the past releases section of the Elasticsearch download page and install the desired Elasticsearch versions.
- Install Stack
- In your local Bloodhound directory, run
stack setup && stack build
- Start the desired version of Elasticsearch at
localhost:9200, which should be the default.
stack testin your local Bloodhound directory.
- The unit tests will pass if you re-execute
stack test. If you want to start with a clean slate, stop your Elasticsearch instance, delete the
data/folder in the Elasticsearch installation, restart Elasticsearch, and re-run
Hackage page and Haddock documentation
It's not using Bloodhound, but if you need an introduction to or overview of Elasticsearch and how to use it, you can use this screencast.
See the [examples](htts://github.com/bitemyapp/bloodhound/tree/master/examples) directory for example code.
- Chris Allen
- Liam Atkinson
- Christopher Guiney
- Curtis Carter
- Michael Xavier
- Bob Long
- Maximilian Tagher
- Anna Kopp
- Matvey B. Aksenov
- Jan-Philip Loos
Possible future functionality
Beginning here: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-first-query.html
Function Score Query
Node discovery and failover
Might require TCP support.
Support for TCP access to Elasticsearch
Pretend to be a transport client?
Bulk cluster-join merge
Might require making a lucene index on disk with the appropriate format.
Geohash cell filter
Script based sorting
Collapsing redundantly nested and/or structures
The Seminearring instance, if deeply nested can possibly produce nested structure that is redundant. Depending on how this affects ES performance, reducing this structure might be valuable.
Runtime checking for cycles in data structures
check for n > 1 occurrences in DFS:
Photo from HA! Designs: https://www.flickr.com/photos/hadesigns/