{"id":26267810,"url":"https://github.com/oslabs-beta/kafkasaur","last_synced_at":"2025-04-30T19:21:15.793Z","repository":{"id":46423031,"uuid":"393443314","full_name":"oslabs-beta/kafkaSaur","owner":"oslabs-beta","description":"Apache Kafka client for Deno","archived":false,"fork":false,"pushed_at":"2021-12-02T00:25:08.000Z","size":2485,"stargazers_count":45,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-08T10:53:19.013Z","etag":null,"topics":["apache-kafka","deno","denoland","kafka-client"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslabs-beta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-06T16:56:24.000Z","updated_at":"2024-01-31T10:50:00.000Z","dependencies_parsed_at":"2022-09-24T03:43:01.239Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/kafkaSaur","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FkafkaSaur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FkafkaSaur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FkafkaSaur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FkafkaSaur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/kafkaSaur/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251767210,"owners_count":21640470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-kafka","deno","denoland","kafka-client"],"created_at":"2025-03-14T04:18:23.555Z","updated_at":"2025-04-30T19:21:15.772Z","avatar_url":"https://github.com/oslabs-beta.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://github.com/oslabs-beta/kafkaSaur/blob/b8fdcfff957dd1bf9ca13973029e1f7d70165775/static_images/003365-vgrad.png\" alt=\"Logo\" /\u003e\n    \u003cp align=\"center\"\u003e\n       \u003ca href=\"#\" \u003e\n         \u003cimg src=\"https://github.com/oslabs-beta/kafkaSaur/blob/b8fdcfff957dd1bf9ca13973029e1f7d70165775/static_images/sirdeno-modified.png\" alt=\"Logo\" /\u003e\n  \u003c/p\u003e \n\u003c/p\u003e \n\n\u003cdiv align=\"center\"\u003e\n   \n\u003ca href=‘https://deno.land/x/kafkasaur@v0.0.3’\u003e\u003cimg src=‘https://img.shields.io/badge/version-v0.01-green’ /\u003e\u003c/a\u003e \n\u003ca href=\"https://github.com/oslabs-beta/kafkaSaur\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-MIT-blue\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/oslabs-beta/kafkaSaur/stargazers\"\u003e\u003cimg alt=\"GitHub stars\" src=\"https://img.shields.io/github/stars/oslabs-beta/kafkaSaur\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/oslabs-beta/kafkaSaur/issues\"\u003e\u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/oslabs-beta/kafkaSaur\"\u003e\u003c/a\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/oslabs-beta/kafkaSaur\"\u003e\n\n\u003ca href=\"https://deno.land/x/kafkasaur@v0.0.3\"\u003e\u003cimg src=\"http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno\u0026labelColor=black\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/denoland/deno\"\u003e\u003cimg src=\"https://img.shields.io/badge/deno-^1.3.2-lightgrey?logo=deno\"/\u003e\u003c/a\u003e\n   \n   \u003cp align=\"center\"\u003e \u003cstrong\u003eA native Deno client for Apache Kafka\u003c/strong\u003e\u003c/p\u003e\n   \u003c/div\u003e\n\n\n## Table of Contents\n- [About the project](#about)\n - [Features](#features)\n - [Getting Started](#getting-started)\n    - [Usage](#usage)\n- [Developers](#developers)  \n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n## \u003ca name=\"about\"\u003e\u003c/a\u003e About the Project\n KafkaSaur an Apache Kafka client for deno \n### \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\nGetting Started\n```sh\nhttps://deno.land/x/kafkasaur@v0.0.3\n```\n### Prerequisites\n \u003eDeno - https://deno.land/manual/getting_started/installation\n \u003e\n \u003eApache Kafka - https://kafka.apache.org/\n \u003e\n \u003eDocker (for examples) -https://www.docker.com/\n \n\n\n#### \u003ca name=\"usage\"\u003e\u003c/a\u003e Usage\nTo run examples initiate Docker containers included in yaml file:\n```sh\ndocker-compose up\n```\nThen run example producer/consumer files, in seperate terminals, with the following commands:\n```sh\ndeno run --allow-all --unstable examples/example_producer.ts\ndeno run --allow-all --unstable examples/example_consumer.ts\n\n```\nYour two terminals (one Consuming, and one Producing) will now interact with the Broker and begin consuming and producing respectively.\n\nWith the Client imported into your application, you can write the producer/consumer logic like this:\n```typescript\n//producer example\nimport {Kafkasaur} from \"https://deno.land/x/kafkasaur/index.ts\"\n\nconst kafka = new Kafkasaur({\n  clientId: 'example-producer',\n  brokers: ['localhost:9092']\n})\n\nconst topic = 'topic-test';\n\nconst producer = kafka.producer();\n\nconst testmessage = {\n  key: 'key',\n  value: 'hello there',\n  headers: {'correlation-id': `${Date.now()}`}\n}\n\nconst messages: object[] = [];\nmessages.push(testmessage)\n\nconst sendMessage = () =\u003e {\n  producer.send({\n    topic,\n    messages\n  })\n}\n\nconst run = async() =\u003e {\n  await producer.connect();\n  sendMessage();\n}\n\nrun()\n```\n\n```typescript\n//consumer example\nimport {Kafkasaur} from \"https://deno.land/x/kafkasaur/index.ts\"\n\nconst kafka = new Kafkasaur({\n  clientId: 'example-consumer',\n  brokers: ['localhost:9092']\n})\n\nconst topic = 'topic-test';\n\nconst consumer = kafka.consumer({ groupId: 'test-group' })\n\nconst run = async () =\u003e {\n  await consumer.connect()\n  await consumer.subscribe({ topic, fromBeginning: true })\n  \n  await consumer.run({\n    eachMessage: async (message: any) =\u003e {\n      console.log(message.value.toString())\n    },\n  })\n}\n\nrun()\n```\n\nTo run the instances of your Consumer/Producer be sure to pass the flags \n```sh\n--allow-all\n```\nand\n```sh\n--unstable\n```\nwhen issuing your deno run command. This ensures that Deno as the proper configuration to communicate with the Broker, and to log any errors.\n## Features\n\n- 🛠 Built with [TypeScript][Deno]\n\n- 🎬 Producer\n\n- 🍴 Consumer\n\n- 🤝 interactive producer with consumer\n\n- 💂 deno's built in security; No file, network, or environment access, unless explicitly enabled\n  \n\n\n## Want to Contribute?\n\nIf you'd like to contribute and help grow the Deno community, just reach out to one of us via LinkedIn or write some code, and make a PR here! We're super excited about getting the conversation started, and working to bring Kafka to Deno!\n\n\n## \u003ca name=\"developers\"\u003e\u003c/a\u003e Developers\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/samarnold723\"\u003e\u003cimg src=\"https://media-exp1.licdn.com/dms/image/C4D03AQFJP-ywhKqpBg/profile-displayphoto-shrink_800_800/0/1615175949915?e=1639008000\u0026v=beta\u0026t=WylZ_LOJwbiey8Jicg0X-ODhSKqwAROCrZEDFOWxiYY\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSam Arnold\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/wesley-appleget\"\u003e\u003cimg src=\"https://media-exp1.licdn.com/dms/image/C4E03AQG5AUxEE14WUw/profile-displayphoto-shrink_800_800/0/1517013766994?e=1639008000\u0026v=beta\u0026t=FKH576OIcSS6k2QwckD5LbqxOZMtqVCm527ql8FLv-M\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWesley Appleget\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"#\"\u003e\u003cimg src=\"https://ca.slack-edge.com/T01JVB0Q491-U01Q229LGQN-952f2dff651a-512\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Blackwell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/benitezstephanie\"\u003e\u003cimg src=\"https://i.pinimg.com/736x/33/32/6d/33326dcddbf15c56d631e374b62338dc.jpg\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStephanie Benitez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\n### \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e Acknowledgements\n\n- [Tommy Brunn](https://github.com/Nevon) - for his guidance and for trailblazing with KafkaJS\n- [Ryan Dahl](https://github.com/ry) - for building an awesome community with Node.js and then leveling it up even further with Deno\n- [Franz Kafka](https://en.wikipedia.org/wiki/Franz_Kafka) - for making us all remember, we could just be cockroaches. \n\n\n## \u003ca name=\"license\"\u003e\u003c/a\u003e License\n\n\nThis product is licensed under the MIT License - see the LICENSE.md file for details.\n\nThis is an open source product.\n\nThis product is accelerated by [OS Labs](https://opensourcelabs.io/).\n\nApache Kafka and Kafka are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries. KafkaJS has no affiliation with the Apache Software Foundation.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fkafkasaur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fkafkasaur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fkafkasaur/lists"}