Saravanan666/pypi-org huggingface dataset:
Package: prps
PRPSThis is a package for connecting to a Pepper robot using ssh and paramiko to play the rock paper scissors game which can be found here:https://github.com/D7017E/Rock-Paper-Scissors/.
This package is a part of the course D7017E at Luleå University of technology.UsageTo run this package you import server connection and then call its main function.>>> from prps import server_connection
>>> server_connection.main(ip, password, language)ip: string, the ip address of Pepper.password: string, the password of the nao user on Pepperlanguage: string, the langauge Pepper will use, currently Swedish and English are supported
Package: prq
StatsPython parallel task-queue with redisBased onrqredisgeventEnvironment variablesPRQ_LOGS- path to file with logs (512Mb data)PipeLineEvery pipeline part use.wait()to get result, if you want, it not block other task, task run in parallel.Example to testStart workerpython prq.py --url redis://localhost:6379(export python path before)
2. (a) Start pipeline (2 task)python examples/pipeline/task_pipeline.py(b) Start another task in parallel executionpython examples/tasks/default_task.py
Package: prql
Preql (pronounced: Prequel) is an interpreted relational query language.It is designed for use by data engineers, analysts and data scientists.Compiles to SQL at runtime. It has the performance and abilities of SQL, and much more.Support for Postgres, MySQL and Sqlite. (more planned!)Escape hatch to SQL, for all those database-specific features we didn't think to includeProgrammer-friendly syntax and semantics, with gradual type-checking, inspired by Typescript and PythonInterface through Python, HTTP or a terminal environment with autocompletionNote: Preql is still work in progress, and isn't ready for production use, or any serious use yetDocumentationRead hereGet startedSimply install via pip:pipinstall-UprqlThen just run the interpreter:preqlRequires Python 3.8+Read moreQuick Example// Sum up all the squares of an aggregated list of numbers// Grouped by whether they are odd or evenfuncsqrsum(x)=sum(x*x)funcis_even(x)=x%2==0print[1..100]{is_even(item)=>sqrsum(item)}// Result is:┏━━━━━━━━━┳━━━━━━━━┓┃is_even┃sqrsum┃┡━━━━━━━━━╇━━━━━━━━┩│0│166650││1│161700│└─────────┴────────┘In the background, this was run by executing the following SQL code (reformatted):WITHrange1AS(SELECT1ASitemUNIONALLSELECTitem+1FROMrange1WHEREitem+1<100),subq_3(is_even,sqrsum)AS(SELECT((item%2)=0)ASis_even,SUM(item*item)ASsqrsumFROMrange1GROUPBY1)SELECT*FROMsubq_3LicensePreql uses an “Interface-Protection Clause” on top of the MIT license.See:LICENSEIn simple words, it can be used for any commercial or non-commercial purpose, as long as your product doesn't base its value on exposing the Preql language itself to your users.If you want to add the Preql language interface as a user-facing part of your commercial product, contact us for a commercial license.
Package: prqlc
Python bindings toprqlcTheprqlc-pythoncrate offer Rust bindings to theprqlcRust library,
published to a python package namedprqlc.The main entry point is a Python methodprqlc.compile(query: str) -> str.The package is consumed bypyprql&dbt-prql.The crate is not published to crates.io; only to PyPI athttps://pypi.org/project/prql-python/.Installationpip install prqlcUsageimportprqlcprql_query="""from employeesjoin salaries (==emp_id)group {employees.dept_id, employees.gender} (aggregate {avg_salary = average salaries.salary})"""options=prqlc.CompileOptions(format=True,signature_comment=True,target="sql.postgres")sql=prqlc.compile(prql_query)sql_postgres=prqlc.compile(prql_query,options)Relies onpyo3for all the magic.
Package: prql-python
prql-pythonprql-pythonoffers Rust bindings to theprql-compilerRust library. It
exposes a Python methodcompile(query: str) -> str.This is consumed bypyprql&dbt-prql.The crate is not published to crates.io; only to PyPI athttps://pypi.org/project/prql-python/.Installationpip install prql-pythonUsageimportprql_pythonasprqlprql_query="""from employeesjoin salaries (==emp_id)group {employees.dept_id, employees.gender} (aggregate {avg_salary = average salaries.salary})"""options=prql.CompileOptions(format=True,signature_comment=True,target="sql.postgres")sql=prql.compile(prql_query)sql_postgres=prql.compile(prql_query,options)Relies onpyo3for all the magic.
Package: prqrs
prqrsPython priority queue in Rust via pyo3Theprqrspackage provides a simple interface to a priority queue implemented in Rust. This
guide will show you how to create a priority queue, add items to it, and retrieve items based on
their priority.InstallationTo build the Rust project from source run:maturindevelop--releaseAlternatively using the PDM package manager, just runpdm install.UsageCreating a Priority QueueTo create a priority queue, import thePriorityQueueclass from theprqrspackage and
instantiate it:fromprqrsimportPriorityQueuepq=PriorityQueue()Creating ItemsItems that can be added to the priority queue need a value and a priority.
Import theItemclass and create items:fromprqrsimportItemitem1=Item(value=5,priority=3)# An item with value 5 and priority 3item2=Item(value=10,priority=1)# An item with value 10 and priority 1Adding Items to the QueueAdd items to the queue using the push method:pq.push(item1)pq.push(item2)Retrieving Items from the QueueRetrieve items based on their priority using thepopmethod.
This method returns the item with the highest priority (lowest numerical value of priority):highest_priority_item=pq.pop()ifhighest_priority_itemisnotNone:print(f"Value:{highest_priority_item.value}, Priority:{highest_priority_item.priority}")Checking if the Queue is EmptyTo check whether the priority queue is empty, use theis_emptymethod:ifpq.is_empty():print("The priority queue is empty.")else:print("The priority queue is not empty.")ExampleHere is a complete example that demonstrates creating a priority queue, adding items, and retrieving
them:fromprqrsimportPriorityQueue,Item# Create a priority queuepq=PriorityQueue()# Add itemspq.push(Item(value=5,priority=3))pq.push(Item(value=10,priority=1))pq.push(Item(value=7,priority=2))# Retrieve and print itemswhilenotpq.is_empty():item=pq.pop()print(f"Value:{item.value}, Priority:{item.priority}")This will outputValue: 5, Priority: 3
Value: 7, Priority: 2
Value: 10, Priority: 1BenchmarkingRunningpdm install(ormaturin develop) to install the Rust wheel followed bypython benchmark_1m.py:1.1 GHz CPU: (0.18+0.51)sEnqueue time for 1 million items: 0.1798386573791504 seconds
Dequeue time for 1 million items: 0.5103330612182617 seconds3.7 GHz CPU: (0.08+0.19)sEnqueue time for 1 million items: 0.08250904083251953 seconds
Dequeue time for 1 million items: 0.1858220100402832 seconds
Package: pr-review-bot
pr-reviewerStreamline Your GitHub Pull Requests with AI, co-authored with GPT4.🚀 Excited to announce our new open-source project: PR Review Bot, a GitHub Pull Request review bot powered by OpenAI's GPT-3.5-turbo!
🤖 PR Review Bot automatically reviews open PRs in your GitHub repository, providing helpful feedback and even approving or requesting changes based on the analysis of the PR text and comments.
🔧 Save time and effort in your development workflow by automating the initial review process, ensuring PRs adhere to your project's guidelines and best practices.🌟 Key features:Automatically reviews open PRsLeverages OpenAI's GPT-3.5-turbo for intelligent analysis and feedbackCan be easily customized to fit your project needsEasy to set up and useCosts analysis of each reviewExampleInstallpip install pr-review-botSetupexport PR_REVIEW_BOT_TOKEN='your github token'
export PR_REVIEW_BOT_OPEN_AI_KEY='your open ai key'
export PR_REVIEW_BOT_OWNER='github user'
export PR_REVIEW_BOT_REPO_NAME='github repo'How to getGithub tokenHow to getOpen AI keyUsageTo review all open pull requests:pr-review-bot review-all-open-prTo review a specific pull request:pr-review-bot review-pr <PR nuber>For help:pr-review-bot --helpTestingpytest --cov=pr_review_bot ./tests
Package: prs
prsprs is a small utility that lets you pipe things to Python and process them in a list comprehension.If you've ever wished you could manipulate items in your shell with a Python list comprehension, prs is for you.InstallationJustpip install prs.Usageprs is simple. You pipe stuff into it from the shell, it exposes whatever is piped as a list calledi(without final
newlines) to a script, and expects the script to return either a string or an iterable to a variable calledo. That
variable is then printed to stdout, so you can pipe it toshfor execution.$ls-1
LICENSE
prs/
README.md
setup.cfg
setup.py

