SpanServer

http://getdrawings.com/vectors/quill-vector-1.png

What Can it do for Me?

spanserver is an extension of responder for services that focus on sending and receiving structured data.

Spanserver adds the following features:

  • Uniform method for raising and communicating errors through response headers.

  • In-line data validation, serialization, and deserialization via marshmallow schemas.

  • Handles mongoDB BSON data natively in http bodies.

  • Automatic generation of openapi v3 docs with even more minimal overhead than native responder.

  • Uniform way of handling paged endpoints through request params and response headers.

  • Automatic decoding of url path parameters through type-hinting.

  • Adds type hinting to all methods and objects for better code-completion when using an IDE.

  • Part of a larger family of libraries that handle http clients, REST services, and consumer services.

The Spanreed Family

Spanreed is a collection of libraries designed to work together and offer a cohesive set of solutions for writing a microservice-based backend. Spanreed libraries all understand a core set of conventions for common problems like paging, errors, and data validation / loading.

To learn more, see Spanreed’s home-page

Background Reading

Before starting, it is recommended you familiarize yourself with the following libraries:

  • responder - the library spanserver is based on.

  • marshmallow - data serialization / deserialization library.

This library requires python 3.7++