Saravanan666/pypi-org huggingface dataset:
Package: koparadigm
KoParadigm: A Korean Conjugation Paradigm GeneratorThis is the offical repo for our paper:KoParadigm: A Korean Conjugation Paradigm Generator(Inflectional) paradigm means the set of all the inflected forms of a word. For example, English verb "look" has inflected forms like "look", "look-s", "look-ed", and "look-ing", as all of you know.
Paradigms are widely used in corpus linguistics or search engines.
To create the full paradigm set of a language is sometimes tricky. It is particularly so when we deal with a morphologically rich language like Korean.
Inflection of Korean verbs is notorisouly complicated. Typically, a Korean verb can combine with more than 100 endings. What is worse, the combination rules are not simple at all.
They are determined by the sound of the verb/ending, and the part-of-speech of the verb (action / descriptive). That's why so far there's no open sources of Korean paradigm generator, I think.
Here's the first one. With KoParadigm, you can easily get the full paradigm of a Korean verb.Dependenciespython >=3.6jamo >=0.4.1xlrd == 1.2.0Installationpip install koparadigmUsage>>> from koparadigm import Paradigm, prettify
>>> p = Paradigm()
>>> verb = "곱" # Note that you must drop the final ending 다
>>> paradigms = p.conjugate(verb) # this returns list of lists
>>> print(paradigms)
[['Action Verb', [('거나', '곱거나'), ('거늘', '곱거늘'), ('거니', '곱거니') ...]]]
>>> prettify(paradigms)
POS = Action Verb
• ending = 거나 form = 곱거나
• ending = 거늘 form = 곱거늘
• ending = 거니 form = 곱거니
...
==================== 2 ====================
POS = Descriptive Verb
• ending = 거나 form = 곱거나
• ending = 거늘 form = 곱거늘
• ending = 거니 form = 곱거니
• ending = 거니와 form = 곱거니와
...ReferencesIf you use our software for research, please cite:@article{park2020KoParadigm,
  author = {Park, Kyubyong },
  title={KoParadigm: A Korean Conjugation Paradigm Generator},
  journal={arXiv preprint arXiv:2004.13221},
  year={2020}
}
Package: kopfkino
kopfkinoKopfkino is a library providing syntactic sugar sprinkled on top of MoviePy and AI components, to allow authoring of simple human-friendly video scripts.🚧Work in progress, code is coming.Kopfkino (German, ˈkɔpfˌkiːno) roughly translates to "movie theater of your mind", describing a kind of daydreaming when your imagination produces vivid images right in your head. It addresses the main purpose of this project — give you a convenient way to convert your ideas into movie scripts (which are also Python scripts), for producing e-learning videos and such, using an expressiveDSL.It enables you to concentrate on your content and its timeline, hiding away most of the technical details and quirks of underlying packages doing the grunt work, likeMoviePy.FeaturesMajor functions and use-cases:Rough and final cut of your recordings.Adding a title screen and end credits.Adding subtitles, optionally also converted to audio via an AI voice (TTS / text to speech).Using audio loops for background music.There is anearly proof of concepton YouTube, to give you an idea of the end result.Related Projects & ServicesOpen Broadcaster Software (OBS Studio)— Multi-platform software for video recording and live streaming.Ideogram— My recommendation for generating still images from a text prompt, to e.g. use in intro and outro sequences of a video.MoviePy— A Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.coqui-ai/TTS— A deep learning toolkit for Text-to-Speech, battle-tested in research and production.pydub— Manipulate audio with an easy to use interface.
Package: kopikatapi
KopikatAPI 😺👋 Hello, KopikatAPI 🐍 Python library for interacting with the Kopikat API.Kopikat project allows people to generative data augmentation. So people can enlarge and diversify datasets and is specifically helpful for datasets with up to 5,000 images that are typical for real-life AI projects.💻 InstallationYou can install theKopikatAPIlibrary using pip in betweenPython3.11>=Python>=3.8environment.pipinstallkopikatapi🔥 QuickstartfromkopikatapiimportKopikatAPIimportcv2api_key:str='ENTER YOUR API KEY HERE'kopikatAPI=KopikatAPI(api_key)kopikatAPI.augment_image_file('image.png','summer time')cv2.imshow("output",kopikatAPI.cv2_image())cv2.waitKey(0)Get your API KeyContact with kopikat team fromhereDisclaimersThis is not an official Kopikat product. This is a personal project and is not affiliated with Kopikat in any way.
Package: ko-poetry-audit-plugin
ko-poetry-audit-pluginTo check known vulnerabilities frompoetry.lock.Inspired bypypa/pip-audit, this addsauditcommand tippoetry, for checking vulnerabilities of packages found inpoetry.lock.Vulnerability reports are sourced from Python Packaging Advisory Database (https://github.com/pypa/advisory-database) usingJSON API.InstallationPlease follow poetryUsing Pluginsfor installation.% poetry self add ko-poetry-audit-pluginTo integrate withpre-commit, trigger scan wheneverpoetry.lockis commit:-repo:https://github.com/koyeung/ko-poetry-audit-plugin.gitrev:0.6.0hooks:-id:poetry-auditNoteby default, it scans formainanddevdependencies groups only.UsageTo check formaingroup:% poetry audit
No known vulnerabilities foundTo include packages indevgroup:% poetry audit --with dev
Found vulnerabilities
Group    Name    Version    ID                   Withdrawn    Fix Versions    Link
-------  ------  ---------  -------------------  -----------  --------------  -------------------------------------------------
dev      py      1.11.0     GHSA-w596-4wvx-j9j6                               https://osv.dev/vulnerability/GHSA-w596-4wvx-j9j6
dev      py      1.11.0     PYSEC-2022-42969                                  https://osv.dev/vulnerability/PYSEC-2022-42969
% echo $?
1To show more details:% poetry audit --with dev -vv
[ko_poetry_audit_plugin.auditor] get packages list from dependencies groups={'main', 'dev'}
[ko_poetry_audit_plugin.pypi_warehouse] package.name='boto3', package.version='1.26.8': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='jmespath', package.version='1.0.1': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='botocore', package.version='1.29.8': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='six', package.version='1.16.0': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='python-dateutil', package.version='2.8.2': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='s3transfer', package.version='0.6.0': no vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='py', package.version='1.11.0': vulnerabilities found
[ko_poetry_audit_plugin.pypi_warehouse] package.name='urllib3', package.version='1.26.12': no vulnerabilities found
Found vulnerabilities
Group    Name    Version    ID                   Withdrawn    Fix Versions    Link
-------  ------  ---------  -------------------  -----------  --------------  -------------------------------------------------
dev      py      1.11.0     GHSA-w596-4wvx-j9j6                               https://osv.dev/vulnerability/GHSA-w596-4wvx-j9j6
dev      py      1.11.0     PYSEC-2022-42969                                  https://osv.dev/vulnerability/PYSEC-2022-42969Exit codespoetry auditexits with non-zero code, unless all vulnerabilities found have been withdrawn.Noteonly packages found onpypicould be checked.Licensingpoetry auditplugin is licensed under the Apache 2.0 License.
Package: kopp
koppKOrean PostPositions, kopp [ko-pi-pi]파이썬 한글 조사 처리InstallpipinstallkoppUsage"(이)가", "(와)과", "(을)를", "(은)는", "(으)로", "(아)야", "(이)여", "(이)라"처럼 처리된 한국어 텍스트를
앞에 오는 글자에 맞춰 처리합니다.터미널에서 바로 사용할 수 있고, 임포트해서 사용할 수도 있습니다.# shellkopp'아노아(이)가 공격했다'아노아가 공격했다>>>fromkoppimportkopp>>>print(kopp("서울(으)로 부산(으)로."))'서울로 부산으로'ReferencePython 에서 한글 조사 을/를, 이/가, 은/는, 와/과 출력하기myevan/pyjosa
Package: kopper
Korail에서 기차 예매를 진행할 때,
출발역에서 도착역까지 예매를 할 수 없는 경우 중간 정차역을 껴서 예매가
가능한 구간이 있는 지 확인하는 코드입니다.$Seat_{n-1}$$Seat_{n}$$Seat_{n+1}$$Seat_{n+k}$서울-천안XOXX천안-부산XXOX서울에서 부산까지 완전히 비어있는 좌석이 없으므로 예약할 수 없지만, (서울 - 천안), (천안 - 부산) 구간에서 티켓을 구매할 수 있습니다.0. 설치$pipinstallkopper1. 기차 정보 조회fromkopperimport*kopper=Kopper()# 기차 기본 정보 (최대 10개 조회)trains_info=kopper.trains_info("20200315","60000",STATIONS.광명,STATIONS.부산,TRAIN_TYPE.KTX)fortrain_infointrains_info:print(train_info)"""No.00101     KTX     광명(053100) ------ 부산(075100)No.00103     KTX     광명(054600) ------ 부산(081700)No.00105     KTX     광명(061600) ------ 부산(083700)No.00201     KTX_산천      광명(062100) ------ 부산(085400)No.00107     KTX     광명(065100) ------ 부산(091600)No.00109     KTX     광명(071600) ------ 부산(094000)No.00111     KTX     광명(074600) ------ 부산(100200)No.00113     KTX     광명(080900) ------ 부산(100700)No.00115     KTX     광명(081700) ------ 부산(104300)No.00119     KTX_산천      광명(095100) ------ 부산(122400)"""2. 기차 시간표 조회# 기차 선택selected_train_info=trains_info[0]# 선택한 기차 시간표 조회selected_train_schedule=kopper.train_schedule(selected_train_info)print(selected_train_schedule)"""광명 (05:31) - 대전 (06:10)대전 (06:12) - 동대구 (06:56)동대구 (06:58) - 신경주 (07:15)신경주 (07:16) - 울산_통도사 (07:27)울산_통도사 (07:29) - 부산 (07:51)"""3. 선택한 기차 칸 번호 조회selected_train_srcar_length=kopper.train_srcar_length(selected_train_info)print(selected_train_srcar_length)"""['1', '5', '6', '7', '8', '9', '10', '11', '12', '13', '15', '17', '18']"""4. 예매할 수 있는 구간 출력# 보통 약 10 ~ 20초 정도 크롤링 시간 소요dict_selected_train_seats=kopper.train_seats_by_schedule(selected_train_info,selected_train_schedule,selected_train_srcar_length)kopper.report_routes(selected_train_schedule,dict_selected_train_seats)"""광명 (05:31) - 부산 (07:51)"""
Package: ko-pron
InformationHangul pronunciation and romanisation module.This is actally rewritten to python Wiktionary lua moduleko-pronCurrent revision:https://en.wiktionary.org/w/index.php?title=Module_talk:ko-pron&oldid=49615051Supported transformations:Revised Romanisation (rr)phonetic hangul (ph)Yale romanisation (yr)McCune-Reischauer (mr)WT-revised Revised Romanisation (rrr)IPA (ipa)McCune-Reischauer, IPA, Revised Romanisation, phonetic hangul take into aacount changes in pronunciation like:
"있다" is pronounced as "itta" etc.Method "romanise" also accepts optional parameters. They are described indocumentation of original lua moduleUsagefromko_pronimportromaniseprint(romanise("있다","mr"))Result:ittaInstall locallypipinstall-e.Test coverageRun tests with coveragecdtest./coverage.shRun html tests after running testscoveragehtmlResultsNameStmtsMissCover/Users/andrey/Projects/ko_pron/ko_pron/__init__.py20100%/Users/andrey/Projects/ko_pron/ko_pron/data.py20100%/Users/andrey/Projects/ko_pron/ko_pron/ko_pron.py1862388%test_params.py770100%test_pronunciation.py110100%--------------------------------------------------------------------TOTAL2782392%LinksGitHubOriginal lua moduleOptional parameters
Package: kopylot
KoPylot: Your AI-Powered Kubernetes Assistant 🤖Kopylot is an open-source AI-powered Kubernetes assistant. Its goal is to help developers and DevOps engineers to easily manage and monitor their Kubernetes clusters.KoPylot's idea is similar toKopilotfrom knight42. The main difference at the moment is the usage of Python for implementing it.Note from the author: I decided to create a new project instead of contributing to Kopilot mainly because I am a Python developer, and Kopilot is written in Go. I also believe that the tools for interacting with large language models are more mature in the Python ecosystem.🔧 Features:🚧👷‍♀️Under Construction!👷🚧🔨 Installation:You can install KoPylot usingpippip install kopylot📖 Usage:🚧👷‍♀️Under Construction!👷🚧👥 Contributors:Kopylot is an open-source project and we welcome contributions from the community. If you are interested in contributing, please fork the repository and submit a pull request. We also welcome feedback and suggestions on how we can improve Kopylot.Getting started as a contributorgitclonehttps://github.com/avsthiago/kopylot.gitcdkopylotInstall the environment and the pre-commit hooks withmakeinstall📄 License:Kopylot is licensed under the MIT License. See LICENSE for more information.📞 Contact:If you have any questions or suggestions, feel free to contact me onthiagoalves.ai.Thank you for using Kopylot! 🙌
Package: kopylot-gpt
KoPylot: Your AI-Powered Kubernetes Assistant 🤖KoPylot is an open-source AI-powered Kubernetes assistant. Its goal is to help developers and DevOps engineers to easily manage and monitor their Kubernetes clusters.You can read more about the project in theblog post.🤝 Note:This repo fromhttps://github.com/avsthiago/kopylotwith fixed text-davinci-003 has been deprecated. Origin author is Thiago Alves.💫 Features:🔍Audit: Audit a resource, such as pods, deployments, or services using an LLM model.🩺Diagnose: Diagnose resources, such as pods, deployments, or services using an LLM model.💬Chat: Start a chat with KoPylot to generate kubectl commands based on your prompts.☸️Ctl: A wrapper around kubectl. The arguments passed to thectlsubcommand are interpreted by kubectl.🚀 Quick Start:Requests an API key fromOpenAI.Export the key using the following command:exportKOPYLOT_AUTH_TOKEN=your_api_keyNOTE: If you want to avoid having the key in your .bashrc, .oh-my-zsh/custom dir,
or your .bash_history or .zsh_history, a possible trick is to do something like this:exportKOPYLOT_AUTH_TOKEN=$(cat../../../keys/openai)Install KoPylot using pip:pip install kopylot-gptRun KoPylot:kopylot --help📖 Usage:Usage: kopylot [OPTIONS] COMMAND [ARGS]...                                           
                                                                                      
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --version                                                                          │
│ --install-completion        [bash|zsh|fish|powershell  Install completion for the  │
│                             |pwsh]                     specified shell.            │
│                                                        [default: None]             │
│ --show-completion           [bash|zsh|fish|powershell  Show completion for the     │
│                             |pwsh]                     specified shell, to copy it │
│                                                        or customize the            │
│                                                        installation.               │
│                                                        [default: None]             │
│ --help                                                 Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────╮
│ audit     Audit a pod, deployment, or service using an LLM model.                  │
│ chat      Start a chat with kopylot to generate kubectl commands based your        │
│           inputs.                                                                  │
│ ctl       A wrapper around kubectl. The arguments passed to the ctl subcommand are │
│           interpreted by kubectl.                                                  │
│ diagnose  Diagnose a resource e.g. pod, deployment, or service using an LLM model. │
╰────────────────────────────────────────────────────────────────────────────────────╯
Package: kopyt
KopytKopyt is a Kotlin programming language parser in pure Python, inspired byjavalanglibrary.Installationpipinstall-UkopytFeaturesSupports Kotlin 1.5Zero dependencyRequirementsPython 3.7+UsagefromkopytimportParser,nodecode="""\package mainimport a.bimport x.y.z.*fun main() {println("Hello, world!")}"""parser=Parser(code)result=parser.parse()assertresult.packageisnotNoneassertresult.package.name=="main"assertlen(result.imports)==2assertresult.imports[0].name=="a.b"assertresult.imports[1].name=="x.y.z"assertresult.imports[1].wildcardassertlen(result.declarations)==1assertisinstance(result.declarations[0],node.FunctionDeclaration)assertresult.declarations[0].name=="main"assertresult.declarations[0].position.line==6print(result)# this will output a string similar to the original codeAll nodes and its members can be found onkopyt/node.py.Partial ParsingIt is possible to parse partial Kotlin code, for example you want to parse a function declaration:fromkopytimportParser,nodecode="fun plusOne(x: Int) = x + 1"parser=Parser(code)result=parser.parse_function_declaration()assertresult.name=="plusOne"assertlen(result.parameters)==1assertresult.parameters[0].name=="x"All parse functions can be found onkopyt/parser.py.
Package: kor2vec
# kor2vec [![CircleCI](https://circleci.com/gh/kor2vec/kor2vec.svg?style=svg)](https://circleci.com/gh/kor2vec/kor2vec)OOV없이 빠르고 정확한 Char-CNN 기반 한국어 Embedding## Installation```shellpip install kor2vec```> Requirements : `tqdm`, `numpy` and support `torch >= 0.4.0`## Introduction한국어는 교착어라는 특성을 갖고 있습니다. 때문에 어간+어미(용언), 명사+조사 등등 다양한 형태의 수만가지의단어 조합들을 만들어 낼 수 있는데요. 한국어를 사용하는 입장에서는 매우 편리한 특성이지만한국어를 Embedding 해야하는 NLP 개발자들에게는 언제나 가장 큰 문제점으로 다가왔습니다.때문에 `konlpy`나 `sentence piece`를 사용해서 한국어를 적절한 token 단위로 나눈뒤에`Word2vec` 또는 자제적인 Embedding을 학습하여 교착어의 문제를 해결하였습니다.하지만 이 방법에는 세가지 큰 문제점이 존재합니다.1. 모든 inference, training 과정에 tokenizer가 붙어야 함으로 병목현상이 발생한다2. tokenization 과정에서 의미를 잃어버리는 경우가 많다 (잘못된 tokenization)3. 모든 단어와 문장을 cover하는 것은 불가능하다 (필연 OOV문제가 발생함)## Solution이러한 문제점을 해결하기 위해서 CNN을 기반으로 한 char-word 임베딩을 한국어에 적용하여`kor2vec`을 만들게 되었습니다.- Embedding 학습 방법 : Skip-gram based embedding training- Char-word Encoder 모델 구조 : [Yoon Kim's Character-Aware Neural Language Modeling](https://arxiv.org/abs/1508.06615)## Quick Start```shellkor2vec train -c corpus/path -o output/model.kor2vec```### inference```pythonfrom kor2vec import Kor2Veckor2vec = Kor2Vec.load("../model/path")kor2vec.embedding("안녕 아이오아이야 나는 클로바에서 왔어")>>> torch.tensor(5, 128) # embedding vectorkor2vec.embedding("나는 도라에몽이라고 해 반가워", numpy=True)>>> numpy.array(4, 128) # numpy embedding vectorinput = kor2vec.to_seqs(["안녕 나는 뽀로로라고 해", "만나서 반가워 뽀로로"], seq_len=4)kor2vec.forward(input)>> torch.tensor([2, 4, 128])```### training```pythonfrom kor2vec import Kor2veckor2vec = Kor2Vec(embed_size=128)kor2vec.train("../path/corpus", batch_size=128) # takes some timekor2vec.save("../mode/path") # saving embedding```### with pytorch```pythonimport torch.nn as nnfrom kor2vec import Kor2veckor2vec = Kor2Vec.load("../model/path")# or kor2vec = SejongVector()lstm = nn.LSTM(128, 64, batch_first=True)dense = nn.Linear(64, 1)# Make tensor inputsentences = ["이 영화는 정말 대박이에요", "우와 진짜 재미있었어요"]x = kor2vec.to_seqs(sentences, seq_len=10)# >>> tensor(batch_size, seq_len, char_seq_len)x = kor2vec(x) # tensor(batch_size, seq_len, 128)_, (x, xc) = lstm(x) # tensor(batch_size, 64)x = dense(x) # tensor(batch_size, 1)```Copyright 2018 Kor2vec Contributors and NAVER Corporation
Package: koradctl
koradctl- Power Supply Control Utility and Librarykoradctlis a simple python library to support the control and automation of Korad KAxxxxP series power supplies.
These supplies are also rebadged as other brands including Tenma and Vellerman (seeherefor a more complete list).koradctlhas been tested with bench power supplies that respond with the following firmware identification.
Please let me know if you have successfully usedkoradctlwith other power supplies.TENMA 72-2540 V2.1InstallpipinstallkoradctlUsage# Output offkoradctl-eoff# Toggle the outputkoradctl-etoggle# 12v, 400mA, Output on, Monitor with readings once every 10 secondskoradctl-v12-i0.4-eon-M-f10# 3.3v, 250mA, OCP on, OVP off, Output on, Monitor oncekoradctl--ocpon--ovpoff-v3.3-i0.25-eon-m# 5v, 150mA, Output on, Monitor with default interval, Turn output off on ^Ckoradctl-v5-i0.15-eon-M-o# further usage information:koradctl--helpPower Supply APIMiscget_identity()is_tested()get_status()Output Stateget_output_state()set_output_state(enabled)Voltage and Over Current Protectionget_ovp_ocp_state()set_ocp_state(enabled)set_ovp_state(enabled)Setpoint ControlVoltageget_voltage_setpoint()set_voltage_setpoint(voltage)Currentget_current_setpoint()set_current_setpoint(current)Output Readingsget_output_voltage()get_output_current()get_output_power()get_output_readings()Development Setupvirtualenv-ppython3venv
.venv/bin/activate
pipinstall-rrequirements.txtTodoLocal configuration fileDefault Voltage / Current setpointVoltage / Current limitsMonitor interval
Package: korapp
Python package to generate app.Installationpip install korappFor App CreatorIntroductionA brain is an instruction to generate applications, you can generate
any kind of application in any language depending on the brain.
Download the brain that you want and put in the location~/.brainTo create new application, usekorapp new <appname>Then cd into the new application folderopen fileapp.mmto examine and make modificationand runkorapp genIf you change theapp.mmmind map, runkorapp genagain to
regenerate the related files. Note that KorApp will overwrite its
generated files so whatever customization you make will be
overwritten. So if you want to modify the file, you can use the
generated file as template and copy to other file or inherit from
them.However, the files created bykorapp newwill only generate once
and not overwritten.Doc ServerThe brain can behave differently from brain to brain. App Creator can
learn how each brain work from the document server. To access the
document for the brain.cd <brain_dir>   korapp docThe document
then can be access fromhttp://127.0.0.1:8000/For Brain CreatorThe brain is also work from mind map as well. To create a brainyou need to write a mind mapnew.mmwhich will get run when app
creator issuekorapp newput any script used bynew.mminsidescript/directoryin thegen/directory, write mind maps corresponding to the
branch that the app creator will be used in the first level branch,
i.e.,models.mmwill get run when they usemodelbranch,pages.mmforpagesbranch, and so on.put all the script files under samescript/directory.Example ofmodels.mm.The other directory structure are not required by KorApp, it depends on
the script to use them.Korapp NewKorapp newKorapp will first look intonew.mmand execute each branch. The
first level node is command which can be eitherbashorpython(pyis the same aspython)The second level branch is the script filename that is under script/
directory of the brain.For bash, the script will runbrain/script/<name>.sh, the
extension.shwill be added automatically.For python, the script will runbrain/script/<name>.py, the
extension.pywill be added automatically.Korapp Gen Parametersfor bash, will run with each node converted to snakecase arguments
only first branch levelfor other, will write node xml into.korapp/node_param.yamland
call as argument to script. The script can access node xml by usingutils.get_node_param()like sofrom korapp import utils

node_param = utils.get_node_param()Korapp DocEach mind map (.mmfiles) can have accompanied document file in the
format of markdown. The doc server will concatenate togetherREADME.md,new.mdand all .md files in thegen/directoryREFERENCERequirementPython 3Brain Locationdefault to ~/.braincan be specified by-bor--brainkorapp new my_app-b~/brain0
Package: kora-quickdraw
kora_quickdrawMatplotlib simple graph templateInstallpip install kora_quickdrawUsageThere two commandsdefining figure and axesshowing graphfig, ax1, ax2 = start_plot2()
...
show_plot2(1, fig, ax1, ax2)Full exampleIn example directoryfrom kora_quickdraw import *
import numpy as np

x = np.linspace(-np.pi , np.pi)
y1 = np.sin(x)
y2 = np.cos(x)

fig, ax1, ax2 = start_plot2()
ax1.plot(x,y1)
ax1.plot(x,y2)
ax2.plot(x, y1*y2)
show_plot2(1, fig, ax1, ax2, t1="sin(x) and cos(x)", t2="sin(x) x cos(x)", y2='y')