$ls-1|prs"o = [l.lower() for l in i]"license
prs
readme.md
setup.cfg
setup.pyMultiple lines can be separated by a semicolon.Various libraries are already imported (but feel free to import your own):osresyspathlib.PathExamplesNote: The examples here won't actually run the commands, they will just display them so you can see what will actually
run. To run the commands for real, just append| shto each example.Append.bakto all files in the current directory:$ls-1|prs"o = ['mv {} {}.bak'.format(l, l) for l in i if Path(l).is_file()]"mvLICENSELICENSE.bak
mvREADME.mdREADME.md.bak
mvsetup.cfgsetup.cfg.bak
mvsetup.pysetup.py.bakConcatenate all entries into one:02:28:39$ls-1|prs"o = 'touch ' + ' '.join(i)"touchLICENSEprsREADME.mdsetup.cfgsetup.pyCompletely ignore all input:02:29:35$ls-1|prs"o = 'hi'"hiChange the extension of all files in all subdirectories:$prs'o = ["mv %s %s" % (l, l.with_suffix(".2py")) for l in Path(".").glob("**/*.py")]'mvsetup.pysetup.2py
mvbuild/lib/prs/cli.pybuild/lib/prs/cli.2py
mvbuild/lib/prs/__init__.pybuild/lib/prs/__init__.2py
mvprs/cli.pyprs/cli.2py
mvprs/__init__.pyprs/__init__.2py
Package: prsample
prsampleInplementation of pseudo-random sampling from aInstallationpip3installprsampleorpip3install--userprsampleExample usageThe minimum required toclass Example():
    def __init__(self, ... ):
    	# State to describe an example
        return

    def __hash__(self): 
        return super.__hash__((self.class_a, self.a, self.class_b, self.b))

    def __str__(self): 
        return str(self.class_a)  + '(' + str(self.a) + ') ' + str(self.class_b) + '(' +str(self.b) + ')'

    def is_valid(self, class_list):
    	# Optional checks go here
        return True

    def get(self):
        return (self.class_a, self.a, self.class_b, self.b)
