Saravanan666/pypi-org huggingface dataset:
Package: windchill
This is a package that has useful machine vision for use with CarsCHANGE LOGRELEASE 10.0.0.1  (7/27/2021)First Release\RELEASE 20.0.0.2 –> 7/27/2021Just wanted to test some things outreally didn’t don anything\-RELEASE 3
-0.0.0.3–> 7/27/2021
-Just wanted to test some things out
-really didn’t don anything
Package: wind-correction
Wind CorrectionAllows you to calculate the displacement of a falling object caused by the wind.InstalationIf you don't have it yet, installPoetry$curl-sSLhttps://install.python-poetry.org|python3-Repository Setup$gitclonegit@gitlab.com:academic-aviation-club/droniada-2024/wind-correction.git
$cdwind-correction
$poetryshell
$poetryinstall--no-rootChecking Code Quality$taskformatting
$taskflake8
$taskmypy
$taskpylintRun code$python-mwind_correction.ballInstruction for Windows usersRead thisinstallation guide
Package: win-defender
Win DefenderWindows Defender contains several functions for tools to secure Windows machine and get compliant with common regulations.Win-Block-USBsA simple python script to block usb root hubs on windows devices.UsageRun cmd prompt/Powershell as administratorClone repogitclonehttps://github.com/dmdhrumilmistry/win-block-usbsChange directorycdwin-block-usbsRun scriptpythonwin-block-usb.py
Package: windel
WindelSliding-window INDEL correctionNAME
    windel.py - Performs windowed indel analysis in a multiprocessing fashion.

SYNOPSIS
    windel.py REFERENCEFILE ALIGNMENTFILE OUTFILE <flags>

DESCRIPTION
    Performs windowed indel analysis in a multiprocessing fashion.

POSITIONAL ARGUMENTS
    REFERENCEFILE
        path to reference fasta file
    ALIGNMENTFILE
        path to alignment file (bam/sam)
    OUTFILE
        path to output file (csv)

