Saravanan666/pypi-org huggingface dataset:
Package: bottoku
bottoku(pronounced asbot-oku) is a chat botmicroframework for Pythonista.Featurebottoku is a microframework, however, you can build chat bots without restriction.For example,Integration with web frameworks e.g. flask, django, etc…Serverless bots running on AWS LambdaBuilding messages compatible with Line, Facebook, and SlackMessages with attachments e.g. images, videos, etc…Conversations with contexts: hi! -> who r u? -> john -> hi john, how about…Favorite database backendCompared to HubotNo built-in server. If you want to build non-serverless bots, choose favorite web frameworks.No built-in binary. bottoku is just a library, so please dopip installto integrate.Very flexible routing system. Conditions are not defined by regex, but by Python’s lambda functions.And of course, bottoku is a Python framework.UsageFirst,pipit.:pip install bottokuThen, define actions and views:# views.py
from bottoku.api.facebook.template import TextMessage
def greeting():  # view is just a function to return a list of messages
    return [TextMesage(text='hello, i am a bot')]

# actions.py
from bottoku import route
@route(lambda message, context: 'hello' in message)  # lambda condition to reply
def say_hello(render, message, context):
    render(greeting())  # call `render` functionNext, define a bot class (application class), it is used to define routes and API clients.:# mybot.py
from bottoku import Bot
from bottoku.renderer.stdout import StdoutRenderer
from bottoku.api.facebook.renderer import FacebookRenderer
class MyBot(Bot):
    def __init__(self, env):
        super(MyBot, self).__init__(
          env,
          [
              actions.say_hello,
              # other actions...
          ],
          BlackholeRepository(),  # repository to set user's data
          [
              StdoutRenderer(),
              FacebookRenderer(),
          ]  # API clients
        )Finally, instantiate the bot and callreplyin handler.:# handler.py, lambda handler or web frameworks' webhook handler
def handler():
    message, receiver_id = extract_from_message()
    bot = MyBot(env)
    bot.reply(message, receiver_id)Currently, I have not prepared docs yet. But you can see examples.Exampleexample: most basic exampleexample_api: advanced example to use Facebook and Slack APIsBugs / Feature requestsGithub’s issueor mention to@yamitzky
