Saravanan666/pypi-org huggingface dataset:
Package: nautobot-uuid-lookup
Nautobot UUID Lookup PluginSimple to redirect existing UUIDs to the according object pages. Queries all nautobotBaseModelss. Fails if the models have noget_absolute_urlmethod.WebsiteUsage:https://your-nautobot-instance.com/plugins/uuid/YOUR-UUID-HEREAPIUsage:https://your-nautobot-instance.com/api/plugins/uuid/YOUR-UUID-HERE
Package: nautobot-welcome-wizard
Welcome WizardAnAppforNautobot.OverviewWhat is the Nautobot Welcome Wizard?The Welcome Wizard is a getting started wizard forNautobotto assist a new user with necessary initial steps in populating data.Key FeaturesThe Welcome Wizard adds four (4) key features:Import Wizard- Welcome Wizard uses theImport Wizardto allow ease of adding community defined Device Types and Manufacturers into Nautobot.Quick-Start Settings- Welcome Wizard includes settings that are enabled by default to ease the user in setting up and syncing from a Git Repository.Helpful Middleware- Welcome Wizard includes middleware banners to assist with Nautobot resource creation.Dashboard- The Welcome Wizard Dashboard contains a list of common Nautobot Data Models that many other Nautobot models require. This page allows ease of adding items to Nautobot or, if supported, importing them. This ties all of the features together.ScreenshotsMore screenshots can be found in theUsing the Apppage in the documentation. Here's a quick overview of some of the plugin's added functionality:DocumentationFull documentation for this App can be found over on theNautobot Docswebsite:User Guide- Overview, Using the App, Getting Started.Administrator Guide- How to Install, Configure, Upgrade, or Uninstall the App.Developer Guide- Extending the App, Code Reference, Contribution Guide.Release Notes / Changelog.Frequently Asked Questions.Contributing to the DocumentationYou can find all the Markdown source for the App documentation under thedocsfolder in this repository. For simple edits, a Markdown capable editor is sufficient: clone the repository and edit away.If you need to view the fully-generated documentation site, you can build it withMkDocs. A container hosting the documentation can be started using theinvokecommands (details in theDevelopment Environment Guide) onhttp://localhost:8001. Using this container, as your changes to the documentation are saved, they will be automatically rebuilt and any pages currently being viewed will be reloaded in your browser.Any PRs with fixes or improvements are very welcome!QuestionsFor any questions or comments, please check theFAQfirst. Feel free to also swing by theNetwork to Code Slack(channel#nautobot), sign uphereif you don't have an account.
Package: nav2d
2D Navigation Gym EnvironmentThis repository implements aGymenvironment for simulating simple 2D navigation scenarios.InstallationActivate a virtual environment or a conda environment. Then, run the following command:pip install nav2dUse casesThe building blocks in this toolbox arePoint,Vector, andPolygondefined innav2d.assets.elements.Point:p = Point(x, y),p.posis anp.array. You can add aVectorto aPointto make it a newPoint.Vector: inherits fromPoint. You can apply various algebraic operations toVector. Many operators are overloaded there, e.g.,sum(List[Vector])gives you a singeVector.Vectorhelps you manipulate multiple movements.Polygon:zone = Polygon(List[Point]). Given a zone and a point,zone.point_relative_pos(p)tells you their relative positionIN | ON | OUT. APolygonis defined by its vertices (Points).AuthorsXiaoyu WangJihwan Jeong
Package: nava
NavaTable of contentsOverviewInstallationUsageEngineIssues & Bug ReportsContributionAuthorsLicenseShow Your SupportChangelogCode of ConductOverviewNava is a Python library that allows users to play sound in Python without any dependencies or platform restrictions. It is a cross-platform solution that runs on any operating system, including Windows, macOS, and Linux. Its lightweight and easy-to-use design makes Nava an ideal choice for developers looking to add sound functionality to their Python programs.PyPI CounterGithub StarsBranchmaindevLinux CIWindows CImacOS CICode QualityInstallationPyPICheckPython Packaging User GuideRunpip install nava==0.4Source codeDownloadVersion 0.4orLatest SourceRunpip install .CondaCheckConda Managing PackageUpdate Conda usingconda update condaRunconda install -c openscilab navaUsageBasicfromnavaimportplayplay("alarm.wav")Async mode⚠️ Theasync_modeparameter has a default value ofFalseimporttimefromnavaimportplay,stopsound_id=play("alarm.wav",async_mode=True)time.sleep(4)stop(sound_id)Errorfromnavaimportplay,NavaBaseErrortry:play("alarm.wav")exceptNavaBaseErrorase:print(str(e))EngineList of different platforms and the corresponding engines that are used for sound playing.PlatformEngineSupported FormatsLinuxAdvanced Linux Sound Architecture.wavWindowsWinsound.wavmacOSAudio File Play.wav,.mp3Issues & bug reportsJust fill an issue and describe it. We'll check it ASAP! or send an email toinfo@openscilab.com.Please complete the issue templateYou can also join our discord serverShow your supportStar this repoGive a ⭐️ if this project helped you!Donate to our projectIf you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .ChangelogAll notable changes to this project will be documented in this file.The format is based onKeep a Changelogand this project adheres toSemantic Versioning.Unreleased0.4- 2024-02-19Addedfeature_request.ymltemplateconfig.ymlfor issue templateChangedBug report template modifiedNavaThread.stopmethod bug fixedTest system modifiedREADME.mdmodified0.3- 2024-01-31AddedNavaThreadclassstopfunctionstop_allfunctionChangedasync_modeparameter added toplayfunctionTest system modifiedREADME.mdmodifiedPython 3.12added tolinux_test.yml,macOS_test.ymlandwindows_test.yml0.2- 2023-07-10AddedLogoAnaconda packageChangedquotedecorator bug fixedpath_checkdecorator bug fixedTest system modifiedREADME.mdmodified0.1- 2023-06-10AddedREADME.md__play_winfunction__play_linuxfunction__play_macfunctionquotefunctionpath_checkfunctionplayfunction
Package: navaly
navalDescriptionnavaldownloads, fetches and extract text, html from url, file path,
file object and more. Downloading(fetching) data from url will be handled
for you.pdf,docx,pptx,html, andtextfiles are supported out of
box.File can be from URL, file path, file object or even bytes. URL can point
to webpage instead of file e.ggoogle.comwhich
will be treated as html. Its all about file extensions,file.htmlwill be
treated as html unless explicitly specified.Installnaval can be installed with pippipinstallnavalyUsagedownloading from url:# download to file in pathnaval.download("http://example.com/","output.html")naval.download("http://example.com/sample.pdf","output.pdf")# download to file like objectfile_output=BytesIO()naval.download("http://example.com/sample.pdf",file_output)# download from multiple urls into folder# html file will downloaded to 'downloads/' folderurls=["http://example.com/","https://www.google.com/"]naval.download_all(urls,"downloads")Extract text and html# extract text from pdf, docx and pptx filesoutput_text=naval.extract_text("sample_file.pdf")output_text=naval.extract_text("sample_file.pptx")output_html=naval.extract_html("sample_file.docx")output_text=naval.extract_text("http://example.com/")# Extract from file like objectwithopen("sample_file.pdf",mode="rb")asfile:output_text=naval.extract_text(input_file)# extract to file(file path, file object)naval.extract_text_to_file("sample_file.pdf","output.txt")naval.extract_html_to_file("sample_file.pdf","output.html")# string can passed directlyhtml='''<p> First paragraph </p><p> Second paragraph </p>'''output_text=naval.extract_text(html,source_locates_data=False,content_type="text/html")# same with byteswithopen("sample_file.pdf",mode="rb")asfile:pdf_bytes=file.read()output_html=naval.extract_html(pdf_bytes,source_locates_data=False,content_type="application/pdf")Seeexamples/folder for more examplesContributingPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.Dont forget to update tests.
Package: nav-argus-glue
NAV ↔ Argus glue serviceThis is a glue service for integration betweenArgus, the alert aggregation server, andNetwork Administration Visualized(NAV), the
network monitoring software suite provided by Uninett.How it worksnavargusacts as an export script for the NAV event engine. It accepts
stacked, JSON-serialized alert objects on its STDIN.
The event engine will feednavargusa continuous stream of NAV alerts as they
are generated.navargususes these alerts to either create new incidents in
the Argus API, or resolve existing ones as needed.Refer to the Argus server documentation to learn more aboutintegrating monitoring
systemswith Argus.ConfigurationNAVAddnavargusin the[export]section of theeventengine.conffile.[export]# If set, the script option will point to a program that will receive a# continuous stream of JSON serialized alert objects on its STDIN.script=/path/to/navargusArgusIn the Argus admin interface, create a new "Source system" for your
NAV instance. This will automatically create an Argus user account for
this instance. Now, use the Argus admin interface to create an authentication
token for your user.NAV-Argus glue servicenavargusis configured vianavargus.yml. Sincenavargusis designed to
run in conjunction with NAV's event engine, this config file must be placed in
NAV's config directory (typically/etc/nav).A minimalnavargus.ymlcontains the base URL of your Argus server and the
Argus API token generated above.An example:---
api:
    url: https://argus.example.com/api/v1
    token: very-long-and-secret-stringThe configuration file may optionally contain a list of tags.