Package: prsaw
PRSAW 0.4.0PRSAW, an acronym forPython Random Stuff API Wrapper, is a wrapper for theRandom Stuff API.
PyPI:https://pypi.org/project/prsaw/InstallationYou can install released versions of prsaw from the Python Package Index with pip or a similar tool:Stable Release:pip install prsawWorking Version:pip install git+https://github.com/CodeWithSwastik/prsaw.gitExample Usage (No API KEY)# import the modulefromprsawimportRandomStuff# initiate the objectrs=RandomStuffV2()# get a response from an endpointresponse=rs.get_ai_response("How are you?")print(response)# close the object once done (recommended)rs.close()Example async usage (With an API key)# import the modulefromprsawimportRandomStuff# initiate the object with async modeapi_key="Your API Key"rs=RandomStuff(async_mode=True,api_key=api_key)# get a jokejoke=awaitrs.get_joke()print(joke)# close the sessionawaitrs.aclose()PlansIf you've purchased a premium plan you can pass that as a paramater to RandomStuffV3 or RandomStuffV4plan="Can be pro/biz/mega/ultra"rs=RandomStuffV4(api_key=api_key,plan=plan)Server (V4)You can specify the server in RandomStuffV4 if you wantserver="Can be primary/backup/unstable"rs=RandomStuffV4(api_key=api_key,server=server)MiscYou can also passdev_name,bot_nameandai_languageas paramaters to RandomStuffV3 or RandomStuffV4.Functions availableThe current list of asynchronous functions available are:# endpointsawaitget_joke(_type)# Refer to https://api.pgamerx.com/endpointsawaitget_image(_type)# for all the endpointsawaitget_ai_response(msg)# othersawaitaclose()# closes the objectImportant LinksRegister API key -Click HereDocumentation/Endpoints -Click Here
Package: prsaw2
prsaw2Simple python API wrapper for the Random Stuff API.Easy to useWraps the entire APISupports both async and syncSupports v2, v3 and v4 version of APIPyPi PackageDocumentationInstallationInstallation can be done easily using the python package managerpippipinstallprsaw2QuickstartFirstly make sure toget the API key from hereHere are few examples to get you started.Getting AI responseimportprsaw2client=prsaw2.Client(key='api-key-here')response=client.get_ai_response("Hi there")client.close()# Not necessaryprint(response)Getting random jokeimportprsaw2client=prsaw2.Client(key='api-key-here')response=client.get_joke(type="any")client.close()# Not necessaryprint(response.joke)Getting random imageimportprsaw2client=prsaw2.Client(key='api-key-here')response=client.get_image(type="any")client.close()print(response)Async SupportThe library also supports async usage.importprsaw2importasyncioclient=prsaw2.AsyncClient(key="api-key-here")asyncdefcoro():response=awaitclient.get_ai_response("Hello world")awaitclient.close()print(response)loop=asyncio.get_event_loop()loop.run_until_complete(coro())
Package: prs-lib
PRS Lib是对 PRS REST API 的封装，开发者可以直接调用与 PRS 服务进行通信。PRS 目前提供了两个环境供开发者使用：正式环境，域名https://press.one测试环境，域名https://beta.press.one开发环境，域名https://beta.press.one目前对 DApp 开放的接口有：DApp 创建和维护。用户授权。签名。签名文件相关。(签名文件、获取文件)合约相关。（创建合约、绑定合约、查询合约）合约交易相关。（购买合约、合约交易记录）区块信息查询。钱包相关。（查询钱包、查询交易历史、充值、提现）快速开始注册账号开发者前往 PRS 官网注册账号。(正式环境：https://press.one测试环境：https://beta.press.one)登录成功后进入开发者设置、我的 DApp，完善开发者信息以及创建 DApp。在项目中安装此LibDApp 在合适的时候引导用户进行授权授权成功后即可进行签名发布文件、创建合约等操作更多信息，请参考开发者网站。Python 版本支持支持>= Python 3.6安装通过pip安装:pipinstallprs-lib初始化在代码中import prs_lib，之后创建 clientimportprs_lib# 初始化 clientclient=prs_lib.PRS({'env':'dev','private_key':'private key ..','address':'address ...','token':'token ...','debug':True,})# 其中，`env` 是必填的，其它都是可选的示例代码以下代码根据块的 id 从链上对块内容进行获取importprs_libclient=prs_lib.PRS({'env':'dev','debug':True,})res=client.block.get_by_rids(['ba03bd584d69b89615ce8db22b4c593342a5ec09b343a7859044a8e4d389c4c2','65163724a98d29506b1031dc68fa62fb5a7a11fe631fb723a723b2a19e9bb65c'])print(res.json())APIprs-lib 暴露一个 PRS 类，开发者通过创建 PRS 实例，来对 REST API 进行交互。$ pydoc prs_lib看某个具体模块的帮助，比如，查看block的文档：$ pydoc prs_lib.block
Package: prsmsp
prsmspDescriptionPython Library for sending SMS with supported SMS service providers, This project works as an API between you and your SMS provider, read more about this project atRead The Docs.FeaturesWhen you use a SMS panel from a provider, you implement it from zero, and if you want to change the panel, you need to refactor all of your code.
and for implementing a panel from zero you need time to read their document and try to use it and implement it.
this project save you time for implementing panels and for refactoring your code.Why use this project?You have all the famous and well designed SMS panels ready to go.You can have several SMS panels at the same time.Don't need to build the wheel of your bicycle each time ☺.Fast and SmallEasy to implement and useSupported panelsKavenegarSms.irWeb oneMeli PayamakMedianaGhasedak SmsFaraz SmsNik SmsSms1SapakHow to use?First lets install the packagepipinstallprsmspThis block of code is forkavenegarsms panel.Each of sms panels has its own parameters. Please read their docs first.fromprsmspimportPanelapi_key="your api key"panel=Panel.initiate("kavenegar",api_key=api_key)# authreceptor="your receptor"msg="your message"panel.send_sms(receptor,msg)DocsHow to support this project?for this project to be better and bigger than what it is now.
we need to support more panels and even test a real send sms which needs a subscription for each sms provider
if you have subs for any sms panel or docs of any sms panel and you think it would be good for this pacakge to have support that sms panel please open an issue or contact me
My email ispany.parsariyahi@gmail.com
Package: pr-stats
PR-statsPR-stats is an open-source python library that brings different functions to bring stats about pull requests.Author: Kazi Amit HasanHow to get your personal GitHub access tokenYou can follow the instructions from listed link to obtain such a token.
Link:https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-tokenProject Description:PR stats brings different statistics about pull requests.Installation:pip install pr-statsPackage available athttps://pypi.org/project/pr-stats/How to use:All stats about pull requests:get_pull_requests("ownername", "reponame", "your_token")Available features:idtitlestatecreated_atupdated_atclosed_atlifetime_minutesfirst_comment_timefirst_response_timeuser_loginuser_nameuser_avatar_urlhead_refhead_shahead_repo_namebase_refbase_shabase_repo_namemerged_atreviewersHow to cite:@online{PR-stats,title={PR-stats},url={https://pypi.org/project/pr-stats/},urldate={2023-01-06},publisher={Kazi Amit Hasan}}Future Works:Add some more automations.How to contribute:Any contribution would be highly appreciated. Kindly go through the guidelines for contributing in github.Change Log0.0.1 (6/1/2023)First Release0.0.2 (6/1/2023)instructions added0.0.3 (6/1/2023)instructions added and typos fixed
Package: prs-utility
prs-utility 是 PRS 为 Python 提供的算法工具库，包含项目中用到的消息摘要、签名算法。Python 版本支持支持>= Python 3.6安装pip install prs-utility使用示例# 根据 keystore 和 password 得到私钥importjsonimportprs_utilitykeystore={"address":"758ea2601697fbd3ba6eb6774ed70b6c4cdb0ef9","crypto":{"cipher":"aes-128-ctr","ciphertext":"92af6f6710eba271eae5ac7fec72c70d9f49215e7880a0c45d4c53e56bd7ea59","cipherparams":{"iv":"13ddf95d970e924c97e4dcd29ba96520"},"mac":"b9d81d78f067334ee922fb2863e32c14cbc46e479eeb0acc11fb31e39256004e","kdf":"pbkdf2","kdfparams":{"c":262144,"dklen":32,"prf":"hmac-sha256","salt":"79f90bb603491573e40a79fe356b88d0c7869852e43c2bbaabed44578a82bbfa"}},"id":"93028e51-a2a4-4514-bc1a-94b089445f35","version":3}password='123123'private_key=prs_utility.recover_private_key(json.dumps(keystore),password)print('private_key:',private_key)# 计算 hash 值## 计算 bytes、int、bool 的 hash 值print(prs_utility.keccak256(primitive=b'hello'))print(prs_utility.keccak256(primitive=42))print(prs_utility.keccak256(primitive=True))注：函数的第一个可选参数是primitive，所以，可以不写该参数print(prs_utility.keccak256(42))## 计算 text 或 字符串 的 hash 值print(prs_utility.keccak256(text='hello'))withopen(__file__)asfp:content=fp.read()file_hash=prs_utility.keccak256(text=content)print('file hash:',file_hash)## 计算 hex str 的 hash 值print(prs_utility.keccak256(hexstr='0xabcd'))# 根据 PRS 协议组合 block data, 并且使用 privateKey 进行签名data={'file_hash':file_hash,}key_pair=prs_utility.create_key_pair()private_key=key_pair['privateKey']sig=prs_utility.sign_block_data(data,private_key)print('signature:',sig)# 生成一对新密钥key_pair=prs_utility.create_key_pair()print('key_pair:',key_pair)APIprs-utility提供了常用的加解密函数和一些用于格式转化的工具函数$ pydoc prs_utility
Package: prsw
PRSW, the RIPE Stat Wrapper, is a Python package that allows for simple access to
theRIPEstat Data API.InstallationPRSW is supported on Python 3.7+ and can be installed viapip.pipinstallprswTo install the latest development version run the following instead:pipinstall--upgradehttps://github.com/jvoss/prsw/archive/master.zipQuickstartRIPEstat can be instantiated with a few options. For details see the
documentation athttps://prsw.readthedocs.io.To instantiate a basic instance of RIPEstat:importprswripe=prsw.RIPEstat()With theripeinstance you can interact with the RIPEstat API:# Find all announced prefixes for a Autonomous Systemprefixes=ripe.announced_prefixes(3333)# Interact with the looking glassforcollectorinripe.looking_glass('140.78.0.0/16'):print(collector.location)forpeerincollector.peers:print(peer.asn_origin,peer.as_path,peer.community,peer.last_update,peer.prefix,peer.peer,peer.origin,peer.next_hop,peer.latest_time)# Check RPKI validation statusprint(ripe.rpki_validation_status(3333,'193.0.0.0/21').status)Please see thedocumentationfor more options.ContributingContributions are encouraged. Please seeCONTRIBUTINGfor details.AcknowledgementsInspiration for several elements of this project came fromPRAW, the Python Reddit API Wrapper.LicensePRSW is licened under theSimplified BSD License.
Package: prtdep
prtdepCRUX linux ports dependencies helper.
Help resolving dependencies for CURX ports.
It calculates dependencies for specified list of ports root paths.
It can list dependencies for list of packages, list packages that
depend on specified list of packages. For specified packages it
can print list of packages that can freely be removed after them
to have system without orphans.UsageAs libraryfromprtdepimportprtdepprtdep=prtdep.Prtdep('/usr/ports')prtdep.calc_deps()...For a complete list of functionality see source code.As script:python prtdep.py --helpAs installed console script:prtdep --helpInstallationfrom source:python setup.py installor from PyPI:pip install prtdepDocumentationthis README.rst, code itself, docstringsprtdep can be found on github.com at:https://github.com/darko-poljak/prtdep
Package: prtg-cli
prtg-cliCLI for PRTG Network MonitorInstallation$pip3install--user--upgradeprtg-cliSetupFor communication with PRTG, use options or set thePRTG_HOST,PRTG_USERNAME, (PRTG_PASSWORDorPRTG_PASSHASH) environment variablesUsage$prtg-cli
Usage:prtg-cli[OPTIONS]COMMAND[ARGS]...

