Saravanan666/pypi-org huggingface dataset:
Package: pyclowder
This package provides standard functions for interacting with the Clowder
open source data management system. Clowder is designed to allow researchers
to build customized catalogs in the clouds to help you manage research data.One of the most interesting aspects of Clowder is the ability to extract
metadata from any file. This ability is created using extractors. To make it
easy to create these extractors in python we have created a module called
clowder. Besides wrapping often used api calls in convenient python calls, we
have also added some code to make it easy to create new extractors.InstallationInstall using pip (for most recent versions see:https://pypi.org/project/pyclowder/):` pip installpyclowder==2.7.0`Install pyClowder on your system by cloning this repo:` git clonehttps://github.com/clowder-framework/pyclowder.gitcd pyclowder pip install-rrequirements.txt python setup.py install `or directly from GitHub:` pip install-rhttps://raw.githubusercontent.com/clowder-framework/pyclowder/master/requirements.txtgit+https://github.com/clowder-framework/pyclowder.git`Quickstart exampleSee the [README](https://github.com/clowder-framework/pyclowder/tree/master/sample-extractors/wordcount#readme)
insample-extractors/wordcount. Using Docker, no install is required.
Package: pyclp
PyCLPis a Python library to interface ECLiPSe Constraint Programming System.This module try to implement a pythonic interface toECLiPSe(alias easy to use) by compromising on a little bit on performance.DocumentationPyCLP pythonhosted documentationMajor differences from ECLiPSe standard interface librariesThe main difference compared to embedded interface provided  by ECLiPSe system is
the persistence of constructed terms after calling thepyclp.resume(check3.1.2  Building ECLiPSe terms) function.
In ECLiPSe standard interfaces compound terms are destroyed after resume while in PyCLP are
stored in a reference that survives after resuming. PyCLP will destroy the reference only when python
destroys the linked python object (garbage collection). This consumes more memory but now
the python object and the related ECLiPSe object have the samelifetime.Moreover, in the definition of the API I tried to take advantage of a common property of python and
ECLiPSe: both are weak typed languages.Next stepsAdd support for multi-engine/multi-threadExtend functionality of set_option function
Package: pyclpa
This is an attempt to create a cross-linguistic phonetic alphabet, realized as
a dialect of IPA, which can be used for cross-linguistic approaches to language
comparison.The basic idea is to provide a fixed set of symbols for phonetic representation
along with a full description regarding their pronunciation following the
tradition of IPA. This list is essentially expandable, when new languages
arise, and it can be linked to alternative datasets, like Mielke’s (2008)
P-Base, and PHOIBLE.In addition to the mere description of symbols, we provide also a range of
scripts that can be used in order to test how well a dataset reflects our
cross-linguistic standard, and to which degree it diverges from it. In this
way, linguists who want to publish their data in phonetic transcriptions that
follow a strict standard, they can use our tools and map their data to CLPA. In
this way, by conforming to our whitelist (and informing us in cases where we
miss important sounds that are essential for the description of a dataset so
that we can expand the CLPA), the community can make sure that we have a
maximal degree of comparability across lexical datasets.## The initial datasetOur initial dataset (file clpa/clpa-data/clpa.main.json) currently consists of 1192 symbols,
including consonants, vowels, diphtongs, tones, and three markers (for word and
morpheme boundaries).  The original data is inspired by the IPA description
used in the P-Base project, and we mostly follow their symbol conventions, but
we added tone letters and symbols which were missing in their inventory and also re-arranged
their descripting features into more classes which are now differently defined for the main
classes of sounds.Additionally, the dataset contains sets of instructions for conversion of
symbols which do not occur in our whitelist. Here, we distinguish between:explitic mappings (clpa/clpa-data/explicit.tsv), which are explicit mappings of input segments with output segments, which are taken in full. As an example, consider [ʔʲ] which we map to [ʔj], or [uu], which we map to [uː].alias symbols (clpa/clpa-data/alias.tsv), which are one-to-more mappings of symbols of length 1 in unicode, and are regularly applied to a symbol if we can’t find it in our whitelist. As an example, consider [ʦ] which we map to [ts].symbols to be ignored (clpa/clpa-data/delete.tsv), which are symbols of length 1 which we ignore from the input data and then check whether we can find a mapping. As a an example, compare the combinging mark in the symbols [t͡s], which we delete in order to map to our [ts].symbols to be converted as patterns (clpa/patterns.tsv): these are potentially riscant operations which we try to minimize as well as possible, but there are situations in which it is useful to apply changes on a pattern basis, as for example, in datasets in which “aspiration” is not marked by a superscript letter, where we would then turn every instance of plosive + h into plosive + ʰ
Package: pycls
pyclspyclsis an image classification codebase, written inPyTorch. It was originally developed for theOn Network Design Spaces for Visual Recognitionproject.pyclshas since matured and been adopted by a number ofprojectsat Facebook AI Research.pyclsprovides a large set of baseline models across a wide range of flop regimes.IntroductionThe goal ofpyclsis to provide a simple and flexible codebase for image classification. It is designed to support rapid implementation and evaluation of research ideas.pyclsalso provides a large collection of baseline results (Model Zoo).The codebase supports efficient single-machine multi-gpu training, powered by the PyTorch distributed package, and provides implementations of standard models includingResNet,ResNeXt,EfficientNet, andRegNet.Using pyclsPlease seeGETTING_STARTEDfor brief installation instructions and basic usage examples.Model ZooWe provide a large set of baseline results and pretrained models available for download in thepyclsModel Zoo; including the simple, fast, and effectiveRegNetmodels that we hope can serve as solid baselines across a wide range of flop regimes.ProjectsA number of projects at FAIR have been built on top ofpycls:On Network Design Spaces for Visual RecognitionExploring Randomly Wired Neural Networks for Image RecognitionDesigning Network Design SpacesAre Labels Necessary for Neural Architecture Search?PySlowFast Video Understanding CodebaseIf you are usingpyclsin your research and would like to include your project here, please let us know or send a PR.Citing pyclsIf you findpyclshelpful in your research or refer to the baseline results in theModel Zoo, please consider citing an appropriate subset of the following papers:@InProceedings{Radosavovic2019,
  title = {On Network Design Spaces for Visual Recognition},
  author = {Radosavovic, Ilija and Johnson, Justin and Xie, Saining and Lo, Wan-Yen and Doll{\'a}r, Piotr},
  booktitle = {ICCV},
  year = {2019}
}

@InProceedings{Radosavovic2020,
  title = {Designing Network Design Spaces},
  author = {Radosavovic, Ilija and Kosaraju, Raj Prateek and Girshick, Ross and He, Kaiming and Doll{\'a}r, Piotr},
  booktitle = {CVPR},
  year = {2020}
}Licensepyclsis released under the MIT license. Please see theLICENSEfile for more information.ContributingWe actively welcome your pull requests! Please seeCONTRIBUTING.mdandCODE_OF_CONDUCT.mdfor more info.
Package: pyclsload
pyclsloadeasily load classes from source filesbasically just a wrapper for importlibwhy?# doesn't lookfrompyclsloadimportload_clso=load_cls("somefile.py","ThisAClass")o.somemethod()# better thanfromimportlib.utilimportspec_from_file_location,module_from_specs=spec_from_file_location("ThisAClass","somefile.py")o=module_from_spec(s)s.loader.exec_module()o.somemethod()featuresload_clsinit_clsload_dir (based on the premise that the class is called like the module)installpip3installpyclsload
Package: pyclstr
a package for molecular dynamics simulations and analysisnote that this package isstill in developmentat this stage, I’m only building thing as they come to mind
version 1.0 will be the first major release
until then, consider this code heavily volatileNote: portions of this code have Fortran backends that may need to be built prior to successful use of the code. We
have it on our to-do list to compile OS-specific wheels.yet, install simply by callingpip install molecularorpip install –pre molecularfor the latest development
release.we endeavor to followhttps://scikit-learn.org/stable/developers/performance.htmlsimilar packages:
BioSimSpace
MDAnalysis
MDTraj
Package: py-clubhouse
py-clubhousePython client for Clubhouse (started as a fork ofclubhouse-client)InstallationThe package is available onpypiand can be installed like any other packages.$ pip install py-clubhouseUsageRefer toClubhouse API Docsfor more information.frompy_clubhouseimportClubhouseclubhouse=Clubhouse('your api key')story=clubhouse.get_story(1234)# returns Story objectworkflows=clubhouse.workflows()# returns list of Workflow objectsstories=clubhouse.search_stories("state:Staging")# returns list of Story objectsDevelopmentClone repoInstallpoetryglobally.Activate virtual envpoetry shellInstall dependencies withpoetry installRun pytestpoetry run pytestTODOadd GHA workflowcreate models for relevant resourcesmoar testsadd c.r.u.d. methods for relevant models
Package: pyclugen
pyclugenpyclugenis a Python implementation of theclugenalgorithm for
generating multidimensional clusters with arbitrary distributions. Each cluster
is supported by a line segment, the position, orientation and length of which
guide where the respective points are placed.See thedocumentationandexamplesfor more
details.InstallationInstall from PyPI:pipinstall--upgradepip
pipinstallpyclugenOr directly from GitHub:pip install --upgrade pip
pip install git+https://github.com/clugen/pyclugen.git#egg=pyclugenQuick startfrompyclugenimportclugenimportmatplotlib.pyplotaspltout2=clugen(2,4,400,[1,0],0.4,[50,10],20,1,2)plt.scatter(out2.points[:,0],out2.points[:,1],c=out2.clusters)plt.show()out3=clugen(3,5,10000,[0.5,0.5,0.5],0.2,[10,10,10],10,1,2)fig=plt.figure()ax=fig.add_subplot(projection="3d")ax.scatter(out3.points[:,0],out3.points[:,1],out3.points[:,2],c=out3.clusters)plt.show()See alsoCluGen.jl, a Julia implementation of
theclugenalgorithm.clugenr, an R implementation
of theclugenalgorithm.MOCluGen, a MATLAB/Octave
implementation of theclugenalgorithm.ReferenceIf you use this software, please cite the following reference:Fachada, N. & de Andrade, D. (2023). Generating multidimensional clusters
with support lines.Knowledge-Based Systems, 277, 110836.https://doi.org/10.1016/j.knosys.2023.110836(arXiv preprint)LicenseMIT License
Package: py_clui
Py-cluiThis is a Python toolkit for quickly building nice looking command line interfaces.It also includes the following easy to use components:SpinnersGaugeProgressSpinner(message, style=None)Parametersmessage- The default status text to display while the spinner is spinning.style- Array of graphical characters used to draw the spinner. By default,
on Windows: ['|', '/', '-', ''], on other platforms: ['◜','◠','◝','◞','◡','◟']Methodsrun()- Show the spinner on the screen.update_msg(message)- Update the status message that follows the spinner.Examplefrompy_cluiimportSpinnerspinner=Spinner('Processing documents...')spinner.run()forxinrange(100):spinner.update_msg('{0}Processed documents'.format(x))spinner.run()Gauge(value, max_value, width, danger_zone, suffix=None)Draw a basic horizontal gauge to the screen.Parametersvaluemax_valuewidthdanger_zonesuffixExamplefrompy_cluiimportgaugetotal=100free=30used=total-freeprint(gauge(used,total,20,total*0.8,'Used memory'))Progress(width=20)Parameterswidth- The width in characters of progress_barMethodsupdate(percent)- Return a progress bar width a this percente filled.Examplefrompy_cluiimportProgressprogress=Progress(20)print(progress.update(.5))Motivationcluimakes NodeJS even more sexy. Python needed something like it.
Package: pycluon
pycluonA python wrapper aroundlibcluon.pycluonaims to follow the API of libcluon as closely as possible to avoid surprises.So far,pycluonwraps the following concepts from libcluon:EnvelopeOD4SessionUDPSenderUDPReceiverTCPConnectionTCPServerSharedMemoryIt also bundles the following command-line applications:protoccluon-msccluon-OD4toStdoutcluon-OD4toJSONcluon-LCMtoJSONcluon-filtercluon-livefeedcluon-rec2csvcluon-replayVersioningpycluonversionlibcluonversionpythonversions0.1.00.0.1403.7, 3.8, 3.9, 3.100.1.10.0.1403.7, 3.8, 3.9, 3.100.1.20.0.1403.7, 3.8, 3.9, 3.100.1.30.0.1403.7, 3.8, 3.9, 3.100.2.00.0.1403.7, 3.8, 3.9, 3.100.2.10.0.1403.7, 3.8, 3.9, 3.10, 3.110.2.20.0.1453.7, 3.8, 3.9, 3.10, 3.11Installationpycluonis available on PyPI:pip install pycluonExamplesImport an odvd specification into a python modulefrompycluon.importerimportimport_odvdmy_module=import_odvd("/path/to/my/odvd/specification.odvd")Send an envelopeimporttimefrompycluonimportOD4Session,Envelopesession=OD4Session(111)message=my_module.MyMessage()envelope=Envelope()envelope.sent=envelope.sampled=time.time()envelope.serialized_data=message.SerializeToString()envelope.data_type=13envelope.sender_stamp=13session.send(envelope)Receive an envelopeimporttimefrompycluonimportOD4Sessionsession=OD4Session(111)defcallback(envelope):message=my_module.MyMessage()message.ParseFromString(envelope.serialized_data)print(f"Received at{envelope.received}seconds since epoch")session.add_data_trigger(13,callback)whilesession.is_running():time.sleep(0.01)Write to a shared memory areafromdatetimeimportdatetimefrompycluonimportSharedMemorysm=SharedMemory("frame.argb",640*480)sm.lock()sm.timestamp=datetime.now()sm.data=b"<bytes>"sm.unlock()sm.notify_all()Read from an existing shared memory areafrompycluonimportSharedMemorysm=SharedMemory("frame.argb")sm.wait()# Wait for notification from writing processsm.lock()print(sm.timestamp)print(sm.data)sm.unlock()See thetestsfor usage ofUDPSender,UDPReceiver,TCPConnectionandTCPServer.
Package: pyclusterprofiler
pyclusterprofilerA limited python implementation ofclusterProfilerfrom R, borrowing some functions and concepts fromsharepathwayandgoatools.Currently KEGG and GO interfaces are implemented.InstallationYou can installpyclusterprofilerviapip:pip install pyclusterprofilerUsageimport pyclusterprofilerTo find enriched KEGG pathways in groupings ("cluster" column) of genes ("gene_id" column) identified indf:df_enrichment = pyclusterprofiler.compare_clusters(df,'cluster',database='KEGG')Or using GO terms (instead usingdatabase="GO-slim" here will use reduced set of terms):df_enrichment = pyclusterprofiler.compare_clusters(df,'cluster',database='GO')Example filter for any pathways/annotations with significant enrichment:significant_pathways = (df_enrichment
	.query('(corrected_pvalue<0.05)&(cluster_pathway_genes>3)')
	['pathway']
	.unique()
	)Plot results as a dot plot:ax = pyclusterprofiler.dotplot(df_enrichment.query('pathway in @significant_pathways'))compare_clustersargumentsargumentdescriptiondfdataframe with "gene_id" column containing NCBI gene id's and a column specifying group membershipgroupingcolumn or list of columns indfto use for group membershipcorrectionmethod for correcting p-values for multiple hypothesis testing, used as argument tostatsmodels.stats.multitest.multipletests(default "fdr_bh")organismorganism databases to download. GO uses NCBI taxid; for KEGG see theirorganism list(default is human databases for each)database"KEGG", "GO", or "GO-slim" (default "KEGG")excludepathway/annotation groupings to exclude. For KEGG, can be "human_diseases", "organismal_systems," or a list of both (seeKEGG pathways). For GO, can be "molecular_function","biological_process", "cellular_component", or a list of one or more (can also use abbreviations "MF","BP","CC" respectively) (default None)forceforce fresh download of databases, otherwise uses previously downloaded files if found in the current working directory (default False)verboseIf True, prints provided NCBI gene id's that could not be found in the database (default True)ContributingContributions are very welcome.LicenseDistributed under the terms of theMITlicense,
"pyclusterprofiler" is free and open source software.IssuesIf you encounter any problems, pleasefile an issuealong with a detailed description.
Package: pyclustertend
pyclustertendpyclustertend is a python package specialized in cluster tendency. Cluster tendency consist to assess if clustering algorithms are relevant for a dataset.Three methods for assessing cluster tendency are currently implemented and one additional method based on metrics obtained with a KMeans estimator :Hopkins StatisticsVATiVATMetric based method (silhouette, calinksi, davies bouldin)InstallationpipinstallpyclustertendUsageExample Hopkins>>>fromsklearnimportdatasets>>>frompyclustertendimporthopkins>>>fromsklearn.preprocessingimportscale>>>X=scale(datasets.load_iris().data)>>>hopkins(X,150)0.18950453452838564Example VAT>>>fromsklearnimportdatasets>>>frompyclustertendimportvat>>>fromsklearn.preprocessingimportscale>>>X=scale(datasets.load_iris().data)>>>vat(X)Example iVat>>>fromsklearnimportdatasets>>>frompyclustertendimportivat>>>fromsklearn.preprocessingimportscale>>>X=scale(datasets.load_iris().data)>>>ivat(X)NotesIt's preferable to scale the data before using hopkins or vat algorithm as they use distance between observations. Moreover, vat and ivat algorithms
do not really fit to massive databases. A first solution is to sample the data before using those algorithms.
Package: pyclvm
CLVMA Cloud VM command line tool for powerful and efficient management of cloud instancesThis tool addresses the inefficient hassle of having to use your mouse to click lots of buttons to start/stop instances and configure and use these cloud services via a web interface. This is an unproductive way to work. If you use VSCode Remote or port redirection to access your cloud instance resources, then the steps are doubled.To improve the development experience, we have replicated various solutions for handling different steps of using cloud virtual machines and combined them with VSCode Remote to deliver maximum convenience for fellow developers and engineers.CLVM currently works with cloud instances on AWS, Azure and GCP. It is built on top ofDynaCLI, another excellent open-source tool fromBST Labs. For more detail on using CLVM, see the blog postSimplify Cloud Instance Management from your Command Line.Capabilities of CLVMInstance start/stop and listing operationsSSH key generation and tunnelingSession managementPort redirection (forwarding)VSCode Remote utilitiesSupport for AWS, GCP, and, AzureInstallation$ pip3 install pyclvmQuick startEach cloud platform can require different authorization procedures. For detailed authorization information please check the respective provider's documentation.$clvmsshnew<vm_instance_name>platform=<aws,gcporazure>$clvmvscodestart<vm_instance_name>How to install for local development$ flit install --symlinkThis will give youclvmcommand installed.Some Useful Toolsssh-over-ssmssm-toolsvscode remote over ssmaws-mfa
Package: pycmake
pycmakepython bindings for cmake.how1. write CMakeLists.pyfrompycmake.cmakeimport*frompycmakeimportutilsimportoscmake_cmake_minimum_required(CMAKE_VERSION,3.6)cmake_project("test")cmake_add_executable("test")cmake_target_sources("test",CMAKE_PRIVATE,"main.cpp")cmake_target_link_libraries("test","-framework Cocoa","x")cmake_add_subdirectory("test_subdir")cmake_set("my_variable1","test",CMAKE_CACHE,CMAKE_STRING,"This is my_variable")cmake_target_sources("test",CMAKE_PRIVATE,utils.find_files_in_dir_with_extensions(os.path.join(CMAKE_CURRENT_SOURCE_DIR,"src"),extensions="(h)|(cpp)",excluding_dirs="exclude_me",),)cmake_if(CMAKE_NOT,"TEST_OPT")cmake_include("test/CMakeLists.txt")cmake_call("custom_fn","p0","p1")cmake_endif()2. python CMakeLists.pyrunpython CMakeLists.pyto generate your CMakeLists.txt file.
Package: pycman
一款用于创建或者管理 python 项目的命令行脚手架工具。为什么开发这个工具其实是在开发工作当中遇到了几个痛点：每回新建Python模块或者是项目，总是要手写setup.py等相关的配置，虽然复制粘贴，但也要翻文件夹找到个副本不是。再比如需要手动创建的git仓库，虽然只要一条命令再比如创建虚拟环境， 虽然只要一条命令但上面加起来就已经两条了最主要的痛点：git commit记录提交怎么协同团队统一规范？commit记录规范了，如何把这些提交记录和版本号关联在一起，自动在release
的时候生成一套完整的改动日志呢？PBR打包可以通过git tags来自动生成，
这些命令虽然也只有一两条，但参数不怎么记得住呀。在没开发此工具之前， 我每回都要在项目下新建个处理项目杂物的脚本目录，
里面放着标定版本号的逻辑的脚本，放着提交改动记录的脚本，
放着打包相关的脚本， 这些脚本五花八门， 有可能是batch批处理命令，
有可能是shell脚本，有可能是python脚本，也有可能是别的命令行工具相关的命令。然后为了实现什么辅助功能就要想着去调用哪个脚本，
想想就很头皮发麻，这对于开发过node的同志们来说，
这就很想念npm了，
在package.json中定义好scripts属性，在里面添加命令别名，再对应到具体的指令，这样就不用记忆那些繁杂的脚本以及繁杂的参数选项了，一次配好，
使用别名就好， 就像下面那张图中所以大致总结起来就三点：把Python项目创建过程中诸如setup.py setup.cfg readme.md .gitignore虚拟环境
等自动生成模板或自动完成创建。而且最好能支持自定义项目创建的流程。对commit提交记录进行规范化，
对版本管理，改动日志完全自动化掉，我们只需关心按照规范化的提交工具来完成commit提交，并简单标记版本号即可完成对整个项目的基础的版本管理，
打包分发管理。提供统一的辅助脚本的入口，可以自定义辅助脚本别名， 就像npm那样去做。所以为什么Python里不能有这么一个工具呢？—— 这就是我打算做Pycman的原因。feature支持扩充自定义模板配置项目初始化流程. 目前还不完善支持定义指令别名，执行自定义指令，使用 pyc run支持 pbr 工程配置模板生成， python 的PBR打包可以根据 git tags
自动生成改动日志使用commitizen工具进行 commit记录的规范管理。Qucik Start安装pip install pycman创建项目请先新建一个空白文件夹，在该文件夹所在目录下，运行如下指令pycinit按照提示，补全基本的项目信息此时，等待创建完毕后，项目目录结构将会如下所示:其中，MyAwsomeProject 为我们创建的项目，是一个Python包， pycman
已经为你写好了__init__.py, 并在其中标记好了版本号 ，
（请不要擅自移除版本号， 否则会影响pycman进行版本号的标注）。项目目录下同时会自动定义一个package.py 这是一个python模块，
其中定义了一些基本的项目数据， 在scripts下，
我们可以以python字典的数据格式，自己自定义指令。自定义指令配置在上图中，我们可以看到项目根目录下的package.py模块，
其中存在一条默认指定，别名为defaultpackage={'name':'MyAwsomeProject','version':'0.0.1','author':'singein','email':'singein@xxx.com','scripts':{'default':'echo 请输入明确的命令名称'}}执行默认指令在整个项目的根目录下， 即package.py所在得目录下尝试执行pyc run default：可以看到，pyc run 后不跟具体的指令名称，将默认执行值为default的指令别名。ps:以上脚本为笔者在vscode的terminal中执行的截图笔者使用vscode进行日常开发，新建的项目中带有pycman创建的虚拟环境，
vscode的终端将能够自动识别所以非常的方便添加一条自定义指令我们可以在MyAwsomeProject中添加__main__.py,
以允许我们的python包可以独立运行接下来我们可以在package.py中定义dev指令：package={'name':'MyAwsomeProject','version':'0.0.1','author':'singein','email':'singein@xxx.com','scripts':{'default':'echo 请输入明确的命令名称','dev':'python -m MyAwsomeProject'}}接下来我们能便可以在整个项目的根目录下， 即package.py所在得目录下， 执行如下指令：pycrundev使用commitizen规范化提交commitizen是一个由python开发得git 提交日志规范化管理工具：https://github.com/Woile/commitizenPycman 已将其作为依赖集成到了工具中， 你只需在当前项目目录下执行：pyccommit即可按照提示进行规范化的日志提交。打包项目打包项目之前，请将 setup.cfg中的内容补充完善：[metadata]name=MyAwsomeProjectauthor=singeinauthor-email=singein@xxx.comsummary=awsome project created by pycman.license=MITdescription-file=README.rsthome-page=http://example.comrequires-python=>= 3.6[files]packages=MyAwsomeProject[entry_points]console_scripts=cmd=package.module:function# 这里的内容为命令行工具入口，请按照实际情况自己定义然后只需简单的使用build指令：pycbuild即可进行pbr打包， 打包完成的wheel包将被存放在
dist文件夹中，改动日志也将自动生成。release版本号标记执行：pycrelease输入版本号后回车，如果版本号符合正则表达式[0-9]+\.[0-9]+\.[0-9]+$则 该版本号将自动写入以下两个地方：MyAwsomeProject的__init__.py中的__version__变量下package下的version属性中同时，pycman会自动将版本号标记到 git tags 中。同时，pycman将会自动进行一次 pbr 构建.如图，整个版本号全部统一规整， 并且git被提交的很干净。同时自动生成了如下的改动日志:CHANGES=======v0.0.2------*[release]0.0.2使用帮助