Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmodiscovery-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cosmodiscovery-0.1.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

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

Hashes for cosmodiscovery-0.1.0.tar.gz
Algorithm Hash digest
SHA256 719d7bd979b62a55464e99eb9c8d6790cd5a6cbae32f7f88320f324575ba7107
MD5 25a0007693e2438917368184cd3461bf
BLAKE2b-256 a824fd2dcb6babee9ee93472cbccd45d42aad0914f4e146fdef6261dcab61e29

See more details on using hashes here.

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

Hashes for cosmodiscovery-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4523ca40ed4b522ba3d209066f3af585bdfe55c5209d5281ae8f92fafffd2103
MD5 f9bca0f59047d5f650d9319ec5a8493a
BLAKE2b-256 220bcc1fd5965bbaedff2fe1ea645c450c9e92da790de1cdb1a5876271a156f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page