Options:--hostTEXTHostofthePRTG--usernameTEXTUsernameofthePRTG--passwordTEXTPasswordofthePRTG--passhashTEXTPasshashofthePRTG--helpShowthismessageandexit.

Commands:duplicategetobjectpasshashprtg_versionsensor_typesstatusversionSuggestionsPlease use a unique name forprobes,groupsanddeviceson PRTGExamplesInformation### Get all probes$prtg-cligetprobes### Get all groups$prtg-cligetgroups### Get specific group$prtg-cligetgroups<GROUP_NAME>### Get all devices$prtg-cligetdevices### Get specific device$prtg-cligetdevices<DEVICE_NAME>Duplication### Duplicate a group$prtg-cliduplicategroup--source<Source_Group>--target<Target_Group>--target-name<New_Group_Name>### Duplicate a device$prtg-cliduplicatedevice--source<Source_Device>--target-group<Target_Group>--target-name<New_Device_Name>--target-host<New_Device_Host>Object Manipulation### Scan a object$prtg-cliobject--statescan--resourcedevices--item<DEVICE_NAME>### Resume a object$prtg-cliobject--stateresume--resourcedevices--item<DEVICE_NAME>### Stop a object$prtg-cliobject--statestop--resourcedevices--item<DEVICE_NAME>### Delete a object$prtg-cliobject--statedelete--resourcedevices--item<DEVICE_NAME>Example of Adding Multiple Devices With Config File$catexample.yml# Device Nameclone:PROD_RABBITMQ_CLUSTER# Target Groupgroup:PRTG_CLI

