Saravanan666/pypi-org huggingface dataset:
Package: comics
comicsGoComicsAPI wrapperInstallationpipinstallcomicsQuick startFind and download the Calvin and Hobbes comic strip published on January 2, 1990:importcomicsch=comics.search("calvinandhobbes").date("January 2, 1990")ch.download("calvinandhobbes.png")Find comicsAvailable comics can be found using thedirectoryclass:importcomics# List available comics - total of 470comics.directory.listall()# >>> ("1-and-done", "9-chickweed-lane-classics", "9chickweedlane", "9to5", ... )# Find endpoints for Calvin and Hobbescomics.directory.search("Calvin and Hobbes")# >>> ("calvinandhobbes", "calvinandhobbesenespanol")First, pass the desired endpoint tocomics.search. For example, to search for Calvin and Hobbes comics in english usecomics.search("calvinandhobbes"); for spanish, usecomics.search("calvinandhobbesenespanol").Search and download comicsThen, search for a comic strip using thedateorrandom_datemethod:importcomics# Get a Calvin and Hobbes comic strip by datech=comics.search("calvinandhobbes").date("2013-05-13")# Also accepts datetime object# Get a random Calvin and Hobbes comic striprandom_ch=comics.search("calvinandhobbes").random_date()Finally, show, download, or stream the comic strip:# Show comic strip - opens in Jupyter notebook or default image viewer applicationch.show()# Download comic strip - defaults to {endpoint}.png if an export path is not provided# E.g., a Calvin and Hobbes comic strip will be exported as "calvinandhobbes.png" in the current working directorych.download()# Stream comic strip - useful if custom image content manipulation is desiredch.stream()AttributesAn instantiatedsearchclass will have the following public attributes:importcomicsgarfield=comics.search("garfield")garfield.endpoint# >>> "garfield"garfield.title# >>> "Garfield"garfield.start_date# >>> "1978-06-19"An instantiatedsearchclass withdateorrandom_datewill have the following public attributes:importcomicsgarfield=comics.search("garfield").date("08/20/2000")garfield.endpoint# >>> "garfield"garfield.title# >>> "Garfield"garfield.date# >>> "2000-08-20"garfield.url# >>> "https://www.gocomics.com/garfield/2000/08/20"garfield.image_url# >>> "https://assets.amuniversal.com/6694c52099bd01365606005056a9545d"ExceptionsAn exception will be thrown if the queried date is unregistered or before the comic's origin date:importcomicsfromcomics.exceptionsimportInvalidDateErrortry:peanuts=comics.search("peanuts").date("1900-01-01")peanuts.download()exceptInvalidDateError:print("Whoops, an invalid date was queried.")An exception will be thrown if the queried endpoint is unregistered:importcomicsfromcomics.exceptionsimportInvalidEndpointErrortry:invalid_comic=comics.search("invalid_endpoint").date("2000-01-01")invalid_comic.download()exceptInvalidEndpointError:print("Whoops, an invalid endpoint was queried.")ContributeIssues TrackerSource CodeSupportIf you are having issues or would like to propose a new feature, please use theissues tracker.LicenseThis project is licensed under the MIT license.
Package: comics-mailer
A python script that notifies you via email whenever your favourite
comics are released.InstallationClone this repository usinggit.DependenciesComics Mailer uses python3 and you can install it usingpip3:pip3 install comics-mailerAlternatively, you can clone this repository and install the dependcies
manually using:git clone https://github.com/andreipoe/comics-mailer.git
pip3 install --upgrade feedparser beautifulsoup4 requestsConfigurationBefore you can use Comics Mailer, you need to configure it. This is done
thorugh two main files:$HOME/.config/comics-mailer/params.cfgis an ini-like
configuration file that contains the Mailgun API key and domain used
to send emails. Seeparams.cfg.templatein this repo for the
paramters you need to configure, or run with--setupfor an
interactive process.$HOME/.config/comics-mailer/watchlist.lstis the list of comics
for which you want to receive alerts. Enter a (partial) title on each
line; blank lines and lines starting with#are ignored, and the
matching is case-insensitive.UsageThe suggested way to run Comics Mailer is to use schedule a weekly cron
job for it. Seeman crontabif you haven’t used cron before.To run the script every Wednesday at 6 pm, you would use the following
job:# m h  dom mon dow   command
  0 18 *   *    3    /path/to/comics_mailer.pyImportant: Make sure you have set up your installation as described
