Saravanan666/pypi-org huggingface dataset:
Package: easywave
Python Easywave libraryLibrary and CLI tool for interacting with Eldat RX09 Easywave transceiver.RequirementsPython 2.7 or 3.6 (or higher)DescriptionThis package is a library for interacting with an Eldat RX09 Easywave transceiver. Seehttps://www.eldat.de/produkte/schnittstellen/rx09e_en.htmlI created this to be able to control my window screens.
Specification of how to use the transceiver:https://www.eldat.de/produkte/_div/rx09e_sp_en.pdfI don't know if this also works Niko Easywave, so be my guest to test it...Installation.. code-block:: bash$ pip install easywaveUsage of Easywave CLI.. code-block::$ easywave -h
Command line interface for easywave library.

Usage:
  easywave [-v | -vv] [options]
  easywave [-v | -vv] [options] <command> <id>
  easywave (-h | --help)
  easywave --version

Options:
  -p --port=<port>   Serial port to connect to [default: auto detect],
                       or TCP port in TCP mode.
  --baud=<baud>      Serial baud rate [default: 57600].
  --host=<host>      TCP mode, connect to host instead of serial port.
  -m=<handling>      How to handle incoming packets [default: event].
  -h --help          Show this screen.
  -v                 Increase verbosity
  --version          Show version.Command can be code "A", "B", "C" or "D". ID is channel id.Intercept and display Easywave packets:.. code-block::$ easywave
packet {'header': 'receive', 'id': '1c14a3', 'command': 'A'}Send a command:.. code-block::$ easywave A 01
Package: easy-web-app
Easy Web App (for Python)Create web applications easily.This is aPyPI packagefor therest-web-guiframework.Focus is onweb applications(not simple web pages).
A lot of plug-ins are available to get a portal it quickly configured:FormsTables / listsContent: via MediaWiki API, plain HTML views, or help dialogsI/O: control switches/drawer, gauges, graphs, LEDs, displays, …i18n: switch languageMaps: POIs, routes, traffic, …Page to page navigation with navigation tabs, menus, links and session dataSource code displaySecurity: HTTP Basic authentication or OAuth…This is how it may look like:Check out theonline demos.Remark: It is also available asNode.js API package.Getting startedPrepare:Create a web application project folder, e.g.mkdir ~/myappCreate a virtual Python environment for this folder:virtualenv ~/myappChange into the project folder and activate the virtual environment:cd ~/myapp; source bin\activateInstall this package:pip installeasy-web-appCreate first web app with Python:Create a file, e.g.firstapp.pyfrom easywebapp.webapp import Portal
import easywebapp.page_layout as page

mainpage = page.PageLayout( 'First Page' )

# initialize portal
portal = Portal( 'My Portal', 8000, mainpage )

# define a custom web service
portal.addURL( '/myservice', 'myservice' )

class myservice:
    def GET( self ):
        return 'Hello World'