FLAGS
    --fasta_out=FASTA_OUT
        Optional path to corrected fasta output (default None).
    --prop_thresh=PROP_THRESH
        threshold for the proportion of windowed reads having an indel at a position for an edit to be made (default 0.9)
    --window=WINDOW
        width of window to use, must be odd (default 11)
    --processes=PROCESSES
        number of processes to spawn (default is the number of cpus)

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS
Package: windfile
文件管理工具背景现实生活数字化不断深入，电脑中的文件越来越多，照片也越来越多。备份是必须的手段，一旦磁盘损坏，损失无法估算。
但备份的时候不知道多少文件是备份过的，多少备份过的文件又是更新了的。还有可能很多文件在多个目录中重复存在，浪费很多存储空间。
本工具就是为了解决这两种情况而编制的。供大家使用。主要功能：文件比较和同步源目的文件夹文件比较，判断文件是否已经同步。根据结果，选择需要同步的文件，快速双向同步。文件消重发现给定的文件夹下的重复文件；(文件尺寸+修改时间）（文件尺寸+文件时间+md5值）挑选重复文件删除。文件查找支持正则表达式查找文件名Installation and Dependencies具备Python3 运行环境如果你已经在电脑上安装了python3，可以直接使用pip3 安装pip3 install windfile直接下载可执行文件github  https://github.com/gonewind73/FileManage/blob/develop/dist/windfile.exe运行：windfile.bat或者python -m windfile.fileman_ui设置可以设置最大深度，缺省为10可以设置文件夹下最大节点数（包括文件夹和文件），缺省为500可以根据需要设置 当前用户Home目录的.windfile 中 修改 max_depth 和 max_nodes 即可反馈有使用上问题，请发送邮件给gonewind08@qq.com版本更新记录2022/06/02/Ver 2.0.1修改了配置文件中的Bug，迁移到用户home目录修复其他一些问题2022/05/24/Ver 2.0.0 改写了大部分逻辑，更易使用。支持最大深度、最大节点数设置，避免超大文件夹长时间等待。2018年2月6日 v1.3 发布2018年1月15日 版本1.1发布
Package: windfreak
windfreak-pythonAbstractwindfreakis a pure Python package to facilitate the use ofWindfreak Technologiesdevices.windfreakrequires Python 3.windfreakis MIT licensed.Supported devicesSynthHD v1.4SynthHD PRO v1.4SynthHD v2SynthHD PRO v2InstallationUsingpip:pip install windfreakUsingsetup.py:git clone https://github.com/christian-hahn/windfreak-python.git
cd windfreak-python
python setup.py installExampleSynthHDfromwindfreakimportSynthHDsynth=SynthHD('/dev/ttyACM0')synth.init()# Set channel 0 power and frequencysynth[0].power=-10.synth[0].frequency=2.e9# Enable channel 0synth[0].enable=TrueLicensewindfreak-python is covered under the MIT licensed.
Package: windget
windgetwindget is a third party Win.d API for python. It's embeded within RiskQuantLib.It is also equipped with a pycharm plugin named as windget. You can search pycharm plugin market to install this code completion plugin.The basic Win.d API provides with w.set, w.wss, w.wsd, etc. However, users have to depend the Code Generator within Win.d Desktop terminal to find out the English name of attributes that they want. For example, before using Code Generator, you will never be able to know you shoule usepct_chgrather thanpercentage_changeto pull out the data of percentage change of every stock.This is inconvenient because you have to use CG in Win.d terminal every time you download data. This library allows users to index function with attribute name. In the above example, just use:from windget import *getPctChg("000001.SZ","tradeDate=20200519")Every attribute that is provided in old wind API is reformed to a new function in this library. And every function start with aget, if you are using pycharm, the IDE shoule auto-finish the rest part of this function.If you find this is still not good enough, this library also provides the index with Chinese. In pycharm, pressAlt+Shift+Fto open the index window, and type any Chinese key words, the result will till you which function you should use. In above case, pressAlt+Shift+Fin pycharm and type涨跌to see how many function this library gives you.Notice: If you installed SouGou Input, the key of Alt+Shift+F may not work because SouGou covers it with other functions, you have to go to settings of SouGou to shut it down.You can read the document of windget onhttps://windget-doc.readthedocs.io/zh/latest/or read the document of RiskQuantLib onhttps://riskquantlib-doc.readthedocs.io/en/latest/index.htmlwindget是一个三方开发的万得python接口，它使得用户可以以更为方便的方式从万得获取数据。windget也集成于RiskQuantLib中。使用windget的有效方法是使用windget的pycharm插件。使用pip安装了windget之后，您可以在pycharm的插件市场搜索并安装windget，此插件会为您提供实时的代码补全和中文字段提示。万得默认的python数据接口使用w.set, w.wss, w.wsd等函数向用户提供数据服务，但用户必须依赖万得的桌面终端中的代码生成器来寻找字段的名称，这非常不便。比如当用户需要下载某股票过去几年的每日涨跌时，需要先打开万得终端的代码生成器，找到涨跌对应的字段名为pct_chg而不是percentage_change，然后再使用函数接口。当用户需要频繁获取字段时，这变得非常繁琐。本库提供了通过名称直接检索函数的功能，使得用户不必使用代码生成器就可以快速找到想要的万得函数。在上面的例子中，只需要使用：from windget import *getPctChg("000001.SZ","tradeDate=20200519")本库将万得提供的所有字段都进行了重构，使得每个字段都有对应的函数，用户可以通过字段来获得函数。这样的函数集合被称为get函数族，其中的每个函数都以get开头，紧接字段的英文名称。当用户模糊输入英文名称时，诸如pycharm这样的IDE会自动补全其余的部分，大大加快用户的编码速度。用户也可以通过中文来索引想要的万得函数，在pycharm中同时按住Alt，Shift，以及F，可以打开文本搜索，在其中键入想要的字段的名称，就可以快速看到本库提供的所有相关函数的名称。注意：如果你安装了搜狗输入法，那么搜狗输入法会屏蔽Alt，Shift，以及F，搜狗将其定义为了其他功能，你需要先进入搜狗输入法的设置，快捷键，来关闭这一项。您也可以访问https://windget-doc.readthedocs.io/zh/latest/来获取更多关于windget的信息。或者访问https://riskquantlib-doc.readthedocs.io/zh_CN/latest/来获取更多关于RiskQuantLib的信息。
Package: windlib
Windlib有用的函数库，由SNWCreations创建。只是为个人使用而编写，但我希望这能帮助到你。用法typeoftypeof(variate) -> str检测变量类型，返回字符串。示例:>>> a = 10
>>> typeof(a)
'int'extractextract(filename: str, target_dir: str) -> None支持 ".zip" ".gz" ".tar" ".rar" ".tar.gz" 文件。示例:>>> extract('a.zip', 'a')
>>>get_fileget_file(url: str, save_path: str) -> str从互联网下载文件。参数:url: 被下载文件的URL
save_as_name: 文件在本地上将要使用的名称, 默认为 URL 指向的文件的名称
save_path: 保存路径，默认为当前路径
timeout: 超时时长，单位为秒，默认为 10
headers: 请求头，默认为一个 Windows Chrome 的 UA
md5: 如果提供此项, 在下载完成后会将此项的值作为校验值检查文件完整性
sha1: 如果提供此项, 在下载完成后会将此项的值作为校验值检查文件完整性
max_retries: 如果提供此项, 当下载失败时会重试, 直到下载完成或已重试次数超出限制
no_overwrite: 如果此项不为 False, 则当本地存在与使用 文件在本地上将要使用的名称 命名的文件时引发 FileExistsError 异常。返回: 下载后的文件名可能引发的异常: 当 请求出错 时, 会引发 requests 库的某个原生异常。当 no_overwrite 的值不为 False, 则当本地存在与使用 文件在本地上将要使用的名称 命名的文件时引发 FileExistsError 异常。find_files_with_the_specified_extensionfind_files_with_the_specified_extension(file_type: str, folder: str, slient: bool) -> list在目标文件夹中找到具有指定扩展名的文件，返回值是一个列表。参数:folder: 从哪里查找，默认值为当前目录。
file_type: 一个扩展名，不需要带有 “.” 。例如 "txt", "jar", "md", "class" 或 ".txt" ".jar" ".md" ".class".返回: 被筛选的文件名的列表copy_filecopy_file(src: str or Iterable, dst: str) -> None复制文件（或文件夹）到指定的目录。可以通过列表的方式同时将多个文件复制到指定目录。参数:src: 源文件或目录
dst: 目标路径is_it_brokenis_it_broken(path: str or list) -> bool or list检查一个文件（或目录）是否损坏。允许调用时通过列表检查大量文件和目录。若使用列表来检查文件，则返回一个记录所有损坏的文件路径的列表。参数:path: 文件路径示例:>>> is_it_broken('./aaa.txt')
False
>>> is_it_broken(['./aaa.txt', './bbb.txt', './ccc.txt'])
[]pushdpushd(new_dir: str)临时切换到一个目录，操作完成后自动返回调用前路径。此函数为生成器，请配合 with 语句使用。参数:new_dir: 路径示例:>>> print(os.getcwd())
'D:\\windlib-test'
>>> with pushd('./aaa'):
...    print(os.getcwd())
'D:\\windlib-test\\aaa'
>>> print(os.getcwd())
'D:\\windlib-test'compresscompress(input_path: str, output_name: str, output_path: str = '.', ext='zip') -> str压缩一个目录下的所有文件到一个zip文件，无返回值。参数:input_path: 压缩的文件夹路径

output_name: 压缩包名称 (不需要带扩展名)

output_path: 输出的路径

ext: 压缩包类型 (有效值: 'zip', 'tar', 'tar.gz')

返回: 压缩包文件的完整路径示例:>>> compress('./a', 'a', ext='zip')
'D:\windlib-test\a.zip'
>>>get_sha1get_sha1(path: str) -> str获取一个文件的SHA1校验值，返回值是一个字符串。参数:path: 文件路径示例:>>> get_sha1('setup.py')
'acdf35508f4dfb49e522f161a3e3e885adbf3b99'get_md5get_md5(path: str) -> str获取一个文件的MD5校验值，返回值是一个字符串。参数:path: 文件路径示例:>>> get_md5('setup.py')
'ec210fa5cc05bed851da3fe222b733a9'parent_dir获取 path 的父路径, 仅支持绝对路径。参数:path: 希望获取父路径的路径字符串示例:>>> parent_dir('aaa/bbb/ccc')
'aaa/bbb/'ExtendedDict增强版的字典类型, 其实只是重写了getattr和setattr。示例:>>> exdict = ExtendedDict(a='bbb', c='ddd')
>>> exdict
{'a': 'bbb', 'c': 'ddd'}
>>> exdict.a = 'eee' # __setattr__
>>> exdict.a # __getattr__
'eee'版权所有 (C) 2021 SNWCreations。欢迎对此库做出 Commit 和 Pull Request!
Package: windmill-airflow
WindmillDrag'n'drop web app to manage and create Airflow DAGs. The goal is to
have a Web UI that can generate YML Dag Definitions, integrating with
custom operators and potentially existing DAGs. YML DAGs can then be
synced to a remote repoFront end is built using Typescript ReactBack end is built using Flask on Python 3.6+MVP Required FeaturesFront-End FeaturesDynamic OperatorsMenu DropdownsLoad Operators from AppFormat operator display into classesSearch functionality for operatorsBasic operator level propertiesImplement DAG level propertiesNew DAG FunctionalityParameter TooltipsRender arbitrary viewport windows for New/Save/Load etcOverwrite/Save prompt on NewDAG renaming and save functionalityOpen dag from menuCheck if file already exists on renamePrompt save if there are nodes on openFix loss of state on refresh bugIconsPut File details in File BrowserPull PORT from Flask hostAdd a last saved time to NavBarBack-End FeaturesGenerate Operator ListsCLI to start Web and Front EndGenerate DAG SpecCLI to create new windmill projectCLI to start windmill from a windmill projectImplement windmill-dev startSave/Load Windmill Files functionalityValidate incoming WMLs (is there a need for this?)Get default valuesPull parameters from parent classes[?] Dedupe multi import operators - nothing preventing this but underlying issue is fixedGet WML owner and last-modified details during wml listAllow custom operatorsAdd defaults to CLI --help commandsStrategy for Python Opjects (e.g. callables) - maybe import statement?Backport existing Python DAGs to WMLsAllow YML updates to propogate to WMLsAllow user specified Airflow Version - isolate to docker or something so we can run 2.7 if we want?MVP Usage PatternTo run as a user:Install withpip install airflow-windmillRunwindmill initto create a local Windmill projectRunwindmill runfrom this folder to run the app locallyTo run as a dev:Clone from gitRunpoetry install?Runwindmill-dev install-node-deptsRunwindmill-dev startto start a flask server and use parcel to serve frontendFuture Usage PatternsAuto-sync for windmill project to gitGetting StartedThis package can be installed and run using Pip:pip install windmill-airflowDeployment# Run NPM buildcdwindmill/http/app/
npmrun-scriptbuild# Update git ...cd../../../# Poetry buildpoetrybuild
poetrypublish
Package: windmill_client
windmill_clientOverviewwindmill_clientis a Python package designed to interact with the Windmill API. It provides a convenient way to manage jobs, resources, and states within the Windmill environment, offering functionalities like job creation, execution, status tracking, and state management.It's designed to remain api-compatible with thewmillpackage, but with some added features and a more direct usage
of Windmill's REST API.InstallationTo installwindmill_client, run the following command:pipinstallwindmill-clientUsageBasic UsageThewmillpackage has several methods at the top-level for the most frequent operations you will need.The following are some common examples:importtimeimportwindmill_clientaswmilldefmain():# Get the value of a variablewmill.get_variable("u/user/variable_path")# Run a script synchronously and get the resultwmill.run_script("f/pathto/script",args={"arg1":"value1"})# Get the value of a resourcewmill.get_resource("u/user/resource_path")# Set the script's statewmill.set_state({"ts":time.time()})# Get the script's statewmill.get_state()Advanced UsageThewmillpackage also exposes theWindmillclass, which is the core client for the Windmill platform.importtimefromwindmill_clientimportWindmilldefmain():client=Windmill(# token=...  <- this is optional. otherwise the client will look for the WM_TOKEN env var)# Get the current version of the clientclient.version# Get the current userclient.user# Convenience get and post methods exist for https://app.windmill.dev/openapi.html#/# these are thin wrappers around the httpx library's get and post methods# list worker groupsclient.get("/configs/list_worker_groups")# create a groupclient.post(f"/w/{client.workspace}/groups/create",json={"name":"my-group","summary":"my group summary",})# Get and set the state of the scriptnow=time.time()client.state={"ts":now}assertclient.state=={"ts":now}# Run a job asynchronouslyjob_id=client.run_script_async(path="path/to/script")# Get its statusclient.get_job_status(job_id)# Get its resultclient.get_result(job_id)
Package: windmilltritonv2
windmilltritonv2A client library for promote triton official clientInstallationpipinstallwindmilltritonv2=0.5.0UsageFirst, you need to create a client object.fromwindmilltritonv2.client_factoryimportTritonClientFactoryserver_url="localhost:8000"http_client=TritonClientFactory.create_grpc_client(server_url)orasyncwithTritonClientFactory.create_http_aio_client(server_url)ashttp_aio_clientorgrpc_client=TritonClientFactory.create_grpc_client(server_url)orasyncwithTritonClientFactory.create_grpc_aio_client(server_url)asgrpc_aio_clientIn addition, you can set retry for grpc client:client=TritonClientFactory.create_grpc_client(server_url,num_retries=3,max_interval_secs=20,base_interval_secs=0.3)for http client we have default setting:NUMBER_RETRIES=3MAX_INTERVAL_SECS=20BASE_INTERVAL_SECS=0.3Now you can easy use the client to send requests to the server.for server:client.server_live()client.server_ready()client.server_metadata()for model:client.model_metadata(model_name)client.model_config(model_name)client.model_ready(model_name)client.model_statistics(model_name)for infer:client.model_infer(model_name,inputs,model_version,outputs)client.stream_infer(inputs_iterator)for repository:client.repository_index()client.repository_model_load(model_name)client.repository_model_unload(model_name)for system shared memory:client.system_shared_memory_status()client.system_shared_memory_register()client.system_shared_memory_unregister()for cuda shared memory:client.cuda_shared_memory_status()client.cuda_shared_memory_register()client.cuda_shared_memory_unregister()for trace setting:client.trace_setting()client.get_trace_settings()
Package: windmolen
WindmolenTreat multiple asynchronous iterators like they are a single asynchronous iterator.Example:importasynciofromwindmolenimportFanInasyncdefasync_iterator_1():foriinrange(1,5):yieldiawaitasyncio.sleep(0.5)asyncdefasync_iterator_2():forjinrange(5,9):yieldjawaitasyncio.sleep(1)asyncdefmain():asyncwithFanIn(async_iterator_1(),async_iterator_2())asasync_iterators:asyncforiteminasync_iterators:print(item)if__name__=="__main__":asyncio.run(main())Installpipinstallwindmolen
Package: windnet
网络工具背景主要功能：消息引擎简单路由和DHCPInstallation and Dependencies具备Python3 运行环境如果你已经在电脑上安装了python3，可以直接使用pip3 安装pip3 install windnet反馈有使用上问题，请发送邮件给gonewind08@qq.com版本更新记录2022/05/24/Ver 1.0.0 发布
Package: window2video
Record Window (hwnd) and save the recording as mp4 (normalized fps) - Works even with background windows# Tested with:# Python 3.9.13# Windows 10$pipinstallwindow2videofromwindow2videoimportstart_recorder# starts the recording directlystart_recorder(hwnd=985666,outputfolder='c:\\testrecording',exit_keys='ctrl+alt+k')# interactive modestart_recorder_in_console()
Package: window-auto-generator
Usage IntroGenerate a window with text browser and buttons from configHow To UseimportsysfromPyQt5.QtWidgetsimportQApplicationfromwindow_auto_generatorimportToolWindow,ToolConf,Button,ReqProtoapp=QApplication(sys.argv)tw=ToolWindow(ToolConf(name="my window",desc="my window desc",buttons=[Button("test","desc",ReqProto("http://127.0.0.1:8000/hello?user=1","GET",None)),]))sys.exit(app.exec_())
Package: window-capture-streaming
Grab screenshots from a specific window and process them right awaypipinstallwindow-capture-streamingfromwindow_capture_streamingimportWindowIterCaptureimportreimportcv2capt=WindowIterCapture(hwnd=None,window_text=re.compile(r".*bluestacks.*",flags=re.IGNORECASE),show_capture_keys="ctrl+alt+z",# starts cv2.imshow() - can be enabled/disabled by pressing ctrl+alt+zshow_fps_keys="ctrl+alt+f",# show the fps rate - can be enabled/disabled by pressing ctrl+alt+fkill_screencap_keys="ctrl+alt+x",# kills the capture process)forscreen_shotincapt.get_screenshot(sleeptime=None,resize_width=None,resize_height=None,resize_percent=None,interpolation=cv2.INTER_AREA,):pass# print('do some stuff here')break#if you break out of the loop, stop capturingcapt.kill_screencap()
Package: window-input
window_inputA set of tools for interacting with windows, including those that are non foreground and even minimized.Installationpip install window_inputRecommended Usagefrom window_input import Window, KeyExamplesfrom window_input import Window, Key
import time

if __name__ == "__main__":
    foreground = Window()
    foreground.key_down(Key.VK_F4)
    foreground.key_down(Key.VK_LALT)
    time.sleep(.2)
    foreground.key_up(Key.VK_F4)
    foreground.key_up(Key.VK_LALT)
Package: windownow
AboutSwitch desktop’s windows by typing text from their title, application name,
etc.Now experimentally works on Microsoft Windows.Installation & runningpip install windownow$ windownowKeyboardcontrol+p: highlight previous itemcontrol+n: highlight next itementer | return: hide windownow and raise highlighted windowesc:if typed any filter letter:reset filterif no filter string typed:hide windownowRequirementsSystem enviroment should have installed this packages:python-gtk2 (or higher)python-keybinderpython-wnckpython-wxgtk2.8 (or higher)Check for above packages with your linux distribution package manager, like:aptitude install python-gtk2or (if package not found):aptitude search python-gtk2in Ubuntu | Debian
If You don’t haveaptitudeapplication execute:sudo apt-get install aptitudeLinks:source onBitbucketAuthorswindowNowwas written byxliiv.
Package: window-ops
Window opsThis library is intended to be used as an alternative topd.Series.rollingandpd.Series.expandingto gain a speedup by using
numba optimized functions operating on numpy arrays. There are also
online classes for more efficient updates of window statistics.Installpip install window-opsHow to useTransformationsFor a transformationsn_samples->n_samplesyou can use{[seasonal_](rolling|expanding)}_{(mean|max|min|std)}on an array.Benchmarkspd.__version__'1.3.5'n_samples=10_000# array sizewindow_size=8# for rolling operationsseason_length=7# for seasonal operationsexecute_times=10# number of times each function will be executedAverage times in milliseconds.times.applymap('{:.2f}'.format)window_opspandasrolling_mean0.030.43rolling_max0.140.57rolling_min0.140.58rolling_std0.060.54expanding_mean0.030.31expanding_max0.050.76expanding_min0.050.47expanding_std0.090.41seasonal_rolling_mean0.053.89seasonal_rolling_max0.184.27seasonal_rolling_min0.183.75seasonal_rolling_std0.084.38seasonal_expanding_mean0.043.18seasonal_expanding_max0.063.29seasonal_expanding_min0.063.28seasonal_expanding_std0.123.89speedups=times['pandas']/times['window_ops']speedups=speedups.to_frame('times faster')speedups.applymap('{:.0f}'.format)times fasterrolling_mean15rolling_max4rolling_min4rolling_std9expanding_mean12expanding_max15expanding_min9expanding_std4seasonal_rolling_mean77seasonal_rolling_max23seasonal_rolling_min21seasonal_rolling_std52seasonal_expanding_mean78seasonal_expanding_max52seasonal_expanding_min51seasonal_expanding_std33OnlineIf you have an array for which you want to compute a window statistic
and then keep updating it as more samples come in you can use the
classes in thewindow_ops.onlinemodule. They all have afit_transformmethod which take the array and return the
transformations defined above but also have anupdatemethod that take
a single value and return the new statistic.BenchmarksAverage time in milliseconds it takes to transform the array and perform
100 updates.times.to_frame().applymap('{:.2f}'.format)average time (ms)RollingMean0.12RollingMax0.23RollingMin0.22RollingStd0.32ExpandingMean0.10ExpandingMax0.07ExpandingMin0.07ExpandingStd0.17SeasonalRollingMean0.28SeasonalRollingMax0.35SeasonalRollingMin0.38SeasonalRollingStd0.42SeasonalExpandingMean0.17SeasonalExpandingMax0.14SeasonalExpandingMin0.15SeasonalExpandingStd0.23
Package: window-recorder
InstallationThis only works on Linux systems. You should havexwininfoinstalled by default.pipinstallwindow-recorderIf the above does not work (OpenCV can be finicky), then you can install the dependencies manually.
Installopencvandmssas dependencies (recommended with conda):conda install opencv
conda install -c conda-forge python-mssThen clone this repository anywhere and install locally withpip install -e .UsageTheWindowRecorderclass comes as a context manager.
You pass in a list of window names to record and it will try to find them
in the order given, recording the first one with a valid window configuration.The video will start and end recording according to the life cycle of the
context manager.fromwindow_recorderimportWindowRecorderimporttime# passing in nothing as the window name will allow you to select the window by clicking# want to capture an RViz window, which could have name "RViz*" as wellwithWindowRecorder(["RViz*","RViz"],frame_rate=30.0,name_suffix="rviz"):# do things...time.sleep(0.1)start=time.time()whiletime.time()-start<2:time.sleep(0.1)