inthe Configuration section. The script willnotwork unless all the settings are in place.Running in DockerYou can run Comics Mailer in a Docker container. To do this, first
obtain the image from DockerHub:docker pull andreipoe/comics-mailer… or build it yourself:docker build -t andreipoe/comics-mailer .Then, set up two directories to hold the application data, for example:mkdir -p /docker-data/comics-mailer/{data,config}Next, set up your configuration as described above and place the
relevant files in theconfigfolder you have just created. As an
alternative, you can run a one-off container to guide you through the
setup process.docker run -it --rm -v /docker-data/comics-mailer/data:/comics-mailer/data -v /docker-data/comics-mailer/config:/comics-mailer/config andreipoe/comics-mailer --setupFinally, run the container using your data folders (if you’ve used the
setup container, make sure you use the same data folders in both):docker run -d --name comics-mailer --restart unless-stopped -v /docker-data/comics-mailer/data:/comics-mailer/data -v /docker-data/comics-mailer/config:/comics-mailer/config andreipoe/comics-mailerBy default, the application inside the container runs at 6 PM every
Wednesday. To override the schedule, set theCRONenvrionment
variable in the container to a validcronstring. For example, to
run every day at 10 PM you would set-eCRON='022 * * *'in yourdocker runcommand (don’t forget the quotes, otherwise your shell
might try to expand the wildcards).You will be able to see the application’s progress through thelast_run.logfile in thedatavolume.CreditsComics Mailer uses data from the awesome comics release lists atComicListand sends emails
through the dead-simpleMailgunservice.
This script is made possible by theBeatifulSoupand
thefeedparserlibraries.
Package: comics-ocr
to build locally after cloningpipinstallcomics-ocr[cuda]-fhttps://download.pytorch.org/whl/torch_stable.html

orpipinstallcomics-ocr[cpu]You can get the necessary model checkpoints and configs fromCOMICS TEXT+repository.Usage# Import libraryfromcomics_ocrimportComicsOCR# initalize the modele2e_ocr_model=ComicsOCR(ocr_detector_config="fcenet_r50dcnv2_fpn_1500e_ctw1500_custom/fcenet_r50dcnv2_fpn_1500e_ctw1500_custom.py",ocr_detector_checkpoint='fcenet_r50dcnv2_fpn_1500e_ctw1500_custom/best_0_hmean-iou:hmean_epoch_5.pth',recog_config='master_custom_dataset.py',ocr_recognition_checkpoint='best_0_1-N.E.D_epoch_4.pth',det='FCE_CTW_DCNv2',recog='MASTER')# Run the modelimg_path="speech_bubble/0/3/9.jpg"text,preprocessed_text,sanitized_text=e2e_ocr_model.extract_text(img_path)
Package: comictagger
ComicTaggerComicTagger is amulti-platformapp forwriting metadata to digital comics, written in Python and PyQt.FeaturesRuns on macOS, Microsoft Windows, and Linux systemsGet comic information fromComic VineAutomatic issue matchingusing advanced image processing techniquesBatch processingin the GUI for tagging hundreds or more comics at a timeSupport forComicRackandComicBookLovertagging formatsNative full support forCBZdigital comicsNative read only support forCBRdigital comics: full support enabled installing additionalrar toolsCommand line interface (CLI) enablingcustom scriptingandbatch operations on large collectionsFor details, screen-shots, and more, visitthe WikiInstallationBinariesWindows and macOS binaries are provided in theReleases Page.Just unzip the archive in any folder and run, no additional installation steps are required.PIP installationA pip package is provided, you can install it with:$ pip3 install comictagger[GUI]There are two optional dependencies GUI and CBR. You can install the optional dependencies by specifying one or more ofGUI,CBRorallin braces e.g.comictagger[CBR,GUI]Chocolatey installation (Windows only)AChocolatey package, maintained by @Xav83, is provided, you can install it with:chocoinstallcomictaggerFrom sourceEnsure you have python 3.9 installedClone this repositorygit clone https://github.com/comictagger/comictagger.gitpip3 install -r requirements_dev.txtpip3 install .orpip3 install .[GUI]
Package: comicvine_api
An easy to use API interface to www.comicvine.com
Modified fromhttp://github.com/dbr/tvdb_apiBasic usage is:>>> import comicvine_api
>>> c = comicvine_api.Comicvine()
>>> iss = c['Y: The Last Man'][1]
>>> iss
<Issue 1 - Unmanned>
>>> iss['issuename']
u'Unmanned'
Package: comiks
ComiksComiks is a command line tool to retrieve authors informations (names and emails) in the repositories commits of a given user.Installation$pipinstallgit+https://github.com/b0oml/ComiksConfigurationThe first timecomiksruns, it will generate a config file.config/comiks/config.tomlin your home directory. This will be the default configuration file used when using comiks.By default, only Github provider is enabled, other providers needs an API key/access token. To enable and configure others providers, you can update the configuration file in your home directory.It is also possible to load the configuration file from another path with option-c, --config.$comiks-c./path/to/config.tomlusernameIf you wan to create your own configuration file, you can take example onthis one.Usage$comiks--help
usage:comiks[-h][-cCONFIG][-lHIGHLIGHT][-pTAGS][-sb]username