# start the web server
portal.run()TODOs[x] First workingrest-web-uiintegration[x] PyPI package[ ] configure port from init[x] portal.getPage( name )[x] portal.addPage( pageId [, title] [, viewDef] [, viewConfig] )[ ] Portal pages navigation tabs[x] page.addView( def [, config]  )[x] page.addColumnsRow( id, width )[x] row.addView( def [, config] )[x] row.addColumnsRow ( id, height )[x] column.addView ( def [, config] )[x] column.addRowsColumn ( id, width )[x] View API[ ] I/O server and API
Package: easy-whisper-local
EasyWhisperEasyWhisper is a simple Python package that allows you to convert speech to text using OpenAI's model Whisper locally.It is a wrapper around the openai-whisper package.InstallationUsepipinstalleasy-whisper-localThis is enough to install the package and its dependencies.Besides, you can also install torch with CUDA support to speed up the process using your GPU.The model will be downloaded automatically when you run the package for the first time, and it will be saved in the subdirectorymodels/.Usagefromeasy_whisper_local.baseimportEasyWhisperew=EasyWhisper()text=ew.file_to_text('audio.mp3')times=ew.file_to_timestamps('audio.mp3')dictionary=ew.file_to_dictionary('audio.mp3')The default model is 'medium', but if you want to use other model, you can do so by passing it to theEasyWhisperconstructor, for example:ew=EasyWhisper(model="large")You can also turn off the verbose mode to the constructor by passingFalseto its parameter:ew=EasyWhisper(verbose=False)Streaming (still in development)You can also use the package to convert speech to text in real time.fromeasy_whisper_local.streamingimportEasyWhisperStreamingews=EasyWhisperStreaming()fortextinews.stream_to_text(audio_listener):print(text)
Package: easy-wrap
easy_wrap基于pillow的简单文本转图片渲染工具，帮助实现自动换行安装pip install easy_wrap需要Python3.8及以上环境示例代码fromeasy_wrapimportDrawertext="... the text you want to render ....测试自动换行"font_path="msyh.ttc"font_size=30drawer=Drawer(font_path,font_size)image_width=180canvas=drawer.draw_text(text,image_width)# save the imagecanvas.save(open("test.png","wb"))特性快速，800字平均渲染时长为0.04s（i7 cpu 2.7GHz）遵循如下换行规则（与css word-break: normal 稍有差异）纯中文：自动换行，一个汉字看做一个单词；纯英文：看做一个单词，不换行；遇到英文空格或者换行符：会换行；更新日志0.1.0第一个可用版本0.1.1修复BUG：修复3.10以下python环境调用easy_wrap发生TypeError: 'type' object is not subscriptable的问题0.1.2优化代码结构，完善注释
Package: easywsl
EasyWSL让部署WSL更轻松！使用环境操作系统：Windows 10 1803以上版本Python版本：>= 3.5注意：该工具只能运行在Windows系统上，不支持在WSL中运行！使用帮助查看已安装的WSL系统列表>ezwsl ls
Microsoft Windows 10 专业版 2004 Version 10.0.19041
WSL distribution installed:
 =>Ubuntu-20.04(WSL2)安装WSL发行版>ezwsl install -d Ubuntu-20.04目前只能安装官方支持的几款发行版：Ubuntu-20.04,Ubuntu-18.04,Ubuntu-16.04,Debian,Kali-Linux,OpenSUSE-42,SLES-12,FedoraRemix。如果尚未开启WSL，执行该命令会先开启WSL，用户需要在开启后重启一次系统，然后再次执行该命令。卸载WSL发行版>ezwsl uninstall -d Ubuntu-20.04设置默认的发行版>ezwsl set-default -d Ubuntu-20.04默认情况下第一次安装的发行版会自动成为默认系统，如果想设置为其它系统，可以使用该命令。设置默认的WSL版本>ezwsl set-default-version -v 2WSL默认使用的是WSL1，可以使用该命令修改默认的WSL版本。升级WSL2需要开启VirtualMachinePlatform特性，如果尚未开启，工具会自动开启并提示重启系统。请在重启后再次执行该命令。设置发行版使用的WSL版本>ezwsl set-dist-version -d Ubuntu-20.04 -v 2与set-default-version命令相比，该命令只是设置指定的发行版WSL版本，不会修改默认的WSL版本。使用该命令也需要开启VirtualMachinePlatform特性。安装zshzsh是目前使用非常广泛的shell，这里提供了一键安装zsh的命令，并且会安装oh-my-zsh以及Noto Mono for Powerline字体。>ezwsl install-zsh -p password -d Ubuntu-20.04 --theme agnoster --set-default-shell-p是Linux系统的当前用户密码（必选）-d是要安装的发行版名字，不指定则使用当前发行版（可选）--theme是使用zsh主题，默认是agnoster（可选）--set-default-shell表示设置默认的shell为zsh（可选）安装命令行终端>ezwsl install-terminal -n wsl-terminal -p password --install-path C:\ --default-shell /bin/zsh-n是terminal名称，目前只支持wsl-terminal、windows-terminal（必选）-p是当前Linux系统的当前用户密码（必选）--install-path是安装路径，默认为%APPDATA%（可选，只对wsl-terminal有效）--default-shell是终端默认使用的shell，默认是bash（可选）端口转发WSL2中，WSL中不能通过回环地址访问Windows中创建的TCP服务。因此，easywsl提供了端口转发能力，允许在WSL中像访问本地服务一样访问Windows上的服务。>ezwsl forward -p password --ports 80;443-p是当前Linux系统的当前用户密码（必选）--ports是要转发的端口列表，端口间使用;分割