Package: bottom
asyncio-based rfc2812-compliant IRC Client (3.8+)bottom isn’t a kitchen-sink library.  Instead, it provides a consistent API
with a small surface area, tuned for performance and ease of extension.
Similar to the routing style of bottle.py, hooking into events is one line.Installationpip install bottomGetting Started(the full documentation is available here:http://bottom-docs.readthedocs.io/)Create an instance:importasyncioimportbottomhost='chat.freenode.net'port=6697ssl=TrueNICK="bottom-bot"CHANNEL="#bottom-dev"bot=bottom.Client(host=host,port=port,ssl=ssl)Send nick/user/join when connection is established:@bot.on('CLIENT_CONNECT')asyncdefconnect(**kwargs):bot.send('NICK',nick=NICK)bot.send('USER',user=NICK,realname='https://github.com/numberoverzero/bottom')# Don't try to join channels until the server has# sent the MOTD, or signaled that there's no MOTD.done,pending=awaitasyncio.wait([bot.wait("RPL_ENDOFMOTD"),bot.wait("ERR_NOMOTD")],loop=bot.loop,return_when=asyncio.FIRST_COMPLETED)# Cancel whichever waiter's event didn't come in.forfutureinpending:future.cancel()bot.send('JOIN',channel=CHANNEL)Respond to ping:@bot.on('PING')defkeepalive(message,**kwargs):bot.send('PONG',message=message)Echo messages (channel and direct):@bot.on('PRIVMSG')defmessage(nick,target,message,**kwargs):""" Echo all messages """# don't echo selfifnick==NICK:return# respond directlyiftarget==NICK:target=nickbot.send("PRIVMSG",target=target,message=message)Connect and run the bot forever:bot.loop.create_task(bot.connect())bot.loop.run_forever()APIThe full API consists of 1 class, with 8 methods:# manage connectionsasyncClient.connect()asyncClient.disconnect()# send, receive, and wait for rfc-2812 messagesClient.send(command,**kwargs)@Client.on(event)Client.trigger(event,**kwargs)asyncClient.wait(event)# send and receive anything newline-terminated,# provided for eg. IRCv3 extensionsClient.send_raw(message)Client.handle_raw(message)Contributorsfahhemthebigmunchtilal6991AMorporkiannedbatCoinkite IncJohan LorenzoDominik MiedzińskiYay295Elijah Lazkani
Package: bottr
Bottr makes writing bots for reddit easy. It currently provides two predefined bots:CommentBot:Listens to new comments in a list of subredditsSubmissionBot:Listens to new submission in a list of subredditsBottr makes use of thePython Reddit API WrapperPRAW.Documentation:bottr.readthedocs.ioCheck out [bottr-template](https://github.com/slang03/bottr-template) for a convenient code template to start with.InstallationBottr is available on PyPi and can be installed via$pipinstallbottrQuick StartThe following is a quick example on how to monitorr/AskRedditfor new comments. If a comment
contains the string'banana', the bot replies'This comment is bananas.'importprawimporttimefrombottr.botimportCommentBotdefparse_comment(comment):"""Define what to do with a comment"""if'banana'incomment.body:comment.reply('This comment is bananas.')if__name__=='__main__':# Get reddit instance with login detailsreddit=praw.Reddit(client_id='id',client_secret='secret',password='botpassword',user_agent='Script by /u/...',username='botname')# Create Bot with methods to parse commentsbot=CommentBot(reddit=reddit,func_comment=parse_comment,subreddits=['AskReddit'])# Start Botbot.start()# Run bot for 10 minutestime.sleep(10*60)# Stop Botbot.stop()
Package: botttlepratchett
bottlepratchettA very simple middleware that provides GNU Terry Pratchett.In one of Terry Pratchett's novels, he proposes three things, that following his death, so more technically inclined fans have grabbed onto.The clacksThe GNU instruction to the clacks (G: Send message on, N: Do not log the message, U: At the end of the line, send the message back again)"A man is not dead while his name is still spoken."So, in that friendly spirit...A header, applied to all connections, ('X-Clacks-Overhead': 'GNU Terry Pratchett'), so that he may never be forgotten.This plugin designed for Bottle gives you just that.import bottle
import bottlepratchett

bottle.install(bottlepratchett.wrap)

@bottle.get('/')
def index():
    return 'Hello'

bottle.run()Once you've installed the plugin withbottle.installit should become available on every new call to your route. (Bottle plugins are installed on the first call per route, and then cached.)So... If we were to use curl, we could get:> curl -I localhost:8080
HTTP/1.0 200 OK
Date: Wed, 23 Jan 2019 01:55:00 GMT
Server: WSGIServer/0.2 CPython/3.7.2
X-Clacks-Overhead: GNU Terry Pratchett
Content-Length: 5
Content-Type: text/html; charset=UTF-8Our header has been successfully installed.LicenseCopyright 2019, James MilneRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Package: botty-mcbotface
OverviewAslackbotplugin that acts as
a general purpose Slack bot. Although botty_mcbotface is not sentient,
it does display a little sense of humor.Much inspiration drawn from snoonet’sgonzobotfor IRC. The main
build is from lins05’sslackbot, which
botty_mcbotface is technically a plugin for (though he himself has a
multitude of plugins as well).Installation & ContributingPlease see the matching documentation at the botty_mcbotfaceGitHub repo.ContributorsDanny HinshawBenjamin MatthewsLicenseThe MIT License (seeLICENSE)
Package: bot-ui-kitty
😻 Bot UI KittyA collection of reusable, dynamic, and intuitive Discord UI views, built on top
of Pycord'sBot UI Kit.This project was originally created for personal use in my (way too many)
Discord bots, but I decided to make it more easily accessible just in case other
bot developers find it helpful. 💜Currently, the only supported Discord library isPycord, because that's
the one that most of my bots happen to use. I'd love to extend support to other
libraries too, but I'm not sure when I'll be able to make the time to do so. In
the meantime, if you're using a different library, check out my other utility
kit for Discord bots –Botstrap!Contributionsto this project are very welcome, as long as theypassallthechecksto
keep it green and healthy. ✅Installationpip install -U bot-ui-kittyPython3.10or higher is required. It's also generally a good idea to
upgrade pip (python -m pip install -U pip).For Developmentgit clone https://github.com/nuztalgia/bot-ui-kitty.git
cd bot-ui-kitty
pip install -e .This will create aneditable installationofbot-ui-kittyin your current
environment. Any changes you make to the code will immediately take effect, so
using avirtual envis highly recommended!Available ViewsDynamic SelectThis view is designed to handle any use case that calls for selecting a single
item from a sequence of possible options. It'll automatically choose to display
either a row of buttons, a dropdown menu, or a combination of both (to emulate
pagination) depending on thenumber of optionsyou throw at it! 🤹Example 1:Choose your starter Pokemon! (3options)number=awaituikitty.dynamic_select(ctx,content="Choose your starter Pokemon!",**{"🌱 Bulbasaur":1,"🔥 Charmander":4,"💧 Squirtle":7},)awaitctx.edit(content=f"Your Pokemon's number is **#00{number}**!",view=None)Example 2:What time is it, Mr. Wolf? (24options)time=awaituikitty.dynamic_select(ctx,*[f"{str(i).zfill(2)}:00"foriinrange(24)],select_placeholder="What time is it, Mr. Wolf?",)awaitctx.edit(content=f"It's ~~{time}~~ **DINNER TIME!!!**",view=None)Example 3:I heard you like chemistry... (119options)element=awaituikitty.dynamic_select(ctx,embed=Embed(title="Select an element to learn more about it!",color=color),**elements_data,)embed=Embed(title=element["name"],description=element["summary"],url=element["source"],)awaitctx.edit(embed=embed,view=None)Note:elements_datain the above snippet is sourced fromBowserinator/Periodic-Table-JSON.More types of views will be coming soon. Watch this space! 👀LicenseCopyright © 2022Nuztalgia. Released under theApache License, Version 2.0.
Package: botway.py
botway.pyPython client package for Botway.# pip# Linux/macOSpip3installbotway.py# Windowspipinstallbotway.py# pipenvpipenvinstallbotway.pyUsageafter creating a new python botway project, you need to use your tokens to connect with your bot....frombotwayimportGetTokenfromtelegramimportUpdate,ForceReplyfromtelegram.extimportUpdater,CommandHandler,MessageHandler,Filters...defmain()->None:"""Start the bot."""# Create the Updater and pass it your bot's token.updater=Updater(GetToken())# Get the dispatcher to register handlersdispatcher=updater.dispatcher...
Package: botw-havok
botw_havokA library for manipulating Breath of the Wild Havok packfiles."""Removing a RigidBody"""frombotw_havokimportHavokhk=Havok.from_file('/mnt/hdd/A-1-0.shksc')# can also be Yaz0 compressedhk.deserialize()delhk.files[1].data.contents[0].namedVariants[0].variant.systems[0].rigidBodies[-1]hk.serialize()hk.to_file('/mnt/hdd/A-1-0_edited.hksc')"""Converting between formats"""frombotw_havokimportHavokhk0=Havok.from_file('/mnt/hdd/0-0.shktmrb')hk0.deserialize()hk0.to_json('/mnt/hdd/0-0.json')hk1=Havok.from_json('/mnt/hdd/0-0.json')hk1.to_wiiu()# or hk1.to_switch()hk1.serialize()hk1.to_file('/mnt/hdd/0-0_nx.hktmrb')"""Comparing contents"""frombotw_havokimportHavokhk0=Havok.from_file('/mnt/hdd/E-4-1_u.shksc')hk1=Havok.from_file('/mnt/hdd/E-4-1_nx.shksc')hk0.deserialize()hk1.deserialize()hk0.files[1].data.contents==hk1.files[1].data.contentsThis library comes with these commands:hk_to_json: Havok packfile -> JSONjson_to_hk: JSON -> Havok packfilehk_compare: Compare two or more packfileshkrb_extract: Extract shapes from Static Compound files by HashIdhksc_to_hkrb: Convert all Static Compound shapes into a single HKRBAt the moment, only Havok Physics files (*.hksc, *.hkrb, *.hktmrb) can be read.Most of the smaller ones deserialize and serialize flawlessly and the resulting packfiles are nearly identical to the originals.The larger files (particularly StaticCompound ones) are usually smaller than the originals after serialization. That's caused by the originals having duplicate Havok objects that are removed and referenced instead.
Package: botw-save-editor
BotW Save Data ConverterPython scripts for converting botw '.sav' files to '.json' files that can be editted.
Main part of the code was written by Leoetlino(https://github.com/leoetlino/botw-tools/blob/master/save.py) I just wrote the two scripts accessible from the command line for bulk conversion as well as modifying it to include switch support.Also installable via pip usingpip install botw-save-editorUsageBotw save converter comes with two builtin commands:sav_to_json <pathToSavFile or pathToDir>json_to_sav <pathToJsonFile or pathToDir>
Package: botw-tools
botw_toolsA set of CLI tools for Breath of the Wild moddingyaz0: De/compress a file with Yaz-0aamp: Convert between AAMP and YMLbyml: Convert between BYML and YMLsarc: Manipulate SARC archivesactorinfo: Manipulate ActorInfo fileAll commands can read from stdin and write to stdout, either automatically or by explicitly using the pipe (-)
character instead of file path.To see how to use these commands, please refer either tocommand --help(ex.aamp --help), or the examples below.Examples:AAMP:# View a AAMP fileaampDgnObj_EntranceElevatorSP.bphysics# Save as YMLaampDgnObj_EntranceElevatorSP.bphysics\!!# Saves as 'DgnObj_EntranceElevatorSP.physics.yml'# oraampDgnObj_EntranceElevatorSP.bphysicstest.ymlYaz0 and BYML:# View a BYML file# First variantyaz0ActorInfo.product.sbyml|byml# Second variantyaz0ActorInfo.product.sbymlActorInfo.product.byml
bymlActorInfo.product.byml# Save as YML# First variantyaz0ActorInfo.product.sbyml|byml-ActorInfo.product.yml# Second variantyaz0ActorInfo.product.sbymlActorInfo.product.byml
bymlActorInfo.product.byml\!!# Saves as 'ActorInfo.product.yml'# orbymlActorInfo.product.bymlactorinfo.ymlYaz0 and SARC:Decompress and extract a SARC archiveDgnObj_EntranceElevatorSP.sbactorpacktoelevatorfolder:# First variantyaz0DgnObj_EntranceElevatorSP.sbactorpack|sarce(x)tract-elevator# Second variantyaz0DgnObj_EntranceElevatorSP.sbactorpack\!!
sarcxDgnObj_EntranceElevatorSP.bactorpackelevatorRemove all files inside SARC:# First variantyaz0DgnObj_EntranceElevatorSP.sbactorpack|sarc(r)emove-\*|yaz0-Empty.sbactorpack# Second variantyaz0DgnObj_EntranceElevatorSP.sbactorpackDgnObj_EntranceElevatorSP.bactorpack
sarcrDgnObj_EntranceElevatorSP.bactorpack\*yaz0DgnObj_EntranceElevatorSP.bactorpackEmpty.sbactorpackActorInfo:# Get an entryactorinfoActorInfo.product.sbymlgetDgnObj_EntranceElevatorSP
actorinfoActorInfo.product.sbymlgDgnObj_EntranceElevatorSP# Duplicate an entryactorinfoActorInfo.product.sbymlduplicateDgnObj_EntranceElevatorSPMyCustomEntranceElevator
actorinfoActorInfo.product.bymldDgnObj_EntranceElevatorSPMyCustomEntranceElevator# Change entry keysactorinfoActorInfo.product.sbymleditMyCustomEntranceElevatorbfresMyCustomEntranceElevatorBfres
actorinfoActorInfo.product.bymleMyCustomEntranceElevatorbfresMyCustomEntranceElevatorBfres
Package: botx
pybotxA python library for building bots and smartapps for eXpress messenger.FeaturesDesigned to be easy to useSimple integration with async web-frameworksSupport middlewares for command, command-collector and bot100% test coverage100% type annotated codebaseDocumentationDocumentation will be here:https://expressapp.github.io/pybotx/For now, pls contact eXpress team, we'll help you.Note:Available only in Russian languageInstallationInstall pybotx usingpip:pipinstallgit+https://github.com/ExpressApp/pybotx.gitNote:This project is under active development (0.y.z) and its API may be
unstable.
Package: bou
Bou (pronounced “bow”) is a simple builder or task runner which uses a YAML file for task configuration.Bou uses the concept ofstagesandsteps. A stage is a sets of steps, and a step is a set of commands to run. A
stage can contain many steps, but a step can only belong to a single stage.“Bou” isAfrikaansfor “build”.InstallationInstall bou with pip:$ pip install bouRunning bouTo run bou, simply run the command. The build file will be automatically detected.$ bouTo specify a build configuration file, use the-foption.$ bou -f /path/to/build.yamlTo specify a stage or a step to run, just add it to the command. Stages take priority over steps, so if you have a
stage and a step with the same name, the stage will be run.$ bou build
$ bou testTask ConfigurationWhen run without any parameters, bou will search for a file namedbou.yaml,bou.yml,build.yamlorbuild.ymlHere’s a basic example:stages:-build-teststeps:build:stage:buildscript:-maketest:stage:testscript:-make testEnvironment VariablesBou also supports setting environment variables, both at a global level, as well as at a step level. As a convenience,
bou sets up an initial environment variable namedBASE_DIRwhich is the directory the build file is in.Environment variables defined at a global level are set first when a step is run, and then the step-level environment
variables are set.stages:-buildenvironment:-PYTHON=python3steps:build:stage:buildenvironment:-SOURCE=$BASE_DIR/srcscript:-$PYTHON $SOURCE/setup.py buildStages and StepsIf no steps or stages are specified, by default bou will attempt to run the following, in order:All of the stages in thestagessection of the task configurationIf no stages are specified in the task config, all of the stages discovered in the stepsIf no stages are found, all of the stepsSource CodeThe source code to bou is available on my personal Git server:https://git.snyman.info/raoul/bouCopyright (c) 2021 Raoul Snyman
Package: boudams
Le Boucher d'AmsterdamBoudams, or "Le boucher d'Amsterdam", is a deep-learning tool built for tokenizing Latin or Medieval French languages.How to citeAn article has been published about this work :https://hal.archives-ouvertes.fr/hal-02154122v1@unpublished{clerice:hal-02154122,
  TITLE = {{Evaluating Deep Learning Methods for Word Segmentation of Scripta Continua Texts in Old French and Latin}},
  AUTHOR = {Cl{\'e}rice, Thibault},
  URL = {https://hal.archives-ouvertes.fr/hal-02154122},
  NOTE = {working paper or preprint},
  YEAR = {2019},
  MONTH = Jun,
  KEYWORDS = {convolutional network ; scripta continua ; tokenization ; Old French ; word segmentation},
  PDF = {https://hal.archives-ouvertes.fr/hal-02154122/file/Evaluating_Deep_Learning_Methods_for_Tokenization_of_Scripta_Continua_in_Old_French_and_Latin%284%29.pdf},
  HAL_ID = {hal-02154122},
  HAL_VERSION = {v1},
}How toInstall the usual way you install python stuff:python setup.py install(Python >= 3.6)).The config file can be kickstarted usingboudams template config.json, we recommend using the following settings :linear-conv-no-posfor the model, as it is not limited by the input size;normalizeandlowertoTruedepending on your dataset size.The initial dataset is pretty small but if you want to build with your own, it's fairly simple : you need data in the
following shape :"samesentence<TAB>same sentence"where the first element is the same than the second but with no
space and they are separated by tabs (\t, marked here as<TAB>).{"name":"model","max_sentence_size":150,"network":{"emb_enc_dim":256,"enc_n_layers":10,"enc_kernel_size":3,"enc_dropout":0.25},"model":"linear-conv-no-pos","learner":{"lr_grace_periode":2,"lr_patience":2,"lr":0.0001},"label_encoder":{"normalize":true,"lower":true},"datasets":{"test":"./test.tsv","train":"./train.tsv","dev":"./dev.tsv","random":true}}The best architecture I find for medieval French was Conv to Linear without POS using the following setup:{"network":{"emb_enc_dim":256,"enc_n_layers":10,"enc_kernel_size":5,"enc_dropout":0.25},"model":"linear-conv-no-pos","batch_size":64,"learner":{"lr_grace_periode":2,"lr_patience":2,"lr":0.00005,"lr_factor":0.5}}CreditsInspirations, bits of code and source for being able to understand how Seq2Seq words or write my own Torch module come
both fromBen TrevettandEnrique Manjavacas.
Package: boukman
boukmanInstallationYou can installboukmanvia [pip] from [PyPI]:$pipinstallboukmanContributingContributions are very welcome.
To learn more, see theContributor Guide.LicenseDistributed under the terms of theMIT license license,boukmanis free and open source software.IssuesIf you encounter any problems,
please [file an issue] along with a detailed description.Credits
Package: boulder-opal-toolkits
⚠️ (DEPRECATED) This package has been deprecated ⚠️The functionality of the toolkits has been incoporated to the new and improved Boulder Opal client,boulderopal. Support for the legacyboulderopaltoolkitspackage ended on 2024-01-31. You can read theBoulder Opal get started guideorcontact usif you need assistance.Boulder Opal ToolkitsThe Boulder Opal Toolkits provide convenience nodes, classes, and functions that simplify the development in Boulder Opal. These toolkits enable you to develop and implement workflows faster and with less code, for a particular physical system or system-agnostic tasks.