These tags will be added to all incidents created by this NAV instance.
To learn more about tags, refer toArgus documentation.A full configuration file example is provided innavargus.example.yml.Now, you can run the commandnavargus --test-apito verify that the glue
service is properly configured and able to query the Argus API.Code styleThis module uses Black as a source code formatter for Python code.A pre-commit hook will format new code automatically before committing.
To enable this pre-commit hook, run$pre-commitinstall
Package: nav-dataverk
DataverkKodebasert serverless ETL pÃ¥ NAIS med tilgangsstyring i Vault.Docs:https://dataverk.readthedocs.io/en/latest/Relaterte  prosjekterurlbeskrivelsego-jek feastFeast - Feature Store for Machine LearningContinuumIO/intakeIntake: A general interface for loading datafrictionlessdata.ioFrictionless datagit lfsGithub Large File Storagedvc.orgData Science Version Controlquilt (github)Quilt - Version and deploy dataPython package in S3CLI tool for creating a Python Package Repo i S3pypiserver based on bottleMinimal PyPI server
Package: naveeeen
naveeeen Package - This is a simple package, you can see the difference when using naveeeen and without.This is a simple package, you can see the difference when using naveeeen and without.It's 4 e's.This saves your time when dealing with many files.What happen if you don't use naveeeen, see the differencepass your method name(without())), iterable, false to e()syntax: naveeeen.e(func_name,list,False)What happen if you use naveeeen, see the differencepass your method name, iterable, True to e()syntax: naveeeen.e(func_name,list,True)Always the third argument is True.See the difference in result of using 'both' - output will the time taken to run a normal program and time taken to run  a normal program with naveeeen.
syntax:naveeeen.e(func_name,list,'both')ornaveeeen.e(func_name,list,whizz='both')Try running the below code to see the difference:from naveeeen import naveeeenimport osdef main_fun(s=[]):#v8with open(f'{s}.txt','w+'):pass

