input: from typing import Dict
  
  def create_rest_api() -> Dict:
      """ Create a basic REST API with authentication and endpoints in Python. The API includes JWT authentication, an endpoint to get a specific item, and an endpoint to get all items.
      >>> create_rest_api()
      {'app': <Flask 'main'>, 'api': <Api>, 'items': [{'name': 'item1', 'price': 12.0}]}
      """
output:     
      from flask import Flask, jsonify, request
      from flask_restful import Api, Resource
      from flask_jwt_extended import JWTManager, create_access_token, jwt_required, get_jwt_identity
  
      app = Flask(__name__)
      api = Api(app)
      app.config['JWT_SECRET_KEY'] = 'super-secret'
      jwt = JWTManager(app)
  
      items = [{'name': 'item1', 'price': 12.0}]
  
      class Item(Resource):
          @jwt_required()
          def get(self, name):
              item = next(filter(lambda x: x['name'] == name, items), None)
              return {'item': item}, 200 if item else 404
  
      class ItemList(Resource):
          @jwt_required()
          def get(self):
              return {'items': items}
  
      api.add_resource(Item, '/item/<string:name>')
      api.add_resource(ItemList, '/items')
  
      @app.route('/login', methods=['POST'])
      def login():
          if request.is_json:
              username = request.json.get('username')
              password = request.json.get('password')
              if username == 'user' and password == 'password':
                  access_token = create_access_token(identity=username)
                  return jsonify(access_token=access_token), 200
          return jsonify({"msg": "Bad username or password"}), 401
  
      return {'app': app, 'api': api, 'items': items}
  