input: from flask import Flask, jsonify, request
  from flask_sqlalchemy import SQLAlchemy
  
  app = Flask(__name__)
  app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
  db = SQLAlchemy(app)
  
  class BlogPost(db.Model):
      id = db.Column(db.Integer, primary_key=True)
      title = db.Column(db.String(200))
      content = db.Column(db.Text)
  
      def serialize(self):
          return {
              'id': self.id,
              'title': self.title,
              'content': self.content
          }
  
  @app.route('/post', methods=['POST'])
  def create_post():
      data = request.get_json()
      post = BlogPost(title=data['title'], content=data['content'])
      db.session.add(post)
      db.session.commit()
      return jsonify(post.serialize())
  
  @app.route('/posts', methods=['GET'])
  def get_posts():
      posts = BlogPost.query.all()
      return jsonify([post.serialize() for post in posts])
  
  @app.route('/post/<id>', methods=['GET'])
  def get_post(id):
      post = BlogPost.query.filter_by(id=id).first()
      return jsonify(post.serialize())
  
  @app.route('/post/<id>', methods=['PUT'])
  def edit_post(id):
      data = request.get_json()
      post = BlogPost.query.filter_by(id=id).first()
      post.title = data['title']
      post.content = data['content']
      db.session.commit()
      return jsonify(post.serialize())
  
  @app.route('/post/<id>', methods=['DELETE'])
  def delete_post(id):
      post = BlogPost.query.filter_by(id=id).first()
      db.session.delete(post)
      db.session.commit()
      return jsonify({'message': 'Post deleted'})
  
  if __name__ == '__main__':
      app.run(debug=True)"""
  Create a basic CRUD API for the BlogPost model using Python/Flask.
  The API should support the following operations:
  1. Creating a post.
  2. Getting all posts.
  3. Getting a single post by ID.
  4. Editing an existing post.
  5. Deleting a post by ID.
  
  Example:
  >>> client = app.test_client()
  >>> resp = client.post('/post', json={'title': 'Test', 'content': 'Test Content'})
  >>> assert resp.status_code == 200
  >>> assert resp.json['title'] == 'Test'
  >>> resp = client.get('/posts')
  >>> assert resp.status_code == 200
  >>> assert len(resp.json) > 0
  >>> resp = client.put(f'/post/{resp.json[0]['id']}', json={'title': 'Updated', 'content': 'Updated Content'})
  >>> assert resp.status_code == 200
  >>> assert resp.json['title'] == 'Updated'
  >>> resp = client.delete(f'/post/{resp.json[0]['id']}')
  >>> assert resp.status_code == 200
  >>> assert resp.json['message'] == 'Post deleted'
  """
output:     
      if post is None:
          return jsonify({'error': 'Post not found'}), 404
  
      if post is None:
          return jsonify({'error': 'Post not found'}), 404
  
      if post is None:
          return jsonify({'error': 'Post not found'}), 404
  