Gevent based wrapper for pybonjour
Project description
Introduction
============
Salut is a Gevent based wrapper around the pybonjour library to facilitate
the use of bonjour in a cleaner way.
Salut is composed of two main classes, the Announcer and the Browser. Each have
a set of callbacks to respond to events without locking the main greenlet.
Example
=======
```python
class AnnouncerExample(object):
def run(self):
self._announcer = salut.Announcer(
'ServiceName',
'_regtype._tcp',
5000,
self._registered_callback)
while True:
gevent.sleep(1)
def stop(self):
self._announcer.stop()
def _registered_callback(self, domain, regtype, name):
print('announcing: %s%s%s' % (domain, regtype, name))
```
```python
class BrowseExample(object):
def run(self):
self._browser = salut.Browser(
'ServiceName',
'_regtype._tcp',
self._resolved_callback,
self._unresolved_callback)
while True:
gevent.sleep(1)
def stop(self):
self._browser.stop()
def _resolved_callback(self, ip, port):
print('resolved service to %s:%s' % (ip, port))
def _unresolved_callback(self):
print('lost service %s' % self._service_name)
```
License
=======
Salut is licensed under Apache License 2.0
http://www.apache.org/licenses/LICENSE-2.0
============
Salut is a Gevent based wrapper around the pybonjour library to facilitate
the use of bonjour in a cleaner way.
Salut is composed of two main classes, the Announcer and the Browser. Each have
a set of callbacks to respond to events without locking the main greenlet.
Example
=======
```python
class AnnouncerExample(object):
def run(self):
self._announcer = salut.Announcer(
'ServiceName',
'_regtype._tcp',
5000,
self._registered_callback)
while True:
gevent.sleep(1)
def stop(self):
self._announcer.stop()
def _registered_callback(self, domain, regtype, name):
print('announcing: %s%s%s' % (domain, regtype, name))
```
```python
class BrowseExample(object):
def run(self):
self._browser = salut.Browser(
'ServiceName',
'_regtype._tcp',
self._resolved_callback,
self._unresolved_callback)
while True:
gevent.sleep(1)
def stop(self):
self._browser.stop()
def _resolved_callback(self, ip, port):
print('resolved service to %s:%s' % (ip, port))
def _unresolved_callback(self):
print('lost service %s' % self._service_name)
```
License
=======
Salut is licensed under Apache License 2.0
http://www.apache.org/licenses/LICENSE-2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
salut-0.1.6.tar.gz
(7.2 kB
view details)
File details
Details for the file salut-0.1.6.tar.gz
.
File metadata
- Download URL: salut-0.1.6.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e80cb56b33baddef6e17fef78b9dd2f012bb3ece8e23dada299703bcf69675a6 |
|
MD5 | a20aa87e179d4115c00dc1ec889285eb |
|
BLAKE2b-256 | 04aae1c93171dd092e7fba70cad0fb980a85e7268c08751de451226ead24e279 |