Package: easywsy
easywsy Documentationeasywsyis a high-level API based on suds for developing connections to any Web Service. The main feature is the readability and simpleness of the code required to connect to a Web Service.For example, this code connects to a Web Service, and use one of its functions to sum two numbers:fromeasywsyimportWebServiceclassWSCalc(WebService):ws=WSCalc(WSURL)request_data={'Add':{'intA':10,'intB':20,}}ws.add(request_data)response=ws.request('Add')# response will then be 30Another big feature is the support for dynamic checks on the fields sent to the Web Service. This allows the developer to check the values that will be send to the Web before sending them, preventing a connection to the internet that will always return an error.This is achieved through method decoration as follows:fromeasywsyimportwsapi@wsapi.check(['intA','intB'])defvalidation_method(value):ifisinstance(value,int):returnTrueelse:returnFalseFollowing the previous example, this method will be called twice, each time with the value of intA and intB in thevalueparamenter. If the method returns False, a predefined error will be raised, and if it returns True, the flow continues.
Package: easyx
easyX: a simple Python library for saving complex data structure based on HDF5This library enables you to save a Python dictionary with a complex structure to a single file. We have tested this library to save files in size 150 GB — i.e., you need a computer with 155 GB memory.The procedure is simple. The library tries to save homogeneous tensors by using the regular algorithm that is used forHierarchical Data Format 5 (HDF5). We will store them in a group called "raw." If the dictionary has other complex structures — such as another dictionary or nonhomogeneous tensors — the library will first dump the bytes of data from memory and encode it in abase64format. The encoded data will be stored as a vector in a group called "binary." This library is originally developed for theeasy fMRI project— a toolbox for analyzingtask-based fMRIdatasets.We have tested this library on Python 3.7 and above.How to install?Using pipYou simply install it using ourpippackage.pipinstalleasyxUsing source fileYou only need to copy theeasyx/easyX.pyto your project. You can usegitfor downloading this library, as well:gitclonehttps://gitlab.com/myousefnezhad/easyx.gitYou need to install the related libraries from therequirements.txtfile:pipinstall-rrequirements.txtThis file includesnumpy,h5py.How to use it?You will keep all variables in the form of a dictionary in Python.As an example, we have created a sample data:data={"a":np.array([[1,2,5,8],[2.,4,1,6]]),"b":[[1],[2,4]],"c":[[1,20],[7,4]],"d":"Hi There","e":["A","B"],"f":[["a","b"],["c","d"]],"h":np.random.rand(100,1000)}Here, we have the dictionarydatathat includes different shapes of variables.Saving a dictionary into a fileYou can use following commands for saving a dictionary in a file:# Import easyX LibraryfromeasyximporteasyX# Create an object from easyX classezx=easyX()# Change this one with the PATH you need to save your datafname="/tmp/a.ezx"# Here, `data` is the example dictionary, you may replace it with yoursezx.save(data,fname=fname)Loading a data file into a dictionaryYou can use following commands for loading a data file into a dictionary:# Import easyX LibraryfromeasyximporteasyX# Create an object from easyX classezx=easyX()# Change this one with the PATH you need to save your datafname="/tmp/a.ezx"# Data will be recovered in the `data` dictionarydata=ezx.load(fname=fname)Loading the data structures (keys) from a data file into a dictionaryYou can use following commands for loading the data structures (keys) from a data file into a dictionary:# Import easyX LibraryfromeasyximporteasyX# Create an object from easyX classezx=easyX()# Change this one with the PATH you need to save your datafname="/tmp/a.ezx"# Keys will be recovered in the `keys` dictionarykeys=ezx.load_keys(fname=fname)For support and feedback, please contact us:info@yousefnezhad.com.
Package: easyx509deserialization
This is a front end to the cryptography module x509 read functions.  It will allow you to quickly pull most information from an x509 certificate.  All of the read functions will take one parameter that can be either a base 64 string, (a .cer file) a binary object (a .der file) or a cryptography x509 certificate.Usage:
from easyx509deserialization import read_certificatecertificate_file = "duckduckgo-com.pem"f = open(certificate_file, "r")certificate_text = f.read()f.close()subject_name = read_certificate.get_subject_name(certificate_text)Additionally, a p7b/p7c file can be passed in, and return a list of cryptography certificate objects.certificate_list = read_certificate.get_certs_from_pkcs7(pkcs7_file.p7b)
Package: easyxl
\n导出命令安装python，推荐3.8.10安装easyxl，命令行运行：python -m pip install easyxl按照后述格式填写好excel表格后，命令行运行：python -m easyxl /path/to/your/excel/file/输出结果在excel文件同级目录下与excel文件同名的文件夹里填表说明cmd表单cmd是管理导出任务的默认表单保证第一行和第一列没有被空单元格间断（合并单元格里的所有单元格都是非空）第一列：h标明表头的范围*标明要输出的内容#注释掉不需要输出的内容表头说明：Task：任务标记SheetName：任务所对应的表单名称Export：是否执行导出OneFilePerId：是否按照第一层的Id，按照Id导出单独的数据文件待导出表单分隔符与信息记号："-"是默认的分隔符名称、第一行/列的h/id标记、强制转换数值类型、数据结构、null记号等信息记号，都需要用"-"分隔名称：用分隔符分割单元格的数据后，第一个会被作为单元格的名称。如果是"-AB-EF"的结构，第一个值是""，单元格名称会被设置为Noneh/id标记：h，在第一列标记所有表头所在的行id，在第一行标记所有ID所在的列强制转换数值类型：支持的类型包括int、float、str、bool数据结构：dict、listnull记号：none或null都可以，不区分大小写放置了null记号的单元格，会被当做空单元格处理Id与Header支持多列的Id嵌套，支持多行的Header嵌套支持定义数据结构：dict与list。实现方式：在对应的单元格添加分隔符与对应类型（dict、list）支持注释：如果在某个单元格前添加#，则该单元格对应的行或列不会被导出合并多行多列数据方法1：合并涉及的单元格方法2：第一个单元格正常书写，剩余单元格留空方法3：所有单元格都填写内容需保证拆分后的name都一样。添加#不影响对name的判断。只有第一个单元格的#能够起到注释的作用。合并多行或多列的一个注意项：如果是Id的末列或者Header的末行，一个Id对应多行，或者一个Header对应多列，则对应的行列数据都会被放到一个list里，无论定义的这个Id或Header的数据结构是list还是dict。之所以这么做，是因为没有下一列或下一行提供字典的key。Content区：Header末行以下、Id末列以右的区域支持单元格内填写Json5格式数据其他重复Id处理：后边覆盖前边空表头处理：如果数据向上追溯碰到的第一个非空表头是list，则该数据会被放到对应的list里如果数据向上追溯碰到的第一个非空表头是dict，则该数据会被放到{None:}里。注意：多个空表头会导致只有最后一个表头对应的数据被放到{None:}里把数据按第一个Id列表输出（只适用于不是OneFilePerId的情形）：方法1：在(1, 1)输入{abcd:[]}（abcd可以用其他字母替换），脚本会以该格式作为包裹，将id列的值放到列表里；id列的键会被略去，因为外层是一个list。:方法2：在Id列左侧再插入一个辅助列，作为一个包裹结构。比如data-list，具体格式参见合并多行多列数据的3个方法之一对于字母和数字拼接的Id，使用"_"拼接，会默认把Id拆分后进行排序将json转换为C#的数据结构：https://json2csharp.com/TODO添加：根据cmd表单，形成任务列表的功能添加：获取Sheet信息添加：#注释掉列的功能添加：#注释掉行的功能添加：忽略空单元格的功能添加：将Id列转化为列表头，增加差异化列表头功能增强：Header垂直到尾的判断能力添加：parse单元格内Json字符串的功能添加：根据表头的类型标注转换单元格value的功能添加：将多个相同ID表头的行合并伪一个list的功能添加：OneFilePerId的功能添加：命令行读取参数，处理Excel文件的功能打包发布到Pypi增加不同层级的remove_empty的功能：RmEmptyDictItem、RmEmptyListItem将单元格里的json结构化为UnifiedData，减少递归判断的复杂程度，也方便做remove_empty增加数据校验的功能增加数据导出为类的功能
Package: easy-xml
EasyXML presents a simplified view of an XML document.Elements in the XML document, including the root-level document,
are represented by EasyXML objects.  Each EasyXML object has a_nameattribute holding the name of the element represented by
the EasyXML object, a dictionary called_attrsholding the element’s
attributes, and a sequence called_contentholding the content
of the element.  The_contentsequence contains strings for the
character data within the element (with whitespace stripped from
the beginning and end), and other EasyXML objects for nested XML
elements.The content of the EasyXML object can be accessed directly as if it
were a sequence itself.  In addition, the element’s attributes
themselves may be accessed by name on the EasyXML object.For example, the XML fragment<zipcode="12345">Schenectady,NY</zip>would be returned as an EasyXML object wherename.``_name``
is'zip',name.``_attrs`` is{'code': '12345'},name._contentis['Schenectady, NY'],name.``code`` is'12345',
andname.``[0]`` is'Schenectady, NY'.Usage:# Import the EasyXML class
from easy_xml import EasyXML

