Popularity
1.7
Declining
Activity
0.0
Stable
8
2
2
Monthly Downloads: 2
Programming language: Elixir
License: BSD 3-clause "New" or "Revised" License
Tags:
Queue
heapq alternatives and similar packages
Based on the "Queue" category.
Alternatively, view heapq alternatives based on common mentions on social networks and blogs.
-
kaffe
An opinionated Elixir wrapper around brod, the Erlang Kafka client, that supports encrypted connections to Heroku Kafka out of the box. -
task_bunny
TaskBunny is a background processing application written in Elixir and uses RabbitMQ as a messaging backend -
hulaaki
DISCONTINUED. DEPRECATED : An Elixir library (driver) for clients communicating with MQTT brokers(via the MQTT 3.1.1 protocol). -
adap
Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules. -
exdisque
Elixir client for Disque (https://github.com/antirez/disque), an in-memory, distributed job queue.
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
Promo
www.influxdata.com
Do you think we are missing an alternative of heapq or a related project?
Popular Comparisons
README
HeapQueue
A Heap-based priority queue implementation in Elixir. Ported from Michael Truog's pqueue2.
Original copyright:
BSD LICENSE
Copyright (c) 2011, Michael Truog <mjtruog at gmail dot com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* All advertising materials mentioning features or use of this
software must display the following acknowledgment:
This product includes software developed by Michael Truog
* The name of the author may not be used to endorse or promote
products derived from this software without specific prior
written permission
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Usage
# Create
q = HeapQueue.new()
# Push
q = HeapQueue.push(
q,
1, # priority
"foo" # value
)
# Pop
{{:value, priority, value}, newq} = HeapQueue.pop(q)
{:empty, _} = HeapQueue.pop(newq)
# Convert to list
HeapQueue.to_list(q)
# Misc.
HeapQueue.size(q)
HeapQueue.empty?(q)
HeapQueue.queue?(q)
*Note that all licence references and agreements mentioned in the heapq README section above
are relevant to that project's source code only.