Retrieveauthorsinformationsfromcommits.

positionalarguments:usernameUsernameforwhichtoscancommits.

optionalarguments:-h,--helpshowthishelpmessageandexit-cCONFIG,--configCONFIGCustomconfigfile(defaultis~/.config/comiks/config.toml).-lHIGHLIGHT,--highlightHIGHLIGHTStringstohighlightinoutput,separatedbyacomma(defaultisusername).-pTAGS,--providersTAGSComma-speratedlistoftagstoselectwhichproviderstoenable(defaultisinconfig).-sb,--show-branchesShowinwhichbranchesauthorshavebeenfound.ExamplesNormal scan, use config in home directory.$comiksb0omlScan using another config.$comiks-cmy_config.tomlb0omlIn tables output, comiks try to highlight names and emails similar to the given username. You can highlight based on other strings than the username by giving a comma-separated list of strings.$comiks-ljohnb0oml
$comiks-ljohn,doe,somethingb0omlYou can enable/disable availables providers by updating config.toml. Now, let's imagine you have configured all the providers. But, for a given username, you only want to launch one of the providers. Rather than modifying the config each time this happens, you can select which provider to launch with tags.$comiks-pgithub,bitbucketb0oml
$comiks-pgitlabb0omlProvidersBelow is listed all providers currently implemented.NameUrlAuthenticationEnabled by defaultTagsGitHubgithub.comNot needed, but allows to get a higher API rate limityesgithubGitLabgitlab.comNeedednogitlabBitbucketbitbucket.orgNeedednobitbucket
Package: comis
comisThe simplest way to create a Reddit botWithcomisthere is no need to worry about writing complex logic. Instead, the use of decorators allows you to implement simple chaining of logic by abstracting the actions typically needed which gives you more time to worry about actions on the content.Why did I create comis?As a Reddit moderator, I realised some tasks could be easily done if automated. AutoModerator was not powerful enough and directly using the API was tedious and repetitive. I createdcomisto make it easier.
Package: comk-django-account
comk_django_accountcomk个人开发的account模型，用于构建RSA-SHA256验证的权限系统现有功能1. model构建先在settings中进行配置:INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'comk_django_account.apps.ComkDjangoAccountConfig', # 加上这一行
]再执行 migrate 命令:python manage.py2. 添加账户在urls.py下加上url配置:from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('comk_django_account.urls')),
]通过API创建账户:url= '/acount_action/'
request_data = dict(
    method='account.add', # 必传参数
    description='测', # 账户描述
    appid='381', # 账户id
    pri_key=pri_key, # 私钥
    own_public_key=own_public_key, # 公钥
    other_public_key=other_public_key, # 对方公钥
)
request.post(url,json=request_data)3. 设置加密解密Key对于某些数据来说，是非常重要的，那么就不能明文存储在数据库中，必须加密存储，而且，为了方便使用，必须是可逆加密。在此使用的加密算法是AES对称加密，这就涉及到一个问题，Key的值。这里使用了一个默认的值，但是对于生产的项目来说，不建议使用默认的值，在此提供一个设置该Key值的方法，需要在setting文件中配置，如下:setting.py