# Parse the file-like object `stream` into an EasyXML structure.
xmldoc = EasyXML.parseXML(stream)

# Find the first ``<hello>`` node in the document.
# If it exists, record its content in the `hello` variable.
# If not, record ``world`` in `hello`, and create a new
# ``<hello>world</hello>`` XML element at the top of the document.

for element in xmldoc:
    if isinstance(element,EasyXML) and element._name == 'hello':
        hello = ' '.join(element._content)
        break

if hello is None:
    hello = 'world'
    element = EasyXML('hello', content=[hello])
    xmldoc._content.insert(0, element)

# Convert the EasyXML structure back into a valid XML document.
xmlfile = str(xmldoc)Notes:Processing instructions and comments are ignored.Only basic entity processing (&lt;,&gt;, and&amp;)
is performed.
Package: easy-x-tui
Easy-X-TUIEasy, Cross-platform TUIThis lightweight package provides cross-platform utilities for creating terminal GUIs (TUIs).Read the documentationFor lightweight GUIs, considereasygui.
For advanced, semantic terminal handling, considercursesfrom the standard library.ClassesWindowInheritable class that permits recording (buffering) a terminal window's worth of strings and printing them to the console all at once.MenuUtility class to use within a custom Window class. Permits the creation of a list of menu options and tracks which option is selected.TableMenuUtility class to use within a custom Window class. Permits the creation of a list of menu options and tracks which option is selected. Can hold multiple selections in a set
Package: easyyaml
EasyYamlIntroductionThis is an easy library for loading, editing and saving yaml objects.InstallationYou can install this project by a simple command.pipinstalleasyyamlQuickStartIt is quite simple to manipulate the yaml object.>>>yd=eyaml.load(eyaml.__test_yaml_file__)>>>for_inrange(4):yd.list.pop()>>>yd.name="this_is_a_simple_example_of_eyaml">>>eyaml.save(eyaml.__temp_yaml_file__,yd)
Package: easy-yapi
easy-yapiYapi Python SDKFree software: MIT licenseDocumentation:Installation and Usagepipinstalleasy_yapi示例-loginfromeasy_yapiimportYapiyapi=Yapi(base_url='http://82.156.152.141:3000')res=yapi.login(email='nocoding@126.com',password='ymfe.org')print(res.text)Features该库主要用于快速生成yapi接口文档该库是一个练习项目，并未完全实现所有Yapi接口的封装已实现功能项目管理分组管理用户管理CreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2023-06-29)First release on PyPI.
Package: easy-yolo
Easy_Yolo - One liner Yolov3 object detectionRunning on YOLO model on an image. Place .cfg, .weights and .names in same directorySample:
from easy_yolo.yolo_img import YoloImg
x = YoloImg('example.jpg', 'example.weights', 'example.cfg',example.names)
x.run_model()Running on YOLO model on a video. Place .cfg, .weights and .names in same directorySample:
from easy_yolo.yolo_vid import Yolov3Video
x = Yolov3Video('example.mp4', 'example.weights', 'example.cfg',example.names)
x.run_model()Running on YOLO model on a webcam. Place .cfg, .weights and .names in same directorySample:
from easy_yolo.yolo_cam import Yolov3Camera
For webcam:
x = Yolov3Camera(0, 'example.weights', 'example.cfg',example.names)
x.run_model()For Youtube Livestream:
x = Yolov3Camera('youtube_url', 'example.weights', 'example.cfg',example.names)
x.run_model()
Package: easy-yt-dlp-py
REQUIRES YT-DLP THIS IS NOT A YT-DLP DISTRIBUTIONHow to use!import ytdlpy into your projectthen type "ytdlpy.ytdlpy()"then you will enter three argumentsanything in quotations means you have to fill in what is supposed to be thereThe file types are case sensitive!ytdlpy.ytdlpy(\"directory for yt-dlp","file type","video link")Example:import ytdlpy

