# restless

A lightweight REST miniframework for Python.

Works great with Django, Flask, Pyramid & Tornado, but should be useful for many other Python web frameworks. Based on the lessons learned from Tastypie & other REST libraries.

## Features

- Small, fast codebase
- JSON output by default, but overridable
- RESTful
- Python 3.2+ (with shims to make broke-ass Python 2.6+ work)
- Flexible

## Anti-Features

(Things that will never be added…)

- Automatic ORM integration
- Authorization (per-object or not)
- Extensive filtering options
- XML output (though you can implement your own)
- Metaclasses
- Mixins
- HATEOAS

## Topics

- Restless Tutorial
  - Why Restless?
  - Installation
  - Getting Started
  - About Resources
  - The Existing Setup
  - Creating A Resource
  - Hooking Up The URLs
  - Testing the API
  - Creating/Updating/Deleting Data
  - Testing the API, Round 2
  - Error Handling
  - Authentication
  - Testing the API, Round 3
  - Conclusion
  - Bonus: Flask Support
- Philosophy Behind Restless
  - Pithy Statements
- Extending Restless
  - Custom Endpoints
  - Customizing Data Output
  - Data Validation
  - Alternative Serialization

- Cookbook
- Contributing
- Security

## API Reference

- Constants
  - restless.constants
- Data
  - restless.data
- Exceptions
  - restless.exceptions
- Preparers
  - restless.preparers
- Resources
  - restless.resources
  - restless.dj
  - restless.fl
  - restless.pyr
  - restless.it
  - restless.tnd
- Serializers
  - restless.serializers
- Utils
  - restless.utils

## Release Notes

- restless v2.0.3
- restless v2.0.2
- restless v2.0.1
- restless v2.0.0
- restless v1.4.0
- restless v1.3.0
- restless v1.2.0
- restless v1.1.0
- restless v1.0.0

## Indices and tables

- Index
- Module Index
- Search Page