from comk_django_account import set_account_aes_key
set_account_aes_key(Key)  # Key值在本包内，限定为32位。4. 权限校验对于服务方来说，这里提供一个默认的权限校验方式，只需要加上装饰器即可，使用方法如下:from comk_django_account.views.utils.app_check import request_to_response
@method_decorator(request_to_response, name='dispatch')  # 用户访问权限校验，以及业务正常失败处理
class Server(View):
    """
    提供的服务

    """默认的权限校验方式的要求:1. 权限校验必须限定为POST请求，且交互数据必须是JSON字符串。
2. 必须有appid、method、timestamp、content、sign字段
3. timestamp的格式为'2019-01-01 00:00:00'
4. content必须是键值对
5. 该装饰器已经确定返回JsonResponse，因为原Server只需要返回dict数据就行，装饰器会进行封装可以根据此检验方式实现自己的权限校验方法5. 调用服务与上面的默认权限校验相对，对于调用方来说，需要加签名通过认证:from comk_django_account.views.utils.sign_utils import get_sign
def get_sign(pri_key, r_data):
    '''
    获取签名

    :param pri_key: 私钥
    :param r_data: 一个dict数据
    :return:
    '''

取得键为sign、值为签名值的键值对为方便调用者，可使用 params_utils 下的 build_request_params 或 make_params_with_sign 方法，直接构造出请求数据。6. 其他需要注意的是，权限校验与调用方法是需要对应的。例如，服务方单独实现了一个校验方法，而调用方使用默认的加签方法，这是不行的。
Package: comk-django-plugin
comk_djanog_plugincomk个人开发的django插件，用于很方便的记录日志、下载日志，以及其他拥有小功能的中间件现有功能1. 通用日志记录先在settings中进行配置:MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'comk_django_plugin.middleware.ErrorLogMiddleware',  # 加上这一行，注意，添加的位置是非常重要的，建议添加在 auth 下面
    'comk_django_plugin.middleware.RequestLogMiddleware', # 加上这一行，注意，添加的位置是非常重要的，建议添加在 auth 下面
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

import comk_django_plugin
LOGGING = comk_django_plugin.auto_update_logsetting()  # 可传入各个项目自定义的LOGGING配置，会自动合并，同时生效。通过django中间件实现对每个请求进行记录，记录类型有：记录请求数据和返回数据，并记录在 log/comk_request.log 下。记录错误日志，并记录在 log/comk_error_traceback.log 下。记录请求超时日志，并记录在 log/comk_long_response_time.log 下。2. 日志下载先在settings中进行配置:INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'comk_django_plugin.apps.ComkDjangoPluginConfig', # 加上这一行
]然后在在urls.py下加上url配置:from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('comk_django_plugin.urls')),
]这样就可以直接在浏览器上输入地址，打开下载log文件的页面，如下:http://0.0.0.0:8000/getlog/log_download_html/

该页面是一个简单的HTML，提供打包下载所有日志文件，以及下载单个日志文件的功能。3. PublicServer文件一个简单的通用服务的文件，目的是简化开发代码的书写，日后还会不断添加，使用方法如下:class OrderQuery(View):
    """
    查询订单历史，并生成excel文件

    """

    def post(self, request):
        ps = PublicServer(request)
        if not ps.check_login_user():
            return ps.return_build_error_response(msg='没有登录用户，请登录')4. PublicDao文件一个简单的通用数据库操作的文件，目的是简化开发代码的书写，日后还会不断添加，使用方法如下:class ModelDao(PublicDao):
    def __init__(model=Model):
        super().__init__(model)
