Skip to main content

Overview

Standard library​

The standard library uses Reboot's capabilities to build powerful data structures and APIs for common tasks.

The current libraries are:

  • Ciphertext - Envelope encryption with a revocable wrapping key: encrypt values at rest and crypto-shred them by destroying a single key.
  • OAuth Token Manager - An encrypted, per-service store for your users' OAuth tokens, so your application can call external services on their behalf.
  • PubSub - A pub/sub implementation that enables you to subscribe and broadcast to topics.
  • Queue - A durable queue implementation that allows you to enqueue and dequeue items.
  • OrderedMap - A newer implementation of a collection / dictionary / map that may be larger than memory. We recommend using this.
  • SortedMap - An older implementation of a collection / dictionary / map that may be larger than memory, and which is efficiently mapped to Reboot's underlying storage.

Integrations​

Reboot's integrations add clean, surefire APIs to interact with third party services. Because interactions with external services are isolated as side-effects, you can confidently use an integration's API -- knowing that it will safely compose, and without worrying about whether it might partially fail or retry unsafely.

The currently supported integrations are:

  • Mailgun - Integration that supports sending email messages using the Mailgun API.

Usage​

To use a library service, you must include each library service your code uses when starting your Application. For example:

from reboot.std.collections.v1.sorted_map import sorted_map_library

async def main():
application = Application(
servicers=[ChatRoomServicer],
libraries=[sorted_map_library()],
)

await application.run()

Future libraries and integrations​

Reach out to us if there are any integrations or standard library features you want us to prioritize. Or we can help you build them, if that's more your speed!