link = input(please input link: )
filetype = input("please select file type: ")

ytdlpy.ytdlpy("\ytdl",filetype,link)C:\ytdl is my yt-dlp folderfiletype is the file type you want to download inlink is the youtube linkSupported file types!Video file types are:mp4,webm,3gpAudio file types are:mp3,ogg,m4a,aac,opus
Package: easyzip
EASY ZIPWhat is it?EASY ZIP is a simple tool to create zip archives. Whatever you zip from file or folder, it will be zipped in a single archive.
You can also create a password protected zip archive.How to use it?Create a zip archiveimport easyzip

easyzip.zip('path/to/file/or/folder')easyzip.zip(pathWillBeZipped, pathToZipArchive, compressLevel, password)Likeeasyzip.zip('path/to/file/or/folder', 'path/to/zip/archive.zip', compressLevel = 4, password = 'hahahahaha')pathWillBeZippedThe path of file or folder will be zipped.pathToZipArchiveThe path of zip archive. If the path does not exist, it will be created. The name of zip archive default use pathWillBeZipped base path name.compressLevelThe compress level of zip archive. The default value is 4.passwordThe password of zip archive. If the password is not None, the zip archive will be password protected.Unzip a zip archiveimport easyzip

easyzip.unzip('path/to/zip/archive.zip')easyzip.unzip(pathToZipArchive, pathToUnzipFolder, password)Likeeasyzip.unzip('path/to/zip/archive.zip', 'path/to/unzip/folder', password = 'hahahahaha')pathToZipArchiveThe path of zip archive.pathToUnzipFolderThe path of folder will be unzipped. If the path does not exist, it will be created. Default use pathToZipArchive base path name.passwordThe password of zip archive.
Package: easy_zipcode
easyzipcodeé uma lib Python usada para retornar informações
de um determinado endereço a partir do CEP, com dados provenientes do webserviceeasyzipcode.ioPara instalar o easyzipcode, faça o download zip através do github:https://github.com/stored/easy_zipcodeFeito o download, descompacte-o no diretório de seu projeto e digite o seguinte comando:python setup.py installVocê também pode instalar através do pacote pip:pip install easy_zipcodeUsando no terminal:>>> from easy_zipcode import EasyZipCode
>>> print EasyZipCode.get_zipcode('14415000', token='3850de3a-2422-482...')
{"city": "Patroc\u00ednio Paulista", "ibge": "3536307", "area": "", "complement": "", "address": "", "zip_code": "14415000"}No arquivosettings.pyde seu projeto, adicione a app easyzipcode e o token gerado:EASY_ZIPCODE_TOKEN = '3850de3a-2422-482d-92fc-d1a48a71eba1'

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    ...
    'easy_zipcode',
    ...
)Adicione a seguinte linha no arquivourls.pydo seu projeto:urlpatterns = patterns('',
    ...
    url(r'^easyzipcode/', include(easy_zipcode.urls())),
)
Package: easyzone
OverviewEasyzone is a package to manage the common record types of a
zone file, including SOA records.  This module sits on top of
the dnspython package and provides a higher level abstraction
for common zone file manipulation use cases.http://www.psychofx.com/easyzone/http://pypi.python.org/pypi/easyzonehttps://bitbucket.org/chrismiles/easyzone/Main features:A high-level abstraction on top of dnspython.Load a zone file into objects.Modify/add/delete zone/record objects.Save back to zone file.Auto-update serial (if necessary).Requirementsdnspython -http://www.dnspython.org/Build/Test/InstallBuild:$ python setup.py buildTest:$ python setup.py testInstall:$ python setup.py installOR with setuptools:$ easy_install easyzoneExampleseasyzone:>>> from easyzone import easyzone
>>> z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
>>> z.domain
'example.com.'
>>> z.root.soa.serial
2007012902L
>>> z.root.records('NS').items
['ns1.example.com.', 'ns2.example.com.']
>>> z.root.records('MX').items
[(10, 'mail.example.com.'), (20, 'mail2.example.com.')]
>>> z.names['foo.example.com.'].records('A').items
['10.0.0.1']

