)]}'
{
  "commit": "4b61547e0f79011b1d76e24a7a9745c1d3d6e36f",
  "tree": "e8b07b9f1654546792ceeb2ae753e29cc0ca8272",
  "parents": [
    "9ee23b86c2024fdf658b03600592a9b9b8ca81ee"
  ],
  "author": {
    "name": "Yunze Xu",
    "email": "xyzinfernity@163.com",
    "time": "Thu Jan 04 11:50:15 2024 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jan 04 11:50:15 2024 +0800"
  },
  "message": "[asyncio] Support creating producer and sending messages (#189)\n\nMaster issue: https://github.com/apache/pulsar-client-python/issues/55\r\n\r\n### Modifications\r\n\r\nIntroduce a `pulsar.asyncio` module that includes the asynchronous APIs\r\nto work with Python asyncio module.\r\n\r\nExample:\r\n\r\n```python\r\nasync def main():\r\n    client \u003d Client(\u0027pulsar://localhost:6650\u0027)\r\n    try:\r\n        producer \u003d await client.create_producer(\u0027topic\u0027)\r\n        msg_id \u003d await producer.send(\u0027msg\u0027.encode())\r\n        await producer.close()\r\n    except PulsarException as e:\r\n        error \u003d e.error()\r\n    await client.close()\r\n```\r\n\r\nThe creation of `Client` reuses the same keyword arguments from\r\n`pulsar.Client` but the options for creating producer and sending\r\nmessages are not added yet.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a44a0dba07ec81475acf86cec541e677bc4a1417",
      "old_mode": 33188,
      "old_path": "pulsar/__init__.py",
      "new_id": "29bb03419f454a0aadf882489d2e857a89043238",
      "new_mode": 33188,
      "new_path": "pulsar/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "445d47711fbb8d5d8128589bd03721c3cf934730",
      "new_mode": 33188,
      "new_path": "pulsar/asyncio.py"
    },
    {
      "type": "modify",
      "old_id": "626ff9fc53fc3c64a01330e2b6c6bdccad19bc91",
      "old_mode": 33188,
      "old_path": "src/client.cc",
      "new_id": "b25c63ab9711fe9fc2dff796ea0d5d0ebfdd82e0",
      "new_mode": 33188,
      "new_path": "src/client.cc"
    },
    {
      "type": "modify",
      "old_id": "702718599ab182aa0379c8d597a9a2c51f682bdb",
      "old_mode": 33188,
      "old_path": "src/producer.cc",
      "new_id": "9b38016052ee658cb0fb6de71b37ba966362e254",
      "new_mode": 33188,
      "new_path": "src/producer.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5478b6029675a516ca93a0833a02dc92eae68f8d",
      "new_mode": 33188,
      "new_path": "tests/asyncio_test.py"
    },
    {
      "type": "modify",
      "old_id": "5168f94c1871807a39607a373f557a6e657eb796",
      "old_mode": 33261,
      "old_path": "tests/run-unit-tests.sh",
      "new_id": "ea0b4505ba6864503e223f55ad510e98f8d66b9e",
      "new_mode": 33261,
      "new_path": "tests/run-unit-tests.sh"
    }
  ]
}