if os.path.exists(f'{s}.txt'):

os.remove(f'{s}.txt')

print(s, end=',')nums=[i for i in range(100)] #try 1000 10000 100000 1Mprint(naveeeen.e(main_fun,nums,'both'))
Package: navercafe
Setup$ pip install navercafeUsagefrom navercafe import NaverCafe

# 1. setup
cafe_name = 'wikibookstudy'
club_id = '30853297'
cafe = NaverCafe(cafe_name, club_id)

# 2. (optional) enter user id and pw
# This is semi-automatic (needs manual authentication)
cafe.enter_id_pw('your_id', 'your_pw')

# 3. get article board
board_id = 34
df1 = cafe.articleboard(board_id)
print(len(df1))
print(df1.head())

# 4. get comments
article_id = 139
df2 = cafe.comments(article_id)
print(len(df2))
print(df2.head())
Package: naverlogin
naverlogin is a tiny module for Naver(Korean portal site) login.Easy to useNaverSession, the only class which naverlogin exposes
inheritsrequests.Sessionand adds two methods(login,logout).
It’s obvious what these methods would do.importrefromnaverloginimportNaverSessionnaver=NaverSession()ifnaver.login('YOUR_ID','YOUR_PASSWORD'):# Fetch user's information.r=naver.get('https://nid.naver.com/user2/help/myInfo.nhn?lang=ko_KR')name=re.search(r'<dd class="nic_desc">(.+?)</dd>',r.text).group(1)print(u'Hello,{}!'.format(name))# Logout immediately to prevent dirty activity logs from being left.naver.logout()else:print(u'Login failed - check ID and password.')Less dependenciesIt does not require any javascript emulators, while others might use
Selenium, Ghost.py, or SpiderMonkey.
It only depends onrsaandrequestsmodules.Installation$pipinstallnaverlogin
Package: naverplaceapi
Naverplace 데이터 수집 APIHistory2024.02.03블로그, 리뷰 수집기능 추가Updatepipinstall--upgradenaverplaceapiBuild and publishpoetrybuild# Bui[place.py](naverplaceapi%2Fmixin%2Fplace.py)ldpython-mtwineupload--skip-existingdist/*# Deployment
Package: naverplacescraper
SNS text scraper네이버 플레이스에 게시된 업체의 리뷰 데이터들를 추출해 주는 봇.Installation$pipinstallnaverplacescraperUsage사용 예제notebook참고.Naver place네이버 플레이스에 등록된 업체들의 description 데이터과 review 데이터를 추출.Quick start네이버 지도에서 첫번째 검색결과로 검색되는 업체의 데이터를 가져옴. 그렇기 때문에 검색결과에 따라 원하는 업체의 데이터가 뽑히지 않을 수 있음.>>>fromnaverplacescraperimportNaverPlace>>>store_name='xxxxxx'>>>store=NaverPlace(store_name)>>>description=store.get_description()>>>reviews=store.get_reviews()# defaults to 100 reviews.Output>>>description'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'>>>reviews|date|review||--------|--------||x.x.X|xxxxxx|Credit좌표를 설정하는데 사용된kor_coordinates.txt는cubensys님의Korea_District에 있는대한민국_기초자치단체_중심점_2017.csv를 사용하였습니다.Disclaimer이 프로젝트는 비상업적 용도를 위해 제작되었습니다. 용도에 맞게 사용해주시길 바랍니다.
Package: naverscrap
IntroductionNaver News scraping libraryInstallationpip install naverscrapUsageSingle Queryfrom naverscrap import NaverScrap