Package: comk-hik-sdk
comk_hik_sdk该sdk是为了方便Python开发人员很方便的调用海康设备而开发的sdk，是对官方二次开发包的封装。官方技术支持网站(https://www.hikvision.com/cn/download_61.html)当前版本已完成的功能有：门禁相关功能：sdk初始化、登录登出、远程控制开关、卡创建获取删除、人脸图片创建获取删除、布防及数据返回运行环境该sdk只能运行于 64位 linux，Python3  环境建议使用Python3的docker-compose构建开发环境，docker-compose 文件如下:version: "3.0"
    services:
      centos7:
        container_name: "python3"
        image: "python:3"
        command: tail -f /app/__init__.py
        volumes:
          - "./:/app"
        privileged:
          true使用方法不要使用 pip 安装，否则无法找到 callso 和 lib 文件夹，请选择下载功能，下载整个包！！进入 callso 文件夹下，执行 make 命令，即可生成 call.so 文件参考 testso.py、 test_alarm.py 进行使用注意事项本sdk对官方包的使用思路是，先写Cpp文件进行编译，然后Python调用该Cpp文件生成的动态链接库（so文件），尽可能的以基本数据类型进行交互，尽量少使用C的结构体和指针，保证程序的可靠性。因此需要用到ctypes模块，需要开发人员掌握ctypes的使用方法。少部分功能，需要依靠指针，返回功能的结果数据，需要用到结构体和指针，具体请参考卡获取功能。为方便省事，所有的long型数据都替换为int型数据使用，若发现功能无法通过的情况，可酌情改变参数类型。布防需要上传url，可向url返回固定的数据，使用者可根据自身需求自行改写cpp内的回调函数。返回的图片为base64编码的图片。
Package: comk-utils
comk_utilscomk个人开发的小工具集合，不断更新中现有功能1. list数据与Excel文件、csv文件的转换2. python-redis的扩展3. xml-dict的转换4. 图片二进制与base64编码的转换5. 加密、摘要、加签名、验签工具6. 时间处理
Package: comlibpy
comlib-python介绍自用常用库软件架构软件架构说明安装教程xxxxxxxxxxxx使用说明xxxxxxxxxxxx参与贡献Fork 本仓库新建 Feat_xxx 分支提交代码新建 Pull Request特技使用 Readme_XXX.md 来支持不同的语言，例如 Readme_en.md, Readme_zh.mdGitee 官方博客blog.gitee.com你可以https://gitee.com/explore这个地址来了解 Gitee 上的优秀开源项目GVP全称是 Gitee 最有价值开源项目，是综合评定出的优秀开源项目Gitee 官方提供的使用手册https://gitee.com/helpGitee 封面人物是一档用来展示 Gitee 会员风采的栏目https://gitee.com/gitee-stars/
Package: comliner
comliner - Command Line Interface Wrapper for Python FunctionsMake programs out of your Python functions that can be run from the command
line by simply adding a decorator in front of the function. The programs will
have a commandline interface based on the optparse module, and load data from
and save data to files (HDF5 format).Copyright noticeCopyright (C) 2013-2023 Daniel Jung.
Contact:proggy-contact@mailbox.orgThis program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Package: comm
CommIt provides a way to register a Kernel Comm implementation, as per the Jupyter kernel protocol.
It also provides a base Comm implementation and a default CommManager that can be used.Register a comm implementation in the kernel:Case 1: Using the default CommManager and the BaseComm implementationsWe provide default implementations for usage in IPython:importcommclassMyCustomComm(comm.base_comm.BaseComm):defpublish_msg(self,msg_type,data=None,metadata=None,buffers=None,**keys):# TODO implement the logic for sending comm messages through the iopub channelpasscomm.create_comm=MyCustomCommThis is typically what ipykernel and JupyterLite's pyolite kernel will do.Case 2: Providing your own comm manager creation implementationimportcommcomm.create_comm=custom_create_commcomm.get_comm_manager=custom_comm_manager_getterThis is typically what xeus-python does (it has its own manager implementation using xeus's C++ messaging logic).Comm usersLibraries like ipywidgets can then use the comms implementation that has been registered by the kernel:fromcommimportcreate_comm,get_comm_manager# Create a commcomm_manager=get_comm_manager()comm=create_comm()comm_manager.register_comm(comm)
Package: commah
Find concentration - mass relation MAH for any cosmologyFree software: BSD licenseDocumentation:https://commah.readthedocs.org.FeaturesFind the NFW concentration and accretion rate for halo of a given mass at any redshiftFor a given halo mass and redshift can go to higher redshifts to create accretion and profile historySeveral common cosmologies provided but user can give dict of any flat cosmologyUses the methodology from Correa et al (2015a,b,c)History0.2.0 (2015-02-02)Major usability mods0.1.0 (2015-01-30)First release on PyPI.
Package: command2img
command2imgMotivationThis program was developed from the need I had to capture the output of a program as an image to insert into a report.InstallTo install it, you can use the python package manager:pip install command2imgUpdatepip install --upgrade command2imgUninstallpip uninstall command2imgExamplesusing exa (tree):exa --tree --icons | py -m command2imgusing date:date | py -m command2img -bt 0 -tf whiteusing echo:echo -n "Example echo" | py -m command2img -fs 50 -m 15 -ff ~/Inspiration-Regular.ttfusing cat:cat README.md | py -m command2img -bc "black" -tf "white"
Package: command4bot
Command For Botcommand4botis a general purpose library for command-based iteraction made for bots.InstallationQuick StartFeaturesDocumentationTodoInstallationpipinstallcommand4botQuick Startfromcommand4botimportCommandsManagermgr=CommandsManager()@mgr.commanddefgreet(payload):returnf"Hello,{payload}!"mgr.exec('greet John')# 'Hello, John!'FeaturesRegister command with a simple decoratorManaging command open and closed status with easeAutomatically manage command's dependency (a.k.a.context) with its statusFallback handlers if no command foundDocumentation:warning: The documentation is still working in progress!https://command4bot.readthedocs.io/en/latest/TodoSupport for commands need interaction
Package: commandapp
PyCommandApplibrary to create a commandline application easilyIndexInstallationUsageTipsKeyword-ParameterInstallationpython3 -m pip install commandappView on pypi.orgUsageCodefromcommandappimportCommandAppapp=CommandApp()@app.registerdefhello(name:str):r"""prints hello `name`"""print("Hello{}".format(name))@app.register(name="print")defcmd_print(text:str):r"""print what he should say"""print(text)app.run()Console>> py myapp.py
usage: -c [-h] {hello,print} ...
>> py myapp.py -h
usage: -c [-h] {hello,print} ...

optional arguments:
  -h, --help     show this help message and exit

command:
  {hello,print}  available commands
    hello        prints hello `name`
    print        print what he should say
>> py myapp.py hello
usage: -c hello [-h] name
hello: error: the following arguments are required: name
>> py myapp.py hello "python"
Hello python
>> py myapp.py print "This package is awesome"
This package is awesomeTipsKeyword-ParameterCodefromcommandappimportCommandAppapp=CommandApp()@app.registerdefa(param:str):print([param])@app.registerdefb(*,param:str):print([param])app.run()Console>> py myapp.py a "Value"
["Value"]
>> py myapp.py b "Value"
b: error: the following arguments are required: --param
>> py myapp.py b --param "Value"
["Value"]
Package: command-based-framework
Command Based FrameworkUnderlying control system for GRR’s robotics systems.A longer description of your project goes here…Making Changes & ContributingThis project usespre-commit, please make sure to install it before making any
changes:pip install pre-commit
cd command-based-framework
pre-commit installIt is a good idea to update the hooks to the latest version:pre-commit autoupdateDon’t forget to tell your contributors to also install and use pre-commit.NoteThis project has been set up using PyScaffold 4.3. For details and usage
information on PyScaffold seehttps://pyscaffold.org/.
Package: command-builder
Command BuilderCommand Builder is a library that manages the execution of shell commands, creating a summary of the executions. The objective is to facilitate the perception of errors.InstallationYou need Python 3.6.2 or above.From the terminal, enter:pipinstallcommand-builderGetting startedThe examples refer to the newest version (0.1.3) of command-builder.First, let's init the command-builder:fromcommand_builder.command_builderimportCommandBuildercommand_builder=CommandBuilder()Adding commands:command_builder.add(name="ls",command=["ls","-a"])command_builder.add(name="pwd",command=["pwd","-o"])Running commands:command_builder.run()Output:______________________________summary______________________________+ ls: commands succeeded- ERROR: pwd: commands failed