The popular Web API framework for Django is looking to move forward with a major new release, and to do so it is turning to Kickstarter.
“Since its initial release in 2011, Django REST framework has been developed almost exclusively in personal time,” wrote Tom Christie, author of the framework, on the project’s Kickstarter page. “In that time, we’ve closed over 1,500 tickets—roughly one per day, every single day, for three years. Professional, polished, well-documented software projects take a lot of time to build. Given family and work commitments, building a major new release of the project in my personal time is not a feasible option.”
The Django REST framework is used for its Web-browsable API, authentication policies, serialization that supports ORM and non-ORM data sources, customization, and extensive documentation.
Currently, the Kickstarter project is looking for £4,000 (US$6,842) to address what Christie said is the most pressing need for the framework: a major overhaul of the serializers.
“This is currently the most awkward and complicated part of the project, and it is in need of serious improvement,” Christie wrote.
A redesign of the serializers would provide “a much cleaner, simpler API and implementation,” “support and documentation for writing completely custom serializer implementations, to provide for custom validation or output styles and non-ORM data sources,” “better support for validating and restoring complex nested structures,” “better support for using and styling serializers as regular HTML forms,” and “better documentation around using views as both Web pages and API endpoints,” according to Christie.
Christie has also set up stretch goals of £8,000 ($13,684) and £12,000 ($20,526) that will be used to address some of the shortcomings in the framework’s current design, add an alternative admin-style interface, make search and filtering controls available in the browsable API, add alternative API pagination styles, provide documentation around API versioning, and improve the quality and maintainability of the project.