ns = NaverScrap
df = ns.obtain_results("Tesla", "2020.03.04", "2020.04.04", 10, False) 
                        #query(s), start_date, end_date, no. of results for each query, ascending (false by default)Multiple Queriesfrom naverscrap import NaverScrap

ns = NaverScrap
queries = ["Tesla", "Facebook", "카카오"] # list of query
df = ns.obtain_results(queries, "2020.03.04", "2020.04.04", 10, False) 
                        #query(s), start_date, end_date, no. of results for each query, ascending (false by default)The output dataframe will be in:ColumnDescriptionItemSearch QueryDateDate of News ArticleNewspaperNews Publication CompanyTitle of newsTitle of news articleLinkLink to news articleSummarySummary of the news articleLicense© 2021 Brendon Lim.This repository is licensed under the MIT license.See LICENSE for details.
Package: naver-search-ad
naver_search_adnaver_search_ad는 네이버 검색 광고 오픈 API의 파이썬 래퍼(Python wrapper)입니다.현재는 연관 검색어(키워드 도구)만 구현되어 있습니다.네이버 검색광고 OPEN API에 관한 자세한 내용은 아래 주소에서 확인하실 수 있습니다.네이버 검색 광고 OPEN API 공식문서설치pip install naver_search_ad사용법위의 명령어를 이용하여 naver_search_ad 패키지 설치OPEN API Key 발급받기네이버의How to issue the API License and the secret key를 참조하여 CustomerID, ApiLicense, SecretKey 를 준비합니다.naver.ini파일을 만들고 아래의 정보를 작성하십시오.[DEFAULT]CUSTOMER_ID='발급받은 customer id'API_KEY='발급받은 API License'SECRET_KEY='발급받은 secret key'파이썬 쉘에서 테스트 해보기MacBook-Pro:~/kyungdongseo$pipinstallnaver_search_adMacBook-Pro:~/kyungdongseo$cat>>naver.ini<<EOF>[DEFAULT]>CUSTOMER_ID='발급받은 customerid'>API_KEY='발급받은 API License'>SECRET_KEY='발급받은 secret key'>EOFMacBook-Pro:~/kyungdongseo$lsnaver.iniMacBook-Pro:~/kyungdongseo$python>>>fromnaver_search_ad.keywordsimportrelated_keyword>>>r=related_keyword('POP꽂이')>>>importpprint>>>pprint.pprint(r){'keywordList':[{'compIdx':'높음','monthlyAveMobileClkCnt':28.7,'monthlyAveMobileCtr':4.62,'monthlyAvePcClkCnt':10.1,'monthlyAvePcCtr':1.6,'monthlyMobileQcCnt':660,'monthlyPcQcCnt':710,'plAvgDepth':15,'relKeyword':'POP꽂이','related_point':1200},{'compIdx':'높음','monthlyAveMobileClkCnt':101.7,'monthlyAveMobileCtr':2.32,'monthlyAvePcClkCnt':7.9,'monthlyAvePcCtr':0.8,'monthlyMobileQcCnt':4810,'monthlyPcQcCnt':1100,'plAvgDepth':15,'relKeyword':'집게스탠드','related_point':1199},# 나머지는 생략...]}>>>fromnaver_search_ad.keywordsimportrelated_keyword_to_xls>>>related_keyword_to_xls('POP꽂이','./related_keyword.xls')>>>exit()MacBook-Pro:~/kyungdongseo$lsnaver.inirelated_keyword.xls
Package: naver-sens-client
NAVER SENS CLIENTsupport only send sms yetInstallpip install naver-sens-clientUsagesens_client = SensClient(service_id, secret_key, access_key_id)and thenresponse = sens_client.send_sms(to_mobile_number, content, from_mobile_number)orsens_client.set_from_number(from_mobile_number)
response = sens_client.send_sms(to_mobile_number, content)then confirm response.print(response.status_code)
print(response.content.decode('utf-8'))More detailNaver Sens API DOCUMENT/KR-KO
Package: navertrans
NaverTranstranslator is a python package that uses the translation function of the Naver search bar. Please refrain from excessive use.InstallationTo install the NaverTrans library, you can use pip:pipinstallnavertransorgitclonehttps://github.com/LearningnRunning/NaverTrans.git

pythonsetup.pyinstallList of languages ​​available for translationlanguagelanguage codeperiod separatorKorean'ko'.English'en'.Russian'ru'.Portuguese'pt'.Japanese'ja'。Italian'it'.Vietnamese'vi'.Thai'th'ครับSpanish'es'.French'fr'.Hindi'hi'.German'de'.Simplified Chinese'zh-CN' (中文 (简体))。Traditional Chinese'zh-TW' (中文 (繁體))。You can use these language codes when specifying the source and destination languages for translation in your NaverTrans project.An example of using the navertrans libraryfrom navertrans import navertrans

src_txt = 'Please give a round of applause to NAVER.'
result = navertrans.translate(src_txt, src_lan="en", tar_lan= "ko")

print(result)  # Output: '네이버에게 박수 부탁드립니다.'In this example, src_txt contains the text you want to translate, and the translate function is called with the default source ('en') and target ('ko') languages. The translated text is stored in the result variable, and it is printed to the console.Referenced Repositorypy-hanspell- A useful repository for [A Python package that checks and corrects the spelling of Korean characters.].Licensenavertrans is provided under the CC BY-NC 4.0 license.Creative Commons Attribution-NonCommercial-NoDerivatives (CC BY-NC-ND)Choose this license if you want to permit others toshare(mirror) your mod content, providing that they credit you and don't use your work for commercial purposes.You can view additional details onthis page, which you should link to in your readme.Usage GuidelinesThis library is built upon Naver Translator.All copyright and responsibility for all results and data belong to NAVER Corp. The developer assumes no responsibility for any part of the library used for commercial purposes. Please be aware that the CC BY-NC 4.0 license restricts commercial usage, and you should respect the terms of this license.
Package: naverwebtoonfeeds
Feeds for Naver webtoons (webcomics). Inspired byNaverComicFeed.
Unlike NaverComicFeed, it embeds links in feeds, instead of actual comic
images.You can use the deployed app athttp://naverwebtoonfeeds.clee.kr/, or
run your own app if you like. SeeInstallationfor more.InstallationWill be written soon.LicenseNaver Webtoon Feeds is licensed underGNU Affero General Public License,
version 3. SeeLICENSEfor the full text.
Package: navgator
NavgatorNavgatoris a multi-paned multi-tabbed file managerNew in v0.5++ImageViewer(F11)DisplaysanimatedimagesaswellNew in v0.4++IconsView
++ListViewNew in v0.3++ThumbnailsNew in v0.2++Aliases+MultiPaneBrowser
+Multipletabscanbeopenedineachpane
+IndividualTreeperPaneandCommonTreeacrossPanes
+DifferentAddressBarperpane
+BreadCrumbs
+FileManagementBasicsBasicToolbarwithbackandforwardbuttonsCheckboxSelection
+EditMenuNewFile(Ctrl+N)NewFolder(Ctrl+Shift+n)InlineRename(F2)Cut(Ctrl+X)Copy(Ctrl+C)Paste(Ctrl+V)SendtoTrash(Del)Delete(Shift+Del)Deletecurrentfolderandgoup.(Ctrl+Del)+Checkboxselections+Selectionssubmenu(insideEditMenu)SelectAll(Ctrl+A)ClearAll(Ctrl+Shift+A)InvertSelection(Ctrl+Shift+I)+ItemscanbeselectedusingselectionrectangleCtrlandShiftcanbeusedforextendedselection.Ctrlwilltoggleanyoverlappingselectionswhileshiftwon't+ Tabs MenuNew tab (Ctrl+T)Close Tab (Ctrl+W)Rename Tab (Ctrl+E)Select Next Tab (Ctrl+Tab)Select Previous (Ctrl+Shift+Tab)Close Left TabsClose Right TabsClose Other Tabs+ Live Filter Box per tab (Escape removes filter from active pane)+ Drag and Drop+ User Commands can be added via JSON file+ Move on Rename:+ Sort folders to top+ Active tab is colored+ Lazy loading - Inactive tabs aren'tloadedorrefreshed
+MainTree,PanesandStatusBarcanbehidden
+Doubleclickonemptyspaceornon-namecolumnstogoup.
+RemembersandrestoresprevioussessionInstallationpipinstallnavgatorTodosImprove settings dialogLicenseMIT
Package: navhip-python
Python communication library for Ledger Hardware Wallet productsRequirementsThis API is available on pip - install with pip install navhip-pythonBuilding on a Unix platform requires libusb-1.0-0-dev and libudev-dev installed previouslyFor optional BIP 39 support during dongle setup, also installhttps://github.com/trezor/python-mnemonic- also available as a Debian package athttps://launchpad.net/~richi-paraeasy/+archive/ubuntu/bitcoin/(python-mnemonic)Building on WindowsDownload and install the latest Python 2.7 version fromhttps://www.python.org/downloads/windows/Install Microsoft Visual C++ Compiler for Python 2.7 fromhttp://www.microsoft.com/en-us/download/details.aspx?id=44266Download and install PyQt4 for Python 2.7 fromhttps://www.riverbankcomputing.com/software/pyqt/downloadInstall the navhip library (open a command prompt and enter c:python27scriptspip install navhip)
Package: navi
Navi Framework’s READMENavi is an open and free high-level framework that aims to make
building smart chatbots and personal assistants easy, friction-less and fun.In general terms, think about how awesome would it if you could build your own Siri, Alexa or
Google Assistant in afree,openandcontrolled-by-youway. Navi integrates all
necessary services into a consistent and fluid architecture to help you reach that goal.Currently, Navi is compatible withPython 2.7, but support for Python > 3 is planned.Guiding PrinciplesFun.Working with the Navi framework should be a fun experience. It should make
the design of a smart assistant easy to do, to test and to understand and explainUser friendly.Navi is designed to get you from idea to prototype fast by
offering consistent, coeherent and well-documented API’sModular.Bots and assistants created with Navi should be easily shareable in parts
or wholes. This way developers can build a community and grow togetherExtensibleIntegrating new messaging and conversational platforms to Navi
should be an easy task and done constantly.InstallTo install only the core of navi, use:pip install naviBut the best part of navi lies within its service extensions, we currently supportTelegram Messaging;Snowboy Hotword Detection;Wit.ai Natural Language Processing; andSpeech Recognitionservices from many providers.
Install the required dependencies for each by including the name of your desired extension with
the install command, like so:pip install navi[SpeechRecognition, HotwordDetection, Telegram, Wit]DocumentationHead over to the complete documentation, including some great guides, atnavi-framework.readthedocs.io