zeroconf-py2compat


Namezeroconf-py2compat JSON
Version 0.19.17 PyPI version JSON
download
home_pagehttps://github.com/learningequality/python-zeroconf
SummaryPure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)
upload_time2023-08-08 21:27:36
maintainer
docs_urlNone
authorPaul Scott-Murphy, William McBrine, Jakub Stasiak, Jamie Alexandre, Richard Tibbles
requires_python
licenseLGPL
keywords bonjour avahi zeroconf multicast dns service discovery mdns
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            python-zeroconf-py2compat
=========================
    
This is a fork of pyzeroconf, Multicast DNS Service Discovery for Python,
originally by Paul Scott-Murphy (https://github.com/paulsm/pyzeroconf),
modified by William McBrine (https://github.com/wmcbrine/pyzeroconf),
and then further modified (off the 0.19.1 tag, the last to support Py2.7)
by Jamie Alexandre (https://github.com/learningequality/python-zeroconf).

Compatible with:

* Bonjour
* Avahi

Compared to some other Zeroconf/Bonjour/Avahi Python packages, python-zeroconf:

* isn't tied to Bonjour or Avahi
* doesn't use D-Bus
* doesn't force you to use particular event loop or Twisted
* is pip-installable

Python compatibility
--------------------

* CPython 2.7, 3.3+
* PyPy 2.2+ (possibly 1.9-2.1 as well)
* PyPy3 2.4+

Versioning
----------

This project's versions follow the following pattern: MAJOR.MINOR.PATCH.

* MAJOR version has been 0 so far
* MINOR version is incremented on backward incompatible changes
* PATCH version is incremented on backward compatible changes

Status
------

There are some people using this package. I don't actively use it and as such
any help I can offer with regard to any issues is very limited.


How to get python-zeroconf-py2compat?
=====================================

* PyPI page https://pypi.python.org/pypi/zeroconf-py2compat
* GitHub project https://github.com/learningequality/python-zeroconf-py2compat

The easiest way to install python-zeroconf-py2compat is using pip::

    pip install zeroconf-py2compat



How do I use it?
================

Here's an example of browsing for a service:

.. code-block:: python

    from six.moves import input
    from zeroconf import ServiceBrowser, Zeroconf
    
    
    class MyListener(object):
    
        def remove_service(self, zeroconf, type, name):
            print("Service %s removed" % (name,))
    
        def add_service(self, zeroconf, type, name):
            info = zeroconf.get_service_info(type, name)
            print("Service %s added, service info: %s" % (name, info))
    
    
    zeroconf = Zeroconf()
    listener = MyListener()
    browser = ServiceBrowser(zeroconf, "_http._tcp.local.", listener)
    try:
        input("Press enter to exit...\n\n")
    finally:
        zeroconf.close()

.. note::

    Discovery and service registration use *all* available network interfaces by default.
    If you want to customize that you need to specify ``interfaces`` argument when
    constructing ``Zeroconf`` object (see the code for details).

If you don't know the name of the service you need to browse for, try:

.. code-block:: python

    from zeroconf import ZeroconfServiceTypes
    print('\n'.join(ZeroconfServiceTypes.find()))

See examples directory for more.

Changelog
=========

0.19.16
-------
- Fix issue preventing TXT record updates from `ServiceBrowser`

0.19.15
-------
- Track all requested broadcast interfaces in addition to those successfully attached

0.19.14
-------
- Exclude addresses starting with "169.254" from the list returned by get_all_addresses()

0.19.13
-------
* Converts some usage of `assert` that should likely persist if `python -O` is used
* Breaks out interface attachment from `Zeroconf.__init__` into its own method `_add_interfaces`
* Adds corresponding behavior for removing interfaces, along the lines of how `_add_interfaces` functions but in reverse
* Exposes new public method `Zeroconf.update_interfaces` which triggers add or removal of interfaces
* Prevents stack trace reporting of errors that occur because the network is unreachable, `errno.ENETUNREACH`
* Updates `Zeroconf.send` to accept an `interface` on which filter the interfaces it sends the messages on,
  such that adding and removing interfaces can attempt to send add/remove messages when the interface is removed

0.19.10
-------
Reduce (and make configurable) the _GLOBAL_DONE threading wait time to improve discovery.

0.19.9
------
Turn _GLOBAL_DONE into a threading Event to allow for better interruptability at close.

0.19.8
------
Handle exceptions in interface enumeration and just return an empty list.

0.19.7
------
Reverted from ifaddr back to ifcfg.

0.19.6
------
Switched from ifcfg to ifaddr for address enumeration.

0.19.5
------
Add support for Android, via pyjnius.

0.19.4
------
Vendored enum compat.

0.19.3
------
* Fix to setup.py, so as to actually include zeroconf.py!

0.19.2 (first release in learningequality/python-zeroconf-py2compat)
--------------------------------------------------------------------
* Replace C-based netifaces with pure-Python ifcfg for portability
* Allow the DNS A record address to be determined by outgoing interface IP
* Refresh ServiceBrowser entries already when 'stale' (backport from 0.20.0)
* Add new records first in cache entry instead of last (backport from 0.20.0)
* Correct broken __eq__ in child classes to DNSRecord (backport from 0.20.0)
* Fix TTL handling for published service, and use RFC6762 (backport from 0.21.0)
* Fix UnboundLocalError for count after loop (backport from 0.21.0)
* Fix UTF-8 multibyte name compression (backport from 0.21.0)
* Fix a logging call (backport from 0.21.0)
* Fix service removal packets not being sent on shutdown (backport from 0.22.0)
* MyListener callback on service TXT record changes (backport from 0.23.0)

0.19.1
------

* Allowed installation with netifaces >= 0.10.6 (a bug that was concerning us
  got fixed)

0.19.0
------

* Technically backwards incompatible - restricted netifaces dependency version to
  work around a bug, see https://github.com/jstasiak/python-zeroconf/issues/84 for
  details

0.18.0
------

* Dropped Python 2.6 support
* Improved error handling inside code executed when Zeroconf object is being closed

0.17.7
------

* Better Handling of DNS Incoming Packets parsing exceptions
* Many exceptions will now log a warning the first time they are seen
* Catch and log sendto() errors
* Fix/Implement duplicate name change
* Fix overly strict name validation introduced in 0.17.6
* Greatly improve handling of oversized packets including:

  - Implement name compression per RFC1035
  - Limit size of generated packets to 9000 bytes as per RFC6762
  - Better handle over sized incoming packets

* Increased test coverage to 95%

0.17.6
------

* Many improvements to address race conditions and exceptions during ZC()
  startup and shutdown, thanks to: morpav, veawor, justingiorgi, herczy,
  stephenrauch
* Added more test coverage: strahlex, stephenrauch
* Stephen Rauch contributed:

  - Speed up browser startup
  - Add ZeroconfServiceTypes() query class to discover all advertised service types
  - Add full validation for service names, types and subtypes
  - Fix for subtype browsing
  - Fix DNSHInfo support

0.17.5
------

* Fixed OpenBSD compatibility, thanks to Alessio Sergi
* Fixed race condition on ServiceBrowser startup, thanks to gbiddison
* Fixed installation on some Python 3 systems, thanks to Per Sandström
* Fixed "size change during iteration" bug on Python 3, thanks to gbiddison

0.17.4
------

* Fixed support for Linux kernel versions < 3.9 (thanks to Giovanni Harting
  and Luckydonald, GitHub pull request #26)

0.17.3
------

* Fixed DNSText repr on Python 3 (it'd crash when the text was longer than
  10 bytes), thanks to Paulus Schoutsen for the patch, GitHub pull request #24

0.17.2
------

* Fixed installation on Python 3.4.3+ (was failing because of enum34 dependency
  which fails to install on 3.4.3+, changed to depend on enum-compat instead;
  thanks to Michael Brennan for the original patch, GitHub pull request #22)

0.17.1
------

* Fixed EADDRNOTAVAIL when attempting to use dummy network interfaces on Windows,
  thanks to daid

0.17.0
------

* Added some Python dependencies so it's not zero-dependencies anymore
* Improved exception handling (it'll be quieter now)
* Messages are listened to and sent using all available network interfaces
  by default (configurable); thanks to Marcus Müller
* Started using logging more freely
* Fixed a bug with binary strings as property values being converted to False
  (https://github.com/jstasiak/python-zeroconf/pull/10); thanks to Dr. Seuss
* Added new ``ServiceBrowser`` event handler interface (see the examples)
* PyPy3 now officially supported
* Fixed ServiceInfo repr on Python 3, thanks to Yordan Miladinov

0.16.0
------

* Set up Python logging and started using it
* Cleaned up code style (includes migrating from camel case to snake case)

0.15.1
------

* Fixed handling closed socket (GitHub #4)

0.15
----

* Forked by Jakub Stasiak
* Made Python 3 compatible
* Added setup script, made installable by pip and uploaded to PyPI
* Set up Travis build
* Reformatted the code and moved files around
* Stopped catching BaseException in several places, that could hide errors
* Marked threads as daemonic, they won't keep application alive now

0.14
----

* Fix for SOL_IP undefined on some systems - thanks Mike Erdely.
* Cleaned up examples.
* Lowercased module name.

0.13
----

* Various minor changes; see git for details.
* No longer compatible with Python 2.2. Only tested with 2.5-2.7.
* Fork by William McBrine.

0.12
----

* allow selection of binding interface
* typo fix - Thanks A. M. Kuchlingi
* removed all use of word 'Rendezvous' - this is an API change

0.11
----

* correction to comments for addListener method
* support for new record types seen from OS X
  - IPv6 address
  - hostinfo

* ignore unknown DNS record types
* fixes to name decoding
* works alongside other processes using port 5353 (e.g. on Mac OS X)
* tested against Mac OS X 10.3.2's mDNSResponder
* corrections to removal of list entries for service browser

0.10
----

* Jonathon Paisley contributed these corrections:

  - always multicast replies, even when query is unicast
  - correct a pointer encoding problem
  - can now write records in any order
  - traceback shown on failure
  - better TXT record parsing
  - server is now separate from name
  - can cancel a service browser
  
* modified some unit tests to accommodate these changes

0.09
----

* remove all records on service unregistration
* fix DOS security problem with readName

0.08
----

* changed licensing to LGPL

0.07
----

* faster shutdown on engine
* pointer encoding of outgoing names
* ServiceBrowser now works
* new unit tests

0.06
----
* small improvements with unit tests
* added defined exception types
* new style objects
* fixed hostname/interface problem
* fixed socket timeout problem
* fixed add_service_listener() typo bug
* using select() for socket reads
* tested on Debian unstable with Python 2.2.2

0.05
----

* ensure case insensitivty on domain names
* support for unicast DNS queries

0.04
----

* added some unit tests
* added __ne__ adjuncts where required
* ensure names end in '.local.'
* timeout on receiving socket for clean shutdown


License
=======

LGPL, see COPYING file for details.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/learningequality/python-zeroconf",
    "name": "zeroconf-py2compat",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Bonjour,Avahi,Zeroconf,Multicast DNS,Service Discovery,mDNS",
    "author": "Paul Scott-Murphy, William McBrine, Jakub Stasiak, Jamie Alexandre, Richard Tibbles",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/03/52/d4341a06d5b24b3c1344629efe8affb384ddad2078480bc7b136c6b206a8/zeroconf-py2compat-0.19.17.tar.gz",
    "platform": "unix",
    "description": "python-zeroconf-py2compat\n=========================\n    \nThis is a fork of pyzeroconf, Multicast DNS Service Discovery for Python,\noriginally by Paul Scott-Murphy (https://github.com/paulsm/pyzeroconf),\nmodified by William McBrine (https://github.com/wmcbrine/pyzeroconf),\nand then further modified (off the 0.19.1 tag, the last to support Py2.7)\nby Jamie Alexandre (https://github.com/learningequality/python-zeroconf).\n\nCompatible with:\n\n* Bonjour\n* Avahi\n\nCompared to some other Zeroconf/Bonjour/Avahi Python packages, python-zeroconf:\n\n* isn't tied to Bonjour or Avahi\n* doesn't use D-Bus\n* doesn't force you to use particular event loop or Twisted\n* is pip-installable\n\nPython compatibility\n--------------------\n\n* CPython 2.7, 3.3+\n* PyPy 2.2+ (possibly 1.9-2.1 as well)\n* PyPy3 2.4+\n\nVersioning\n----------\n\nThis project's versions follow the following pattern: MAJOR.MINOR.PATCH.\n\n* MAJOR version has been 0 so far\n* MINOR version is incremented on backward incompatible changes\n* PATCH version is incremented on backward compatible changes\n\nStatus\n------\n\nThere are some people using this package. I don't actively use it and as such\nany help I can offer with regard to any issues is very limited.\n\n\nHow to get python-zeroconf-py2compat?\n=====================================\n\n* PyPI page https://pypi.python.org/pypi/zeroconf-py2compat\n* GitHub project https://github.com/learningequality/python-zeroconf-py2compat\n\nThe easiest way to install python-zeroconf-py2compat is using pip::\n\n    pip install zeroconf-py2compat\n\n\n\nHow do I use it?\n================\n\nHere's an example of browsing for a service:\n\n.. code-block:: python\n\n    from six.moves import input\n    from zeroconf import ServiceBrowser, Zeroconf\n    \n    \n    class MyListener(object):\n    \n        def remove_service(self, zeroconf, type, name):\n            print(\"Service %s removed\" % (name,))\n    \n        def add_service(self, zeroconf, type, name):\n            info = zeroconf.get_service_info(type, name)\n            print(\"Service %s added, service info: %s\" % (name, info))\n    \n    \n    zeroconf = Zeroconf()\n    listener = MyListener()\n    browser = ServiceBrowser(zeroconf, \"_http._tcp.local.\", listener)\n    try:\n        input(\"Press enter to exit...\\n\\n\")\n    finally:\n        zeroconf.close()\n\n.. note::\n\n    Discovery and service registration use *all* available network interfaces by default.\n    If you want to customize that you need to specify ``interfaces`` argument when\n    constructing ``Zeroconf`` object (see the code for details).\n\nIf you don't know the name of the service you need to browse for, try:\n\n.. code-block:: python\n\n    from zeroconf import ZeroconfServiceTypes\n    print('\\n'.join(ZeroconfServiceTypes.find()))\n\nSee examples directory for more.\n\nChangelog\n=========\n\n0.19.16\n-------\n- Fix issue preventing TXT record updates from `ServiceBrowser`\n\n0.19.15\n-------\n- Track all requested broadcast interfaces in addition to those successfully attached\n\n0.19.14\n-------\n- Exclude addresses starting with \"169.254\" from the list returned by get_all_addresses()\n\n0.19.13\n-------\n* Converts some usage of `assert` that should likely persist if `python -O` is used\n* Breaks out interface attachment from `Zeroconf.__init__` into its own method `_add_interfaces`\n* Adds corresponding behavior for removing interfaces, along the lines of how `_add_interfaces` functions but in reverse\n* Exposes new public method `Zeroconf.update_interfaces` which triggers add or removal of interfaces\n* Prevents stack trace reporting of errors that occur because the network is unreachable, `errno.ENETUNREACH`\n* Updates `Zeroconf.send` to accept an `interface` on which filter the interfaces it sends the messages on,\n  such that adding and removing interfaces can attempt to send add/remove messages when the interface is removed\n\n0.19.10\n-------\nReduce (and make configurable) the _GLOBAL_DONE threading wait time to improve discovery.\n\n0.19.9\n------\nTurn _GLOBAL_DONE into a threading Event to allow for better interruptability at close.\n\n0.19.8\n------\nHandle exceptions in interface enumeration and just return an empty list.\n\n0.19.7\n------\nReverted from ifaddr back to ifcfg.\n\n0.19.6\n------\nSwitched from ifcfg to ifaddr for address enumeration.\n\n0.19.5\n------\nAdd support for Android, via pyjnius.\n\n0.19.4\n------\nVendored enum compat.\n\n0.19.3\n------\n* Fix to setup.py, so as to actually include zeroconf.py!\n\n0.19.2 (first release in learningequality/python-zeroconf-py2compat)\n--------------------------------------------------------------------\n* Replace C-based netifaces with pure-Python ifcfg for portability\n* Allow the DNS A record address to be determined by outgoing interface IP\n* Refresh ServiceBrowser entries already when 'stale' (backport from 0.20.0)\n* Add new records first in cache entry instead of last (backport from 0.20.0)\n* Correct broken __eq__ in child classes to DNSRecord (backport from 0.20.0)\n* Fix TTL handling for published service, and use RFC6762 (backport from 0.21.0)\n* Fix UnboundLocalError for count after loop (backport from 0.21.0)\n* Fix UTF-8 multibyte name compression (backport from 0.21.0)\n* Fix a logging call (backport from 0.21.0)\n* Fix service removal packets not being sent on shutdown (backport from 0.22.0)\n* MyListener callback on service TXT record changes (backport from 0.23.0)\n\n0.19.1\n------\n\n* Allowed installation with netifaces >= 0.10.6 (a bug that was concerning us\n  got fixed)\n\n0.19.0\n------\n\n* Technically backwards incompatible - restricted netifaces dependency version to\n  work around a bug, see https://github.com/jstasiak/python-zeroconf/issues/84 for\n  details\n\n0.18.0\n------\n\n* Dropped Python 2.6 support\n* Improved error handling inside code executed when Zeroconf object is being closed\n\n0.17.7\n------\n\n* Better Handling of DNS Incoming Packets parsing exceptions\n* Many exceptions will now log a warning the first time they are seen\n* Catch and log sendto() errors\n* Fix/Implement duplicate name change\n* Fix overly strict name validation introduced in 0.17.6\n* Greatly improve handling of oversized packets including:\n\n  - Implement name compression per RFC1035\n  - Limit size of generated packets to 9000 bytes as per RFC6762\n  - Better handle over sized incoming packets\n\n* Increased test coverage to 95%\n\n0.17.6\n------\n\n* Many improvements to address race conditions and exceptions during ZC()\n  startup and shutdown, thanks to: morpav, veawor, justingiorgi, herczy,\n  stephenrauch\n* Added more test coverage: strahlex, stephenrauch\n* Stephen Rauch contributed:\n\n  - Speed up browser startup\n  - Add ZeroconfServiceTypes() query class to discover all advertised service types\n  - Add full validation for service names, types and subtypes\n  - Fix for subtype browsing\n  - Fix DNSHInfo support\n\n0.17.5\n------\n\n* Fixed OpenBSD compatibility, thanks to Alessio Sergi\n* Fixed race condition on ServiceBrowser startup, thanks to gbiddison\n* Fixed installation on some Python 3 systems, thanks to Per Sandstr\u00f6m\n* Fixed \"size change during iteration\" bug on Python 3, thanks to gbiddison\n\n0.17.4\n------\n\n* Fixed support for Linux kernel versions < 3.9 (thanks to Giovanni Harting\n  and Luckydonald, GitHub pull request #26)\n\n0.17.3\n------\n\n* Fixed DNSText repr on Python 3 (it'd crash when the text was longer than\n  10 bytes), thanks to Paulus Schoutsen for the patch, GitHub pull request #24\n\n0.17.2\n------\n\n* Fixed installation on Python 3.4.3+ (was failing because of enum34 dependency\n  which fails to install on 3.4.3+, changed to depend on enum-compat instead;\n  thanks to Michael Brennan for the original patch, GitHub pull request #22)\n\n0.17.1\n------\n\n* Fixed EADDRNOTAVAIL when attempting to use dummy network interfaces on Windows,\n  thanks to daid\n\n0.17.0\n------\n\n* Added some Python dependencies so it's not zero-dependencies anymore\n* Improved exception handling (it'll be quieter now)\n* Messages are listened to and sent using all available network interfaces\n  by default (configurable); thanks to Marcus M\u00fcller\n* Started using logging more freely\n* Fixed a bug with binary strings as property values being converted to False\n  (https://github.com/jstasiak/python-zeroconf/pull/10); thanks to Dr. Seuss\n* Added new ``ServiceBrowser`` event handler interface (see the examples)\n* PyPy3 now officially supported\n* Fixed ServiceInfo repr on Python 3, thanks to Yordan Miladinov\n\n0.16.0\n------\n\n* Set up Python logging and started using it\n* Cleaned up code style (includes migrating from camel case to snake case)\n\n0.15.1\n------\n\n* Fixed handling closed socket (GitHub #4)\n\n0.15\n----\n\n* Forked by Jakub Stasiak\n* Made Python 3 compatible\n* Added setup script, made installable by pip and uploaded to PyPI\n* Set up Travis build\n* Reformatted the code and moved files around\n* Stopped catching BaseException in several places, that could hide errors\n* Marked threads as daemonic, they won't keep application alive now\n\n0.14\n----\n\n* Fix for SOL_IP undefined on some systems - thanks Mike Erdely.\n* Cleaned up examples.\n* Lowercased module name.\n\n0.13\n----\n\n* Various minor changes; see git for details.\n* No longer compatible with Python 2.2. Only tested with 2.5-2.7.\n* Fork by William McBrine.\n\n0.12\n----\n\n* allow selection of binding interface\n* typo fix - Thanks A. M. Kuchlingi\n* removed all use of word 'Rendezvous' - this is an API change\n\n0.11\n----\n\n* correction to comments for addListener method\n* support for new record types seen from OS X\n  - IPv6 address\n  - hostinfo\n\n* ignore unknown DNS record types\n* fixes to name decoding\n* works alongside other processes using port 5353 (e.g. on Mac OS X)\n* tested against Mac OS X 10.3.2's mDNSResponder\n* corrections to removal of list entries for service browser\n\n0.10\n----\n\n* Jonathon Paisley contributed these corrections:\n\n  - always multicast replies, even when query is unicast\n  - correct a pointer encoding problem\n  - can now write records in any order\n  - traceback shown on failure\n  - better TXT record parsing\n  - server is now separate from name\n  - can cancel a service browser\n  \n* modified some unit tests to accommodate these changes\n\n0.09\n----\n\n* remove all records on service unregistration\n* fix DOS security problem with readName\n\n0.08\n----\n\n* changed licensing to LGPL\n\n0.07\n----\n\n* faster shutdown on engine\n* pointer encoding of outgoing names\n* ServiceBrowser now works\n* new unit tests\n\n0.06\n----\n* small improvements with unit tests\n* added defined exception types\n* new style objects\n* fixed hostname/interface problem\n* fixed socket timeout problem\n* fixed add_service_listener() typo bug\n* using select() for socket reads\n* tested on Debian unstable with Python 2.2.2\n\n0.05\n----\n\n* ensure case insensitivty on domain names\n* support for unicast DNS queries\n\n0.04\n----\n\n* added some unit tests\n* added __ne__ adjuncts where required\n* ensure names end in '.local.'\n* timeout on receiving socket for clean shutdown\n\n\nLicense\n=======\n\nLGPL, see COPYING file for details.\n\n\n",
    "bugtrack_url": null,
    "license": "LGPL",
    "summary": "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)",
    "version": "0.19.17",
    "project_urls": {
        "Homepage": "https://github.com/learningequality/python-zeroconf"
    },
    "split_keywords": [
        "bonjour",
        "avahi",
        "zeroconf",
        "multicast dns",
        "service discovery",
        "mdns"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41471226cd3a0b02725f5e6ebcf1fafa026b447f3b746709d11531f43a8d4bd4",
                "md5": "b534c811251d6413185471c61f4b9525",
                "sha256": "3ee218034396a7f2597817e3b6d90e2520e817e09dca4d0075898316fea0ee48"
            },
            "downloads": -1,
            "filename": "zeroconf_py2compat-0.19.17-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b534c811251d6413185471c61f4b9525",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 42772,
            "upload_time": "2023-08-08T21:27:35",
            "upload_time_iso_8601": "2023-08-08T21:27:35.476704Z",
            "url": "https://files.pythonhosted.org/packages/41/47/1226cd3a0b02725f5e6ebcf1fafa026b447f3b746709d11531f43a8d4bd4/zeroconf_py2compat-0.19.17-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0352d4341a06d5b24b3c1344629efe8affb384ddad2078480bc7b136c6b206a8",
                "md5": "3258d5f18d41c2285589a1e0cb9f5a75",
                "sha256": "8e8d3b399c5549813ed1543eda508b8dbea361b2b4839d9b2fe83ac099f4da9c"
            },
            "downloads": -1,
            "filename": "zeroconf-py2compat-0.19.17.tar.gz",
            "has_sig": false,
            "md5_digest": "3258d5f18d41c2285589a1e0cb9f5a75",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 46751,
            "upload_time": "2023-08-08T21:27:36",
            "upload_time_iso_8601": "2023-08-08T21:27:36.694662Z",
            "url": "https://files.pythonhosted.org/packages/03/52/d4341a06d5b24b3c1344629efe8affb384ddad2078480bc7b136c6b206a8/zeroconf-py2compat-0.19.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-08 21:27:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "learningequality",
    "github_project": "python-zeroconf",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "zeroconf-py2compat"
}
        
Elapsed time: 0.09601s