>>> ns = z.root.records('NS')
>>> ns.add('ns3.example.com.')
>>> ns.items
['ns1.example.com.', 'ns2.example.com.', 'ns3.example.com.']
>>> ns.delete('ns2.example.com')
>>> ns.items
['ns1.example.com.', 'ns3.example.com.']

>>> z.save(autoserial=True)ZoneCheck:>>> from easyzone.zone_check import ZoneCheck
>>> c = ZoneCheck()
>>> c.isValid('example.com', '/var/named/zones/example.com')
True
>>> c.isValid('foo.com', '/var/named/zones/example.com')
False
>>> c.error
'Bad syntax'
>>>
>>> c = ZoneCheck(checkzone='/usr/sbin/named-checkzone')
>>> c.isValid('example.com', '/var/named/zones/example.com')
True
>>>ZoneReload:>>> from easyzone.zone_reload import ZoneReload
>>> r = ZoneReload()
>>> r.reload('example.com')
zone reload up-to-date
>>> r.reload('foo.com')
rndc: 'reload' failed: not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "easyzone/zone_reload.py", line 51, in reload
    raise ZoneReloadError("rndc failed with return code %d" % r)
easyzone.zone_reload.ZoneReloadError: rndc failed with return code 1
>>>
>>> r = ZoneReload(rndc='/usr/sbin/rndc')
>>> r.reload('example.com')
zone reload up-to-date
>>>