devices:-name:CHECKOUT_RMQ_CLUSTER_01host:10.0.20.32-name:CHECKOUT_RMQ_CLUSTER_02host:10.0.20.33

$prtg-climanager--config-fileexample.yml
-Createnew'CHECKOUT_RMQ_CLUSTER_01'device
-Createnew'CHECKOUT_RMQ_CLUSTER_02'deviceCreditsThank you for offering fabulous, amazing, incredible rest api at PRTG, it is very nice. :)https://www.paessler.com/prtg
Package: prtg-pyprobe
pyprobe for PRTGA platform independent implementation of a PRTG probe which communicates via theminiprobe api.ImportantThis isnota full PRTG remote probe and therefore has only alimited setof functions and sensors. These sensors are alsonotthe same sensors that are built into the normal PRTG remote probe, they function differently and offer different capabilities.InformationDocumentationThe documentation is availablehere.Issue trackerIf you should encounter any bugs, issues or have feedback please head over to theissue tracker.ContributorsKonstantin Wolff, Paessler AG (@devKonz)Greg Campion, Paessler AG (@cainde)Torsten Lindner, Paessler AGMax Funke, Paessler AG (@maxfunke)Erhard Mikulik, Paessler AG (@mikonaut)Olaf van Zandwijk (@olafatstibbons)