{"id":26998,"library":"flask-restplus","title":"Flask-RESTPlus","description":"Flask-RESTPlus is a Flask extension for building REST APIs with automatic Swagger documentation. Version 0.13.0 is the final release; the project is effectively in maintenance mode and superseded by Flask-RESTx. It offers request parsing, serialization, and Swagger UI generation.","status":"maintenance","version":"0.13.0","language":"python","source_language":"en","source_url":"https://github.com/noirbizarre/flask-restplus","tags":["flask","rest","api","swagger","documentation"],"install":[{"cmd":"pip install flask-restplus==0.13.0","lang":"bash","label":"stable"}],"dependencies":[],"imports":[{"note":"Direct import from submodule not guaranteed to work, use top-level import.","wrong":"from flask_restplus.api import Api","symbol":"Api","correct":"from flask_restplus import Api"},{"note":"Fields class is accessed via top-level import, not submodule.","wrong":"from flask_restplus.fields import String","symbol":"fields","correct":"from flask_restplus import fields"}],"quickstart":{"code":"from flask import Flask\nfrom flask_restplus import Api, Resource\n\napp = Flask(__name__)\napi = Api(app)\n\n@api.route('/hello')\nclass HelloWorld(Resource):\n    def get(self):\n        return {'hello': 'world'}\n\nif __name__ == '__main__':\n    app.run(debug=True)","lang":"python","description":"Basic setup with Flask-RESTPlus exposing a simple GET endpoint."},"warnings":[{"fix":"Migrate to flask-restx: replace imports from flask_restplus to flask_restx.","message":"Flask-RESTPlus is no longer maintained. The successor is Flask-RESTx, which has breaking API changes (e.g., different decorators for Swagger).","severity":"breaking","affected_versions":">=0.13.0"},{"fix":"Define a RequestParser and use @api.expect(parser).","message":"The @api.param decorator is deprecated in later versions; use @api.expect with a parser.","severity":"deprecated","affected_versions":"<=0.13.0"},{"fix":"Always place @api.response after @api.route and the Resource class definition.","message":"Automatic Swagger documentation relies on decorator order. Applying @api.response before @api.route can break docs.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install flask-restplus' or use 'flask_restx' for maintained version.","cause":"Package not installed or misspelled.","error":"No module named 'flask_restplus'"},{"fix":"Use 'from flask_restplus import Api' (top-level) and ensure flask-restplus is installed.","cause":"Import from wrong submodule or incorrect package version.","error":"AttributeError: module 'flask_restplus' has no attribute 'Api'"},{"fix":"Return a dictionary or use api.marshal_with instead of manual JSON serialization.","cause":"Returning raw Flask response objects from resource methods.","error":"TypeError: Object of type 'Response' is not JSON serializable"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}