Metadata-Version: 2.1
Name: confluent-kafka
Version: 2.7.0
Summary: Confluent's Python client for Apache Kafka
Author-email: "Confluent Inc." <support@confluent.io>
License: ##############################################################################
        # The source distribution of confluent-kafka-python is covered by the        #
        # Apache 2.0 license.                                                        #
        ##############################################################################
        
        Apache License
                                   Version 2.0, January 2004
                                http://www.apache.org/licenses/
        
           TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        
           1. Definitions.
        
              "License" shall mean the terms and conditions for use, reproduction,
              and distribution as defined by Sections 1 through 9 of this document.
        
              "Licensor" shall mean the copyright owner or entity authorized by
              the copyright owner that is granting the License.
        
              "Legal Entity" shall mean the union of the acting entity and all
              other entities that control, are controlled by, or are under common
              control with that entity. For the purposes of this definition,
              "control" means (i) the power, direct or indirect, to cause the
              direction or management of such entity, whether by contract or
              otherwise, or (ii) ownership of fifty percent (50%) or more of the
              outstanding shares, or (iii) beneficial ownership of such entity.
        
              "You" (or "Your") shall mean an individual or Legal Entity
              exercising permissions granted by this License.
        
              "Source" form shall mean the preferred form for making modifications,
              including but not limited to software source code, documentation
              source, and configuration files.
        
              "Object" form shall mean any form resulting from mechanical
              transformation or translation of a Source form, including but
              not limited to compiled object code, generated documentation,
              and conversions to other media types.
        
              "Work" shall mean the work of authorship, whether in Source or
              Object form, made available under the License, as indicated by a
              copyright notice that is included in or attached to the work
              (an example is provided in the Appendix below).
        
              "Derivative Works" shall mean any work, whether in Source or Object
              form, that is based on (or derived from) the Work and for which the
              editorial revisions, annotations, elaborations, or other modifications
              represent, as a whole, an original work of authorship. For the purposes
              of this License, Derivative Works shall not include works that remain
              separable from, or merely link (or bind by name) to the interfaces of,
              the Work and Derivative Works thereof.
        
              "Contribution" shall mean any work of authorship, including
              the original version of the Work and any modifications or additions
              to that Work or Derivative Works thereof, that is intentionally
              submitted to Licensor for inclusion in the Work by the copyright owner
              or by an individual or Legal Entity authorized to submit on behalf of
              the copyright owner. For the purposes of this definition, "submitted"
              means any form of electronic, verbal, or written communication sent
              to the Licensor or its representatives, including but not limited to
              communication on electronic mailing lists, source code control systems,
              and issue tracking systems that are managed by, or on behalf of, the
              Licensor for the purpose of discussing and improving the Work, but
              excluding communication that is conspicuously marked or otherwise
              designated in writing by the copyright owner as "Not a Contribution."
        
              "Contributor" shall mean Licensor and any individual or Legal Entity
              on behalf of whom a Contribution has been received by Licensor and
              subsequently incorporated within the Work.
        
           2. Grant of Copyright License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              copyright license to reproduce, prepare Derivative Works of,
              publicly display, publicly perform, sublicense, and distribute the
              Work and such Derivative Works in Source or Object form.
        
           3. Grant of Patent License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              (except as stated in this section) patent license to make, have made,
              use, offer to sell, sell, import, and otherwise transfer the Work,
              where such license applies only to those patent claims licensable
              by such Contributor that are necessarily infringed by their
              Contribution(s) alone or by combination of their Contribution(s)
              with the Work to which such Contribution(s) was submitted. If You
              institute patent litigation against any entity (including a
              cross-claim or counterclaim in a lawsuit) alleging that the Work
              or a Contribution incorporated within the Work constitutes direct
              or contributory patent infringement, then any patent licenses
              granted to You under this License for that Work shall terminate
              as of the date such litigation is filed.
        
           4. Redistribution. You may reproduce and distribute copies of the
              Work or Derivative Works thereof in any medium, with or without
              modifications, and in Source or Object form, provided that You
              meet the following conditions:
        
              (a) You must give any other recipients of the Work or
                  Derivative Works a copy of this License; and
        
              (b) You must cause any modified files to carry prominent notices
                  stating that You changed the files; and
        
              (c) You must retain, in the Source form of any Derivative Works
                  that You distribute, all copyright, patent, trademark, and
                  attribution notices from the Source form of the Work,
                  excluding those notices that do not pertain to any part of
                  the Derivative Works; and
        
              (d) If the Work includes a "NOTICE" text file as part of its
                  distribution, then any Derivative Works that You distribute must
                  include a readable copy of the attribution notices contained
                  within such NOTICE file, excluding those notices that do not
                  pertain to any part of the Derivative Works, in at least one
                  of the following places: within a NOTICE text file distributed
                  as part of the Derivative Works; within the Source form or
                  documentation, if provided along with the Derivative Works; or,
                  within a display generated by the Derivative Works, if and
                  wherever such third-party notices normally appear. The contents
                  of the NOTICE file are for informational purposes only and
                  do not modify the License. You may add Your own attribution
                  notices within Derivative Works that You distribute, alongside
                  or as an addendum to the NOTICE text from the Work, provided
                  that such additional attribution notices cannot be construed
                  as modifying the License.
        
              You may add Your own copyright statement to Your modifications and
              may provide additional or different license terms and conditions
              for use, reproduction, or distribution of Your modifications, or
              for any such Derivative Works as a whole, provided Your use,
              reproduction, and distribution of the Work otherwise complies with
              the conditions stated in this License.
        
           5. Submission of Contributions. Unless You explicitly state otherwise,
              any Contribution intentionally submitted for inclusion in the Work
              by You to the Licensor shall be under the terms and conditions of
              this License, without any additional terms or conditions.
              Notwithstanding the above, nothing herein shall supersede or modify
              the terms of any separate license agreement you may have executed
              with Licensor regarding such Contributions.
        
           6. Trademarks. This License does not grant permission to use the trade
              names, trademarks, service marks, or product names of the Licensor,
              except as required for reasonable and customary use in describing the
              origin of the Work and reproducing the content of the NOTICE file.
        
           7. Disclaimer of Warranty. Unless required by applicable law or
              agreed to in writing, Licensor provides the Work (and each
              Contributor provides its Contributions) on an "AS IS" BASIS,
              WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
              implied, including, without limitation, any warranties or conditions
              of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
              PARTICULAR PURPOSE. You are solely responsible for determining the
              appropriateness of using or redistributing the Work and assume any
              risks associated with Your exercise of permissions under this License.
        
           8. Limitation of Liability. In no event and under no legal theory,
              whether in tort (including negligence), contract, or otherwise,
              unless required by applicable law (such as deliberate and grossly
              negligent acts) or agreed to in writing, shall any Contributor be
              liable to You for damages, including any direct, indirect, special,
              incidental, or consequential damages of any character arising as a
              result of this License or out of the use or inability to use the
              Work (including but not limited to damages for loss of goodwill,
              work stoppage, computer failure or malfunction, or any and all
              other commercial damages or losses), even if such Contributor
              has been advised of the possibility of such damages.
        
           9. Accepting Warranty or Additional Liability. While redistributing
              the Work or Derivative Works thereof, You may choose to offer,
              and charge a fee for, acceptance of support, warranty, indemnity,
              or other liability obligations and/or rights consistent with this
              License. However, in accepting such obligations, You may act only
              on Your own behalf and on Your sole responsibility, not on behalf
              of any other Contributor, and only if You agree to indemnify,
              defend, and hold each Contributor harmless for any liability
              incurred by, or claims asserted against, such Contributor by reason
              of your accepting any such warranty or additional liability.
        
           END OF TERMS AND CONDITIONS
        
           APPENDIX: How to apply the Apache License to your work.
        
              To apply the Apache License to your work, attach the following
              boilerplate notice, with the fields enclosed by brackets "{}"
              replaced with your own identifying information. (Don't include
              the brackets!)  The text should be enclosed in the appropriate
              comment syntax for the file format. We also recommend that a
              file or class name and description of purpose be included on the
              same "printed page" as the copyright notice for easier
              identification within third-party archives.
        
           Copyright {yyyy} {name of copyright owner}
        
           Licensed under the Apache License, Version 2.0 (the "License");
           you may not use this file except in compliance with the License.
           You may obtain a copy of the License at
        
               http://www.apache.org/licenses/LICENSE-2.0
        
           Unless required by applicable law or agreed to in writing, software
           distributed under the License is distributed on an "AS IS" BASIS,
           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
           See the License for the specific language governing permissions and
           limitations under the License.
        
        
        
        
        ##############################################################################
        # The binary wheel distribution of confluent-kafka-python contains           #
        # additional software with the following licenses:                           #
        ##############################################################################
        
        
        ##############################################################################
        # OpenSSL                                                                    #
        ##############################################################################
        
        OpenSSL License
        ---------------
        
        /* ====================================================================
         * Copyright (c) 1998-2017 The OpenSSL Project.  All rights reserved.
         *
         * Redistribution and use in source and binary forms, with or without
         * modification, are permitted provided that the following conditions
         * are met:
         *
         * 1. Redistributions of source code must retain the above copyright
         *    notice, this list of conditions and the following disclaimer. 
         *
         * 2. Redistributions in binary form must reproduce the above copyright
         *    notice, this list of conditions and the following disclaimer in
         *    the documentation and/or other materials provided with the
         *    distribution.
         *
         * 3. All advertising materials mentioning features or use of this
         *    software must display the following acknowledgment:
         *    "This product includes software developed by the OpenSSL Project
         *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
         *
         * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
         *    endorse or promote products derived from this software without
         *    prior written permission. For written permission, please contact
         *    openssl-core@openssl.org.
         *
         * 5. Products derived from this software may not be called "OpenSSL"
         *    nor may "OpenSSL" appear in their names without prior written
         *    permission of the OpenSSL Project.
         *
         * 6. Redistributions of any form whatsoever must retain the following
         *    acknowledgment:
         *    "This product includes software developed by the OpenSSL Project
         *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
         *
         * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
         * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
         * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
         * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
         * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
         * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
         * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
         * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
         * OF THE POSSIBILITY OF SUCH DAMAGE.
         * ====================================================================
         *
         * This product includes cryptographic software written by Eric Young
         * (eay@cryptsoft.com).  This product includes software written by Tim
         * Hudson (tjh@cryptsoft.com).
         *
         */
        
         Original SSLeay License
         -----------------------
        
        /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
         * All rights reserved.
         *
         * This package is an SSL implementation written
         * by Eric Young (eay@cryptsoft.com).
         * The implementation was written so as to conform with Netscapes SSL.
         * 
         * This library is free for commercial and non-commercial use as long as
         * the following conditions are aheared to.  The following conditions
         * apply to all code found in this distribution, be it the RC4, RSA,
         * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
         * included with this distribution is covered by the same copyright terms
         * except that the holder is Tim Hudson (tjh@cryptsoft.com).
         * 
         * Copyright remains Eric Young's, and as such any Copyright notices in
         * the code are not to be removed.
         * If this package is used in a product, Eric Young should be given attribution
         * as the author of the parts of the library used.
         * This can be in the form of a textual message at program startup or
         * in documentation (online or textual) provided with the package.
         * 
         * Redistribution and use in source and binary forms, with or without
         * modification, are permitted provided that the following conditions
         * are met:
         * 1. Redistributions of source code must retain the copyright
         *    notice, this list of conditions and the following disclaimer.
         * 2. Redistributions in binary form must reproduce the above copyright
         *    notice, this list of conditions and the following disclaimer in the
         *    documentation and/or other materials provided with the distribution.
         * 3. All advertising materials mentioning features or use of this software
         *    must display the following acknowledgement:
         *    "This product includes cryptographic software written by
         *     Eric Young (eay@cryptsoft.com)"
         *    The word 'cryptographic' can be left out if the rouines from the library
         *    being used are not cryptographic related :-).
         * 4. If you include any Windows specific code (or a derivative thereof) from 
         *    the apps directory (application code) you must include an acknowledgement:
         *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
         * 
         * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
         * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
         * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
         * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
         * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
         * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
         * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
         * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
         * SUCH DAMAGE.
         * 
         * The licence and distribution terms for any publically available version or
         * derivative of this code cannot be changed.  i.e. this code cannot simply be
         * copied and put under another distribution licence
         * [including the GNU Public Licence.]
         */
        
        
        ##############################################################################
        # zlib                                                                       #
        ##############################################################################
        
          Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
        
          This software is provided 'as-is', without any express or implied
          warranty.  In no event will the authors be held liable for any damages
          arising from the use of this software.
        
          Permission is granted to anyone to use this software for any purpose,
          including commercial applications, and to alter it and redistribute it
          freely, subject to the following restrictions:
        
          1. The origin of this software must not be misrepresented; you must not
             claim that you wrote the original software. If you use this software
             in a product, an acknowledgment in the product documentation would be
             appreciated but is not required.
          2. Altered source versions must be plainly marked as such, and must not be
             misrepresented as being the original software.
          3. This notice may not be removed or altered from any source distribution.
        
          Jean-loup Gailly        Mark Adler
          jloup@gzip.org          madler@alumni.caltech.edu
        
        
        
        
        ##############################################################################
        # librdkafka licenses                                                        #
        ##############################################################################
        
        LICENSE
        --------------------------------------------------------------
        librdkafka - Apache Kafka C driver library
        
        Copyright (c) 2012, Magnus Edenhill
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met: 
        
        1. Redistributions of source code must retain the above copyright notice,
           this list of conditions and the following disclaimer. 
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution. 
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
        ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
        LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
        CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
        SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
        INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
        CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        POSSIBILITY OF SUCH DAMAGE.
        
        
        LICENSE.crc32c
        --------------------------------------------------------------
        # For src/crc32c.c copied (with modifications) from
        # http://stackoverflow.com/a/17646775/1821055
        
        /* crc32c.c -- compute CRC-32C using the Intel crc32 instruction
         * Copyright (C) 2013 Mark Adler
         * Version 1.1  1 Aug 2013  Mark Adler
         */
        
        /*
          This software is provided 'as-is', without any express or implied
          warranty.  In no event will the author be held liable for any damages
          arising from the use of this software.
        
          Permission is granted to anyone to use this software for any purpose,
          including commercial applications, and to alter it and redistribute it
          freely, subject to the following restrictions:
        
          1. The origin of this software must not be misrepresented; you must not
             claim that you wrote the original software. If you use this software
             in a product, an acknowledgment in the product documentation would be
             appreciated but is not required.
          2. Altered source versions must be plainly marked as such, and must not be
             misrepresented as being the original software.
          3. This notice may not be removed or altered from any source distribution.
        
          Mark Adler
          madler@alumni.caltech.edu
         */
        
        
        LICENSE.lz4
        --------------------------------------------------------------
        src/xxhash.[ch] src/lz4*.[ch]: git@github.com:lz4/lz4.git e2827775ee80d2ef985858727575df31fc60f1f3
        
        LZ4 Library
        Copyright (c) 2011-2016, Yann Collet
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without modification,
        are permitted provided that the following conditions are met:
        
        * Redistributions of source code must retain the above copyright notice, this
          list of conditions and the following disclaimer.
        
        * Redistributions in binary form must reproduce the above copyright notice, this
          list of conditions and the following disclaimer in the documentation and/or
          other materials provided with the distribution.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
        ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
        ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
        (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
        LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
        ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
        (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
        SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
        
        LICENSE.pycrc
        --------------------------------------------------------------
        The following license applies to the files rdcrc32.c and rdcrc32.h which
        have been generated by the pycrc tool.
        ============================================================================
        
        Copyright (c) 2006-2012, Thomas Pircher <tehpeh@gmx.net>
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in
        all copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
        THE SOFTWARE.
        
        
        LICENSE.queue
        --------------------------------------------------------------
        For sys/queue.h:
        
         * Copyright (c) 1991, 1993
         *	The Regents of the University of California.  All rights reserved.
         *
         * Redistribution and use in source and binary forms, with or without
         * modification, are permitted provided that the following conditions
         * are met:
         * 1. Redistributions of source code must retain the above copyright
         *    notice, this list of conditions and the following disclaimer.
         * 2. Redistributions in binary form must reproduce the above copyright
         *    notice, this list of conditions and the following disclaimer in the
         *    documentation and/or other materials provided with the distribution.
         * 4. Neither the name of the University nor the names of its contributors
         *    may be used to endorse or promote products derived from this software
         *    without specific prior written permission.
         *
         * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
         * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
         * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
         * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
         * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
         * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
         * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
         * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
         * SUCH DAMAGE.
         *
         *	@(#)queue.h	8.5 (Berkeley) 8/20/94
         * $FreeBSD$
        
        LICENSE.regexp
        --------------------------------------------------------------
        regexp.c and regexp.h from https://github.com/ccxvii/minilibs sha 875c33568b5a4aa4fb3dd0c52ea98f7f0e5ca684
        
        "
        These libraries are in the public domain (or the equivalent where that is not possible). You can do anything you want with them. You have no legal obligation to do anything else, although I appreciate attribution.
        "
        
        
        LICENSE.snappy
        --------------------------------------------------------------
        ######################################################################
        # LICENSE.snappy covers files: snappy.c, snappy.h, snappy_compat.h   #
        # originally retrieved from http://github.com/andikleen/snappy-c     #
        # git revision 8015f2d28739b9a6076ebaa6c53fe27bc238d219              #
        ######################################################################
        
        The snappy-c code is under the same license as the original snappy source
        
        Copyright 2011 Intel Corporation All Rights Reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are
        met:
        
            * Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.
            * Redistributions in binary form must reproduce the above
        copyright notice, this list of conditions and the following disclaimer
        in the documentation and/or other materials provided with the
        distribution.
            * Neither the name of Intel Corporation nor the names of its
        contributors may be used to endorse or promote products derived from
        this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
        "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
        LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
        A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
        OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
        LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
        (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
        
        
        LICENSE.tinycthread
        --------------------------------------------------------------
        From https://github.com/tinycthread/tinycthread/README.txt c57166cd510ffb5022dd5f127489b131b61441b9
        
        License
        -------
        
        Copyright (c) 2012 Marcus Geelnard
                      2013-2014 Evan Nemerson
        
        This software is provided 'as-is', without any express or implied
        warranty. In no event will the authors be held liable for any damages
        arising from the use of this software.
        
        Permission is granted to anyone to use this software for any purpose,
        including commercial applications, and to alter it and redistribute it
        freely, subject to the following restrictions:
        
            1. The origin of this software must not be misrepresented; you must not
            claim that you wrote the original software. If you use this software
            in a product, an acknowledgment in the product documentation would be
            appreciated but is not required.
        
            2. Altered source versions must be plainly marked as such, and must not be
            misrepresented as being the original software.
        
            3. This notice may not be removed or altered from any source
            distribution.
        
        
        LICENSE.wingetopt
        --------------------------------------------------------------
        For the files wingetopt.c wingetopt.h downloaded from https://github.com/alex85k/wingetopt
        
        /*
         * Copyright (c) 2002 Todd C. Miller <Todd.Miller@courtesan.com>
         *
         * Permission to use, copy, modify, and distribute this software for any
         * purpose with or without fee is hereby granted, provided that the above
         * copyright notice and this permission notice appear in all copies.
         *
         * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
         * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
         * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
         * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
         * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
         * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
         * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
         *
         * Sponsored in part by the Defense Advanced Research Projects
         * Agency (DARPA) and Air Force Research Laboratory, Air Force
         * Materiel Command, USAF, under agreement number F39502-99-1-0512.
         */
        /*-
         * Copyright (c) 2000 The NetBSD Foundation, Inc.
         * All rights reserved.
         *
         * This code is derived from software contributed to The NetBSD Foundation
         * by Dieter Baron and Thomas Klausner.
         *
         * Redistribution and use in source and binary forms, with or without
         * modification, are permitted provided that the following conditions
         * are met:
         * 1. Redistributions of source code must retain the above copyright
         *    notice, this list of conditions and the following disclaimer.
         * 2. Redistributions in binary form must reproduce the above copyright
         *    notice, this list of conditions and the following disclaimer in the
         *    documentation and/or other materials provided with the distribution.
         *
         * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
         * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
         * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
         * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
         * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
         * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
         * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
         * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
         * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
         * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
         * POSSIBILITY OF SUCH DAMAGE.
         */
        
        
        
Project-URL: Homepage, https://github.com/confluentinc/confluent-kafka-python
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: all
Requires-Dist: psutil ; extra == 'all'
Requires-Dist: opentelemetry-distro ; extra == 'all'
Requires-Dist: opentelemetry-exporter-otlp ; extra == 'all'
Requires-Dist: sphinx ; extra == 'all'
Requires-Dist: sphinx-rtd-theme ; extra == 'all'
Requires-Dist: confluent-kafka ; extra == 'all'
Requires-Dist: fastapi ; extra == 'all'
Requires-Dist: pydantic ; extra == 'all'
Requires-Dist: uvicorn ; extra == 'all'
Requires-Dist: six ; extra == 'all'
Requires-Dist: attrs ; extra == 'all'
Requires-Dist: cachetools ; extra == 'all'
Requires-Dist: httpx <0.28.0 ; extra == 'all'
Requires-Dist: requests ; extra == 'all'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'all'
Requires-Dist: pyrsistent ; extra == 'all'
Requires-Dist: jsonschema ; extra == 'all'
Requires-Dist: googleapis-common-protos ; extra == 'all'
Requires-Dist: protobuf ; extra == 'all'
Requires-Dist: azure-identity ; extra == 'all'
Requires-Dist: azure-keyvault-keys ; extra == 'all'
Requires-Dist: boto3 ; extra == 'all'
Requires-Dist: cel-python >=0.1.5 ; extra == 'all'
Requires-Dist: google-auth ; extra == 'all'
Requires-Dist: google-api-core ; extra == 'all'
Requires-Dist: google-cloud-kms ; extra == 'all'
Requires-Dist: hkdf ==0.0.3 ; extra == 'all'
Requires-Dist: hvac ; extra == 'all'
Requires-Dist: jsonata-python ; extra == 'all'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'all'
Requires-Dist: tink ; extra == 'all'
Requires-Dist: flake8 ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: pytest-timeout ; extra == 'all'
Requires-Dist: requests-mock ; extra == 'all'
Requires-Dist: respx ; extra == 'all'
Requires-Dist: urllib3 <2.0.0 ; (python_version <= "3.7") and extra == 'all'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'all'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'all'
Requires-Dist: urllib3 <3,>=2.0.0 ; (python_version > "3.7") and extra == 'all'
Provides-Extra: avro
Requires-Dist: requests ; extra == 'avro'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'avro'
Requires-Dist: attrs ; extra == 'avro'
Requires-Dist: cachetools ; extra == 'avro'
Requires-Dist: httpx <0.28.0 ; extra == 'avro'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'avro'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'avro'
Provides-Extra: dev
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: confluent-kafka ; extra == 'dev'
Requires-Dist: fastapi ; extra == 'dev'
Requires-Dist: pydantic ; extra == 'dev'
Requires-Dist: uvicorn ; extra == 'dev'
Requires-Dist: six ; extra == 'dev'
Requires-Dist: attrs ; extra == 'dev'
Requires-Dist: cachetools ; extra == 'dev'
Requires-Dist: httpx <0.28.0 ; extra == 'dev'
Requires-Dist: requests ; extra == 'dev'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'dev'
Requires-Dist: pyrsistent ; extra == 'dev'
Requires-Dist: jsonschema ; extra == 'dev'
Requires-Dist: googleapis-common-protos ; extra == 'dev'
Requires-Dist: protobuf ; extra == 'dev'
Requires-Dist: azure-identity ; extra == 'dev'
Requires-Dist: azure-keyvault-keys ; extra == 'dev'
Requires-Dist: boto3 ; extra == 'dev'
Requires-Dist: cel-python >=0.1.5 ; extra == 'dev'
Requires-Dist: google-auth ; extra == 'dev'
Requires-Dist: google-api-core ; extra == 'dev'
Requires-Dist: google-cloud-kms ; extra == 'dev'
Requires-Dist: hkdf ==0.0.3 ; extra == 'dev'
Requires-Dist: hvac ; extra == 'dev'
Requires-Dist: jsonata-python ; extra == 'dev'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'dev'
Requires-Dist: tink ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-timeout ; extra == 'dev'
Requires-Dist: requests-mock ; extra == 'dev'
Requires-Dist: respx ; extra == 'dev'
Requires-Dist: urllib3 <2.0.0 ; (python_version <= "3.7") and extra == 'dev'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'dev'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'dev'
Requires-Dist: urllib3 <3,>=2.0.0 ; (python_version > "3.7") and extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
Requires-Dist: attrs ; extra == 'docs'
Requires-Dist: cachetools ; extra == 'docs'
Requires-Dist: httpx <0.28.0 ; extra == 'docs'
Requires-Dist: azure-identity ; extra == 'docs'
Requires-Dist: azure-keyvault-keys ; extra == 'docs'
Requires-Dist: boto3 ; extra == 'docs'
Requires-Dist: cel-python >=0.1.5 ; extra == 'docs'
Requires-Dist: google-auth ; extra == 'docs'
Requires-Dist: google-api-core ; extra == 'docs'
Requires-Dist: google-cloud-kms ; extra == 'docs'
Requires-Dist: hkdf ==0.0.3 ; extra == 'docs'
Requires-Dist: hvac ; extra == 'docs'
Requires-Dist: jsonata-python ; extra == 'docs'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'docs'
Requires-Dist: tink ; extra == 'docs'
Requires-Dist: requests ; extra == 'docs'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'docs'
Requires-Dist: pyrsistent ; extra == 'docs'
Requires-Dist: jsonschema ; extra == 'docs'
Requires-Dist: googleapis-common-protos ; extra == 'docs'
Requires-Dist: protobuf ; extra == 'docs'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'docs'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'docs'
Provides-Extra: examples
Requires-Dist: confluent-kafka ; extra == 'examples'
Requires-Dist: fastapi ; extra == 'examples'
Requires-Dist: pydantic ; extra == 'examples'
Requires-Dist: uvicorn ; extra == 'examples'
Requires-Dist: six ; extra == 'examples'
Requires-Dist: attrs ; extra == 'examples'
Requires-Dist: cachetools ; extra == 'examples'
Requires-Dist: httpx <0.28.0 ; extra == 'examples'
Requires-Dist: requests ; extra == 'examples'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'examples'
Requires-Dist: pyrsistent ; extra == 'examples'
Requires-Dist: jsonschema ; extra == 'examples'
Requires-Dist: googleapis-common-protos ; extra == 'examples'
Requires-Dist: protobuf ; extra == 'examples'
Requires-Dist: azure-identity ; extra == 'examples'
Requires-Dist: azure-keyvault-keys ; extra == 'examples'
Requires-Dist: boto3 ; extra == 'examples'
Requires-Dist: cel-python >=0.1.5 ; extra == 'examples'
Requires-Dist: google-auth ; extra == 'examples'
Requires-Dist: google-api-core ; extra == 'examples'
Requires-Dist: google-cloud-kms ; extra == 'examples'
Requires-Dist: hkdf ==0.0.3 ; extra == 'examples'
Requires-Dist: hvac ; extra == 'examples'
Requires-Dist: jsonata-python ; extra == 'examples'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'examples'
Requires-Dist: tink ; extra == 'examples'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'examples'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'examples'
Provides-Extra: json
Requires-Dist: pyrsistent ; extra == 'json'
Requires-Dist: jsonschema ; extra == 'json'
Requires-Dist: attrs ; extra == 'json'
Requires-Dist: cachetools ; extra == 'json'
Requires-Dist: httpx <0.28.0 ; extra == 'json'
Provides-Extra: protobuf
Requires-Dist: googleapis-common-protos ; extra == 'protobuf'
Requires-Dist: protobuf ; extra == 'protobuf'
Requires-Dist: attrs ; extra == 'protobuf'
Requires-Dist: cachetools ; extra == 'protobuf'
Requires-Dist: httpx <0.28.0 ; extra == 'protobuf'
Provides-Extra: rules
Requires-Dist: azure-identity ; extra == 'rules'
Requires-Dist: azure-keyvault-keys ; extra == 'rules'
Requires-Dist: boto3 ; extra == 'rules'
Requires-Dist: cel-python >=0.1.5 ; extra == 'rules'
Requires-Dist: google-auth ; extra == 'rules'
Requires-Dist: google-api-core ; extra == 'rules'
Requires-Dist: google-cloud-kms ; extra == 'rules'
Requires-Dist: hkdf ==0.0.3 ; extra == 'rules'
Requires-Dist: hvac ; extra == 'rules'
Requires-Dist: jsonata-python ; extra == 'rules'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'rules'
Requires-Dist: tink ; extra == 'rules'
Requires-Dist: attrs ; extra == 'rules'
Requires-Dist: cachetools ; extra == 'rules'
Requires-Dist: httpx <0.28.0 ; extra == 'rules'
Provides-Extra: schemaregistry
Requires-Dist: attrs ; extra == 'schemaregistry'
Requires-Dist: cachetools ; extra == 'schemaregistry'
Requires-Dist: httpx <0.28.0 ; extra == 'schemaregistry'
Provides-Extra: soaktest
Requires-Dist: psutil ; extra == 'soaktest'
Requires-Dist: opentelemetry-distro ; extra == 'soaktest'
Requires-Dist: opentelemetry-exporter-otlp ; extra == 'soaktest'
Provides-Extra: tests
Requires-Dist: flake8 ; extra == 'tests'
Requires-Dist: pytest ; extra == 'tests'
Requires-Dist: pytest-timeout ; extra == 'tests'
Requires-Dist: requests-mock ; extra == 'tests'
Requires-Dist: respx ; extra == 'tests'
Requires-Dist: attrs ; extra == 'tests'
Requires-Dist: cachetools ; extra == 'tests'
Requires-Dist: httpx <0.28.0 ; extra == 'tests'
Requires-Dist: azure-identity ; extra == 'tests'
Requires-Dist: azure-keyvault-keys ; extra == 'tests'
Requires-Dist: boto3 ; extra == 'tests'
Requires-Dist: cel-python >=0.1.5 ; extra == 'tests'
Requires-Dist: google-auth ; extra == 'tests'
Requires-Dist: google-api-core ; extra == 'tests'
Requires-Dist: google-cloud-kms ; extra == 'tests'
Requires-Dist: hkdf ==0.0.3 ; extra == 'tests'
Requires-Dist: hvac ; extra == 'tests'
Requires-Dist: jsonata-python ; extra == 'tests'
Requires-Dist: pyyaml >=6.0.0 ; extra == 'tests'
Requires-Dist: tink ; extra == 'tests'
Requires-Dist: requests ; extra == 'tests'
Requires-Dist: avro <2,>=1.11.1 ; extra == 'tests'
Requires-Dist: pyrsistent ; extra == 'tests'
Requires-Dist: jsonschema ; extra == 'tests'
Requires-Dist: googleapis-common-protos ; extra == 'tests'
Requires-Dist: protobuf ; extra == 'tests'
Requires-Dist: urllib3 <2.0.0 ; (python_version <= "3.7") and extra == 'tests'
Requires-Dist: fastavro <1.8.0 ; (python_version == "3.7") and extra == 'tests'
Requires-Dist: urllib3 <3,>=2.0.0 ; (python_version > "3.7") and extra == 'tests'
Requires-Dist: fastavro <2 ; (python_version > "3.7") and extra == 'tests'

> [!WARNING]
> Due to an error in which we included dependency changes to a recent patch release, Confluent recommends users to **refrain from upgrading to 2.6.2** of Confluent Kafka. Confluent will release a new minor version, 2.7.0, where the dependency changes will be appropriately included. Users who have already upgraded to 2.6.2 and made the required dependency changes are free to remain on that version and are recommended to upgrade to 2.7.0 when that version is available. Upon the release of 2.7.0, the 2.6.2 version will be marked deprecated.
We apologize for the inconvenience and appreciate the feedback that we have gotten from the community.

Confluent's Python Client for Apache Kafka<sup>TM</sup>
=======================================================

**confluent-kafka-python** provides a high-level Producer, Consumer and AdminClient compatible with all
[Apache Kafka<sup>TM<sup>](http://kafka.apache.org/) brokers >= v0.8, [Confluent Cloud](https://www.confluent.io/confluent-cloud/)
and [Confluent Platform](https://www.confluent.io/product/compare/). The client is:

- **Reliable** - It's a wrapper around [librdkafka](https://github.com/edenhill/librdkafka) (provided automatically via binary wheels) which is widely deployed in a diverse set of production scenarios. It's tested using [the same set of system tests](https://github.com/confluentinc/confluent-kafka-python/tree/master/src/confluent_kafka/kafkatest) as the Java client [and more](https://github.com/confluentinc/confluent-kafka-python/tree/master/tests). It's supported by [Confluent](https://confluent.io).

- **Performant** - Performance is a key design consideration. Maximum throughput is on par with the Java client for larger message sizes (where the overhead of the Python interpreter has less impact). Latency is on par with the Java client.

- **Future proof** - Confluent, founded by the
creators of Kafka, is building a [streaming platform](https://www.confluent.io/product/compare/)
with Apache Kafka at its core. It's high priority for us that client features keep
pace with core Apache Kafka and components of the [Confluent Platform](https://www.confluent.io/product/compare/).


## Usage

For a step-by-step guide on using the client see [Getting Started with Apache Kafka and Python](https://developer.confluent.io/get-started/python/).

Aditional examples can be found in the [examples](examples) directory or the [confluentinc/examples](https://github.com/confluentinc/examples/tree/master/clients/cloud/python) github repo, which include demonstration of:
- Exactly once data processing using the transactional API.
- Integration with asyncio.
- (De)serializing Protobuf, JSON, and Avro data with Confluent Schema Registry integration.
- [Confluent Cloud](https://www.confluent.io/confluent-cloud/) configuration.

Also refer to the [API documentation](http://docs.confluent.io/current/clients/confluent-kafka-python/index.html).

Finally, the [tests](tests) are useful as a reference for example usage.

### Basic Producer Example

```python
from confluent_kafka import Producer

p = Producer({'bootstrap.servers': 'mybroker1,mybroker2'})

def delivery_report(err, msg):
    """ Called once for each message produced to indicate delivery result.
        Triggered by poll() or flush(). """
    if err is not None:
        print('Message delivery failed: {}'.format(err))
    else:
        print('Message delivered to {} [{}]'.format(msg.topic(), msg.partition()))

for data in some_data_source:
    # Trigger any available delivery report callbacks from previous produce() calls
    p.poll(0)

    # Asynchronously produce a message. The delivery report callback will
    # be triggered from the call to poll() above, or flush() below, when the
    # message has been successfully delivered or failed permanently.
    p.produce('mytopic', data.encode('utf-8'), callback=delivery_report)

# Wait for any outstanding messages to be delivered and delivery report
# callbacks to be triggered.
p.flush()
```

For a discussion on the poll based producer API, refer to the
[Integrating Apache Kafka With Python Asyncio Web Applications](https://www.confluent.io/blog/kafka-python-asyncio-integration/)
blog post.


### Basic Consumer Example

```python
from confluent_kafka import Consumer

c = Consumer({
    'bootstrap.servers': 'mybroker',
    'group.id': 'mygroup',
    'auto.offset.reset': 'earliest'
})

c.subscribe(['mytopic'])

while True:
    msg = c.poll(1.0)

    if msg is None:
        continue
    if msg.error():
        print("Consumer error: {}".format(msg.error()))
        continue

    print('Received message: {}'.format(msg.value().decode('utf-8')))

c.close()
```


### Basic AdminClient Example

Create topics:

```python
from confluent_kafka.admin import AdminClient, NewTopic

a = AdminClient({'bootstrap.servers': 'mybroker'})

new_topics = [NewTopic(topic, num_partitions=3, replication_factor=1) for topic in ["topic1", "topic2"]]
# Note: In a multi-cluster production scenario, it is more typical to use a replication_factor of 3 for durability.

# Call create_topics to asynchronously create topics. A dict
# of <topic,future> is returned.
fs = a.create_topics(new_topics)

# Wait for each operation to finish.
for topic, f in fs.items():
    try:
        f.result()  # The result itself is None
        print("Topic {} created".format(topic))
    except Exception as e:
        print("Failed to create topic {}: {}".format(topic, e))
```


## Thread Safety

The `Producer`, `Consumer` and `AdminClient` are all thread safe.


## Install

**Install self-contained binary wheels**

    $ pip install confluent-kafka

**NOTE:** The pre-built Linux wheels do NOT contain SASL Kerberos/GSSAPI support.
          If you need SASL Kerberos/GSSAPI support you must install librdkafka and
          its dependencies using the repositories below and then build
          confluent-kafka using the instructions in the
          "Install from source" section below.

To use Schema Registry with the Avro serializer/deserializer:

    $ pip install confluent-kafka[avro,schemaregistry]

To use Schema Registry with the JSON serializer/deserializer:

    $ pip install confluent-kafka[json,schemaregistry]

To use Schema Registry with the Protobuf serializer/deserializer:

    $ pip install confluent-kafka[protobuf,schemaregistry]

When using Data Contract rules (including CSFLE) add the `rules`extra, e.g.:

    $ pip install confluent-kafka[avro,schemaregistry,rules]

**Install from source**

For source install, see the *Install from source* section in [INSTALL.md](INSTALL.md).


## Broker Compatibility

The Python client (as well as the underlying C library librdkafka) supports
all broker versions &gt;= 0.8.
But due to the nature of the Kafka protocol in broker versions 0.8 and 0.9 it
is not safe for a client to assume what protocol version is actually supported
by the broker, thus you will need to hint the Python client what protocol
version it may use. This is done through two configuration settings:

 * `broker.version.fallback=YOUR_BROKER_VERSION` (default 0.9.0.1)
 * `api.version.request=true|false` (default true)

When using a Kafka 0.10 broker or later you don't need to do anything
(`api.version.request=true` is the default).
If you use Kafka broker 0.9 or 0.8 you must set
`api.version.request=false` and set
`broker.version.fallback` to your broker version,
e.g `broker.version.fallback=0.9.0.1`.

More info here:
https://github.com/edenhill/librdkafka/wiki/Broker-version-compatibility


## SSL certificates

If you're connecting to a Kafka cluster through SSL you will need to configure
the client with `'security.protocol': 'SSL'` (or `'SASL_SSL'` if SASL
authentication is used).

The client will use CA certificates to verify the broker's certificate.
The embedded OpenSSL library will look for CA certificates in `/usr/lib/ssl/certs/`
or `/usr/lib/ssl/cacert.pem`. CA certificates are typically provided by the
Linux distribution's `ca-certificates` package which needs to be installed
through `apt`, `yum`, et.al.

If your system stores CA certificates in another location you will need to
configure the client with `'ssl.ca.location': '/path/to/cacert.pem'`.

Alternatively, the CA certificates can be provided by the [certifi](https://pypi.org/project/certifi/)
Python package. To use certifi, add an `import certifi` line and configure the
client's CA location with `'ssl.ca.location': certifi.where()`.


## License

[Apache License v2.0](http://www.apache.org/licenses/LICENSE-2.0)

KAFKA is a registered trademark of The Apache Software Foundation and has been licensed for use
by confluent-kafka-python. confluent-kafka-python has no affiliation with and is not endorsed by
The Apache Software Foundation.


## Developer Notes

Instructions on building and testing confluent-kafka-python can be found [here](DEVELOPER.md).


## Confluent Cloud

For a step-by-step guide on using the Python client with Confluent Cloud see [Getting Started with Apache Kafka and Python](https://developer.confluent.io/get-started/python/) on [Confluent Developer](https://developer.confluent.io/). 
