A Free Network Discovery Service
Project description
Cosmo Network Discovery API
Documentation for The OpenSource Cosmo Network Discovery API
This is the main implemtation written in python. For other implementations see Implemtations and for a description on the API and Protocol see API Docs
Installation
You can Install it with Pip and PyPi
python3 -m pip install cosmodiscovery
or with Pip and Github without PyPi
python3 -m pip install git+https://github.com/SamHDev/CosmoDiscovery.git
Usage
Import the libary
import cosmodiscovery as discovery
A Discovery Server
server = discovery.DiscoveryServer()
server.listen()
Yep! Thats it!
If you want a custom scheme or port you can do it like this:
server = discovery.DiscoveryServer(port=12892, scheme="_discovery._cosmo.home_device"))
Sending Custom Data with the discovery reply. cls is a DiscoveryRequestMessage Object
@server.discovery_callback
def on_msg(cls):
cls.reply(data={})
A Discovery Client
Create a DiscoveryClient Object like this
server = discovery.DiscoveryServer()
Or with Paramaters like so
client = discovery.DiscoveryClient(port=12892, scheme="_discovery._cosmo.home_device"))
One Created you can run this
results = client.discovery()
This function returns a list of DiscoveryResult objects. If the list is empty, then no devices were found.
If you wish to add arguments such as custom data to send within the Discovery Request or shorten the discovey reply wait time
you can do so like this:
results = discovery(timeout=1, data={})
Again! Its that simple
Further Documentation
For Further Documentation see docs.md
Written for CosmoHome by SamHDev. Licensed under GNU General Public License v3.0 as per License File
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cosmodiscovery-0.1.0.tar.gz.
File metadata
- Download URL: cosmodiscovery-0.1.0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
719d7bd979b62a55464e99eb9c8d6790cd5a6cbae32f7f88320f324575ba7107
|
|
| MD5 |
25a0007693e2438917368184cd3461bf
|
|
| BLAKE2b-256 |
a824fd2dcb6babee9ee93472cbccd45d42aad0914f4e146fdef6261dcab61e29
|
File details
Details for the file cosmodiscovery-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cosmodiscovery-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4523ca40ed4b522ba3d209066f3af585bdfe55c5209d5281ae8f92fafffd2103
|
|
| MD5 |
f9bca0f59047d5f650d9319ec5a8493a
|
|
| BLAKE2b-256 |
220bcc1fd5965bbaedff2fe1ea645c450c9e92da790de1cdb1a5876271a156f1
|