Saravanan666/pypi-org huggingface dataset:
Package: miniscutil
miniscutilCollection of miscellaneous functions and methods that I wish were in core. I think that some of them are implemented by existing libraries.This is supposed to be a big bag of code that I use in lots of my projects, eventually they should be replaced with an existing library or moved into their own specialized library.dispatch.pyhijacks the dispatcher used byfunctools.singledispatchas its own class. This is used to implement aclassdispatchdecorator that can accept a type as argument.adapt, an implementation ofPEP-246ofdict.pyconverts to and from a json-like objectJsonLike = Union[str, int, float, bool, type(None), list[JsonLike], dict[str, JsonLike]]. It overlaps a lot withattrs,cattrsandpydanticlibraries.deep.pyimplements a deepcopy-like reduction system for traversing, mapping and serializing arbitrary python objects.deepeq.pyimplements a deep-equality algorithm.current.pyis a base class for implementing the singleton pattern.sum.pydiscriminated sum type.
Package: miniseed2mat
Analyzing MiniSEED seismic data in MATLABFor details on the usage, visit the earthinversion post:https://www.earthinversion.com/utilities/converting-mseed-data-to-mat-and-analyzing-in-matlab/Output data structurestatscontains all the meta data information corresponding to each trace, anddatacontain the time series datamat_file.mat -> stats, data
stats -> stats_0, stats_1, ...
data -> data_0, data_1, ...Usagefrom miniseed2mat.miniseed2mat import convertmseed2mat
mseedfile = "myStream.mseed"
convertmseed2mat(mseedfile, output_mat=None)Readmatfile in MATLABclear; close all; clc;

wdir='./';

fileloc0=[wdir,'myStream'];
fileloc_ext = '.mat';
fileloc = [fileloc0 fileloc_ext];

if exist(fileloc,'file')
    disp(['File exists ', fileloc]);
    load(fileloc);
    
    all_stats = fieldnames(stats);
    all_data = fieldnames(data);
    
        
%     for id=1:length(fieldnames(data))
    for id=1
        stats_0 = stats.(all_stats{id});
        data_0 = data.(all_data{id});

        sampling_rate = getfield(stats_0,'sampling_rate');
        delta = getfield(stats_0,'delta');
        starttime = getfield(stats_0,'starttime');
        endtime = getfield(stats_0,'endtime');
        t1 = datetime(starttime,'InputFormat',"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
        t2 = datetime(endtime,'InputFormat',"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
        datetime_array = t1:seconds(delta):t2;

        %% plot time series
        fig = figure('Renderer', 'painters', 'Position', [100 100 1000 400], 'color','w');
        plot(t1:seconds(delta):t2, data_0, 'k-')
        title([getfield(stats_0,'network'),'-', getfield(stats_0,'station'), '-', getfield(stats_0,'channel')])
        axis tight;
        print(fig,['./',fileloc0, '_ts', num2str(id),'.jpg'],'-djpeg')

%         close all;
    end
end
Package: minisentry
Sentry is too resource heavy for tiny tasks. If all you need is just to receive
limited amount of exceptions and have basic aggregation, you can try this.This is hardly more than my weekend project. You can use it in development,
or (if you’re brave enough) even in you pet projects. But for sure not on
any kind of serious production.Tested only with Python apps.Features:You can kep yourravensetup. Just replace Sentry server with this.Aggregates exceptions by some basic rules and displays them in the browser.Send emails when new exception group is created.Works with SQLite, PostgreSQL or MySQL as database backends.That’s it, if you need more, why don’t you use real Sentry instead? It’s free.Requirements:Python 3.6Free time (because I haven’t tested it much yet).Deployment:Create virtualenv and install this app:pip install minisentryCreate.env-config file, or use defaults (see configuration). To pick up.env-file you need to export path to itRun migrations:manage.py migrateCreate superuser:manage.py createsuperuserRun it:minisentryEmbedded uwsgi server will be started and you can access interface at (e.g.):http://localhost:9000Daemonization is up to you. I prefersystemd.supervisordwill also work.6. Go to admin interface and add some projects. You will get project DSN string
in admin. Getting it in browser is not implemented yet:http://localhost:9000/admin/Upgrading:pipinstall-Uminisentrymanage.pymigrateserviceminisentryrestart(incaseofsystemd)Configuration:Everything is configured in envvars. You can either use.envfile to store
them, or manage environment yourself.If you want to use.env-file, just place values in plain text file and export
path to it inMINISENTRY_ENV_PATH. E.g.:export MINISENTRY_ENV_PATH=~/minisentry.envHere are list of variables:SECRET_KEY: django secret keyDEBUG: run in debug modeALLOWED_HOSTS: put here your domain name where you hosting this server. Comma separated listDB_ENGINE: either sqlite/postgresql/mysqlDB_NAME: in case ofsqlite- path to the file, else - database nameDB_USER/DB_PASSWORD/DB_HOST/DB_PORT: you know what to do. For sqlite not neededTIME_ZONE: Your time zone. Mine is “Europe/Amsterdam”LOGGING_CONSOLE_FORMATTER: “simple” or “verbose”Email settings:DEFAULT_FROM_EMAIL:Fromfield for mails from minisentryEMAIL_HOST/EMAIL_PORT/EMAIL_HOST_USER/EMAIL_HOST_PASSWORD/EMAIL_USE_SSL: Smtp server settingsServer settings:MINISENTRY_WEB_HOST/MINISENTRY_WEB_PORT: E.g. “0.0.0.0” and 9000MINISENTRY_WEB_STATS_ENABLE: Will enable uwsgi stats server, accessible by telnetMINISENTRY_WEB_STATS_HOST/MINISENTRY_WEB_STATS_PORT: address for that stats serverMINISENTRY_WEB_SERVE_STATIC: Will serve static through uwsgi (default option)MINISENTRY_WEB_MULE_COUNT: Number of processed for offloaded tasksMore stuff:MINISENTRY_URL_PREFIX: Full address of your server: E.g.https://minisentry.com:9000KEEP_DATA_FOR_DAYS: How long to keep not updated eventsUser management and emails:You can create as many accounts as you want. Everyone, who has email
in his account details will receive emails. No configuration on that yet.
DSN and admin access will be only for accounts withis_staff=TrueDocker:It is TODO. Send me a PR maybe?
Package: miniserial
MiniserialMiniserial is a Python package for dead-simple, space-efficient serialization
and deserialization of simple dataclasses. There are many great packages for
general purpose serialization in the standard library and on PyPI (e.g.json,marshal,pickle,ujson,bson, etc.), but most use serialization
formats that can come with significant byte overhead. Sometimes, project
constraints—like the 256-byte-max-packet radio devices that inspired this
package—encourage the use of a much more compact format, something akin to
protobuf or the layout of C structs. But libraries in this space typically come
with the overhead of implementing manual serializers, modifying class fields
with various wrappers, or using non python data specifications (e.g..protofiles).msgpackcomes close, but does not work out of the box with classes.
Miniserial makes compact serialization easy. Simply have your
dataclass inherit from theSerializationmixin, andserializeanddeserializemethods will be automatically generated for the class.
For example:fromdataclassesimportdataclassfromminiserialimportSerializable@dataclassclassPerson(Serializable):name:strage:inttitles:list[str]balance:floatp=Person("Bob",34,["Mr.","Dr.","Professor"],239847.25)assertPerson.deserialize(p.serialize())==pClasses that inherit theSerializablemixin must be dataclasses composed of
fields annotated with supported types, which include any other class which
inheritsSerializable. This means that even recursive structures,
like trees, can be serialized and deserialized.from__future__importannotationsfromdataclassesimportdataclassfromminiserialimportSerializable@dataclassclassNode(Serializable):value:intchildren:list[Node]#                 1#               /   \#              2     3#             / \#            4   5tree=Node(1,[Node(2,[Node(4,[]),Node(5,[])]),Node(3,[])])assertNode.deserialize(tree.serialize())==treeDocumentation of supported types and the serialization format is on the way. For
now,bool,int,float,str, and subclasses ofcollections.abc.Collection(e.g.list,set,tuple) are supported, along with any other user-defined
class that inheritsSerializable.intandfloatare taken to be 32 bit
values. Support for more types, includingint64,float64, etc. fromnumpyare on the horizon.
Package: miniserver
miniwebis a Python module that allow us to build hassle free small web
projects. It is based on Django, but it is extremely simplified and requires no
boilerplate. The goal is to provide a nice environment to teach programming
for non-programmers (specially kids) and introduce them to basic web technology.Hello WorldThis is our first web serverfromminiwebimport*@urldefindex():return'Hello World!'start_server()
Package: minishell-test
minishell_testDocumentationThe full documentation for this project is available atminishell-test.readthedocs.io.Getting StartedInstallation$ pip3 install minishell-test
$ pip3 install --user minishell-test  # if you don't have root accessCompatibilityYour executablemustsupport the-coption which allow to pass
command as an argument.$ bash -c 'echo bonjour je suis | cat -e'
bonjour je suis$
$ ./minishell -c 'echo bonjour je suis | cat -e'
bonjour je suis$With this setupargv[2]is what you would usually get inlinefromget_next_line.UsageRun all the predefined tests:$ cd <MINISHELL>
$ minishell_testIf you getcommand not found, do either of those things:Add~/.local/binto yourPATHenvironment variable.Run$ python3 -m minishell_testinstead of$ minishell_test
Package: minishogilib
MinishogilibThis is a python3 library ofMinishogi(a variant of Shogi) written in Rust.InstallationYou can use this library by building from source or downlaoding the wheel file fromrelease.Build from sourceThe wheel file can be generated bymaturin.maturin build --releaseThe wheel file is generated at ./target/wheels/ and you can install it via pip3.pip3 install <GENERATED WHEEL FILE>
Package: minisign
Minisign PythonThis is a pure Python implementation ofFrank Denis'minisign, following thespecificationscopied from there.Currently following version0.9.IMPORTANT NOTE: this is currently under heavy development, and it hasn't undergone an external security assessment.GoalsCompatible public interface: all commands and options must be 100% compatible and with same results.Usage as CLI and as Python module.Followsemver.Secondary goalsSmall amount of dependencies (I would love to keep it just to cryptolibraries).If possible, maintain current active Python versions (3.7+).MilestonesDefine goals and license.Create initial project structure.Code structure.Contribution guidelines.Pipeline.Achieve basic functionality:Create key pair.Verify signature.Sign.Ensure coverage 100%.Make first release.Add remaining options.RequirementsPython 3.7+PyNaCl 1.3+LicenseMinisign Pythonis made byHacKanunder MPL v2.0. You are free to use, share, modify and share modifications under the terms of thatlicense.  Derived works may link back to the canonical repository:https://gitlab.com/hackancuba/minisign-py.Note thatminisign by Frank Denisis licensed under ISC.Copyright (C) 2020 HacKan (https://hackan.net)
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
Package: mini-six
SIX这是什么SIX 是一个跨平台的、可扩展性高、可维护性强的基于机器感知的有限状态机框架。本项目原则为“精简至上”，尽量使用python原生库以保证本项目的可扩展性。安装pipinstallmini-six使用本项目提供插件开发接口，详细操作请见操作文档。开发任务因为该项目仍处在起步阶段，所以必要时候会对框架做出调整，作者会尽量以兼容的形式做出这些必要的调整。core（当前主要开发任务）完成 Observer 和 Actor 的订阅者框架搭建，将图片帧的输入与对图片的操作解耦；完成 Analyzer 基类的构建，使开发者专注对图片帧的分析操作，增加分析代码的复用度；优化订阅者框架的接口，方便插件开发者定义 Action；删除 Analyzer，简化 core 代码，同时增加插件开发者的开发自由度；构建全局配置和局部配置系统构建插件系统优化插件导入接口实现定时 Action实现静态配置设置与导入接口增加日志打印编写操作文档适配 Linux 平台适配嵌入式设备plugin（陆续开发）图像识别模型接口插件强化学习模型接口插件
Package: minislite
MiniSLiteMiniSLite is a secure and mini SQLite ORM module.InstallFrom PypiThe script isavailable on PyPI. To install with pip:pip install minisliteFrom Source Codegit clone https://github.com/ahmetkotan/minislite
cd minislite
python setup.py build
python setup.py installUsageCreate ModelfromminisliteimportMiniSLiteModelfromminisliteimportDatabaseFieldclassPerson(MiniSLiteModel):# Only field_type is requiredname=DatabaseField(field_type=str,unique=False,not_null=True,auto_increment=False)last_name=DatabaseField(field_type=str,default="mini")age=DatabaseField(field_type=int,not_null=False)# Optionalstable_name="person"unique_together=["name","last_name"]Create Database and Add ModelfromminisliteimportMiniSLiteDbdatabase=MiniSLiteDb("minis.db")database.add_model(Person)Create and Update Objectperson1=Person(name="mini",last_name="slite")# not createdperson1.age=1person1.save()# createdperson2=Person.objects.create(name="mini2",last_name="slite")# createdperson2.age=2person2.save()# updatedperson3=Person.objects.create(name="mini3",last_name="slite",age=10)# createdperson4=Person.objects.create(name="mini4",last_name="slite",age=20)# createdUpdate All ObjectsPerson.objects.update(last_name="slite-updated")Filter/Get and Delete Objectfirst_person=Person.objects.first()last_person=Person.objects.last()person_objects=Person.objects.filter(last_name="slite-updated")# or# person_objects = Person.objects.all()forpersoninperson_objects:print(person.name)person_obj=Person.objects.get(name="mini")person_obj.delete()Special Filtersgt,gte,lt,ltefor integer, bool and float fieldscontains,startswith,endswithfor string fieldsolder_than_10=Person.objects.filter(age__gt=10)[0]print(older_than_10.name)# mini4Delete All ObjectsPerson.objects.delete(i_am_sure=True)Clean All Tables or Drop Modeldatabase.clean_tables()database.drop_model(Person)Exceptionsfromminislite.exceptionsimportRecordNotFoundError,AlreadyExistsError,DatabaseNotFoundError,\AreYouSureError,WhereOperatorErrorRecordNotFoundError:If you useobjects.get()and that is not found in databaseAlreadyExistsError:Raise this exception when an object creating or saving. Check yourunique=Truefields andunique_togetherfields.DatabaseNotFoundError:Cannot use TableManager if you don't initializeMiniSLiteDb()AreYouSureError:Raise this exception if you want to delete all objects(objects.delete()) in model. Addi_am_sure=Truearguments.WhereOperatorError:Raise this exception if you use integer operator for string field. Or vice versa.Development and ContributionSee;CONTRIBUTING.md
Package: minisocket
简介mini-socket 提供了一个简易版本的多连接socket.连接Basic简单的连接方式是:Machine A: 挂服务端;  Machine B: 挂客户端. A/B 属于同局域网.B 发数据 -> A 收并记录, 告知B已收到 -> 连接关闭B 请求数据 -> A 收到请求, 查找并发数据 -> B 收到数据, 并告知A已收到 -> 连接关闭Mid在一些情况下, 如由于安全问题, 可能没办法暴露相关端口,  导致 A/B 无法连接.建立一个中间连接, Machine C, 用于连接A B .中转连接方式:Machine C: 挂服务端; Machine A/B: 挂客户端.收发数据和 basic 相同.一些项目使用的情况不同, 需要解析收发数据的形式.server.MidServer是为该方法的数据解析方式, 需要别解析方式在server.py里面加.Usage挂服务端:python echo_server.py ${IP}$ ${PORT}$IP: 局域网下ip or localhost 都可以客户端:python echo_client.py ${IP}$ ${PORT}$ ${TYPE}$ ${CONTENT}$TYPE:  请求数据 用search; 发数据 非search的任何字符都可以.跨机延时测试例子:  以basic 的方式为例.machine A: 挂server,用于测延时# global vars
HOST = "10.130.19.34" 
PORT = 7788python echo_server.py $HOST $PORT.A B 能正常通信的情况下:Machine B: 挂client, 用于跑search代码.先不管search, 先说一下相关的数据处理.python echo_client.py $HOST $PORT net '32_32_32_128_3_3_3_3'B向A发了网络的结构数据, A中需要测改网络的延时, 在demo中返回了一个随机数, 实际中需要手动改一下相关代码.A完成了延时测试, B可以query 延时结果.python echo_client.py $HOST $PORT search '32_32_32_128_3_3_3_3'以上完成了一次网络延时测试.在search 中, 基本逻辑也是这样的.不同的地方在于: 在发送网络后, B不知道A何时完成测试, 会一直query, 如果A没有完成, 返回的字符会带"NO", 以此作为是否A是否完成的flag .fromminisocket.clientimportClient# sendingfori,netinenumerate(net_list):assertisinstance(net,dict)str_net=dict2str(net)clinet=Client(host,port,'net',str_net)client.run()# send -> query(waiting)whileTrue:client=Client(host,port,'search',str_net)client.run()if"No"notinclient.recv_info:# finished flaglat=client.recv_infonet["tlats"]=float(lat)breakchangelogv0.0.1: demo  使用的版本, 也是detsearch 中使用的版本.client使用 search 来获取信息, 其他关键字来传输信息.v0.0.2: 当前开发的版本TODOadd quiet mode
Package: minisom-gpu
MiniSomSelf Organizing MapsMiniSom GPU is a minimalistic and PyTorch based implementation of the Self Organizing Maps (SOM). SOM is a type of Artificial Neural Network able to convert complex, nonlinear statistical relationships between high-dimensional data items into simple geometric relationships on a low-dimensional display. Minisom is designed to allow researchers to easily build on top of it and to give students the ability to quickly grasp its details.This repository is a fork of the originalMiniSom package.InstallationJust use pip:pip install minisom_gpuHow to use itIn order to use MiniSom you need your data organized as a PyTorch tensor where each row corresponds to an observation like the following:importtorchdata=torch.tensor([[0.80,0.55,0.22,0.03],[0.82,0.50,0.23,0.03],[0.80,0.54,0.22,0.03],[0.80,0.53,0.26,0.03],[0.79,0.56,0.22,0.03],[0.75,0.60,0.25,0.03],[0.77,0.59,0.22,0.03]])Then you can train MiniSom just as follows:fromminisom_gpu.somimportMiniSomsom=MiniSom(6,6,4,sigma=0.3,learning_rate=0.5)# initialization of 6x6 SOMsom.train(data,100)# trains the SOM with 100 iterationsYou can obtain the position of the winning neuron on the map for a given sample as follows:som.winner(data[0])For an overview of all the features implemented in minisom you can browse the following examples:https://github.com/rctorres/minisom/tree/master/examples
Package: minispec
minispecA minimal module for computing audio spectrograms.This module merely strips out all of the spectrogram and Mel spectrogram implementations fromlibrosa.DocumentationSeehttp://minispec.readthedocs.orgfor a reference manual.InstallationThe latest stable release is available on PyPI, and you can install it by sayingpip install minispecTo build minispec from source, saypython setup.py build.
Then, to install minispec, saypython setup.py install.Alternatively, you can download or clone the repository and usepipto handle dependencies:unzip minispec.zip
pip install -e minispecorgit clone https://github.com/marl/minispec.git
pip install -e minispecBy callingpip listyou should seeminispecnow as an installed package:minispec (0.x.x, /path/to/minispec)Hints for the InstallationCitingIf you wish to cite minispec for its design, motivation etc., please cite the librosa paper
published at SciPy 2015:McFee, Brian, Colin Raffel, Dawen Liang, Daniel PW Ellis, Matt McVicar, Eric Battenberg, and Oriol Nieto. "librosa: Audio and music signal analysis in python." In Proceedings of the 14th python in science conference, pp. 18-25. 2015.
Package: ministat
>>> import ministat

>>> iguana = [50, 200, 150, 400, 750, 400, 150]

>>> chameleon = [150, 400, 720, 500, 930]

>>> ministat.compare_and_print(iguana, chameleon)
No difference proven at 95.0% confidence

>>> ministat.compare_and_print(iguana, chameleon, confidence_level=80)
Difference at 80.0% confidence
-240 +/- 212.215
-80% +/- 70.7384%
(Student's t, pooled s = 154.676)
Package: ministats
Mini Stats HelpersCommon statistical testing procedures used for STATS 101 topics. THhe
code is intentionally simple, to make it easy to read for beginners.Free software: MIT licenseDocumentation:https://ministats.readthedocs.ioAboutThis library contains helper functions for statistical analysis procedures implmemented "from scratch."
Many of these procedures can be performed more quickly by simply calling an appropriate function defined in one of the existing libraries for statistical analysis,
but we deliberately show the step by step procedures,
so you'll know what's going on under the hood.FeaturesSimple, concise codeUses standard prob. librariesscipy.statsTested against other statistical softwareRoadmapimport stats helpers fromhttps://github.com/minireference/noBSstatsnotebooks/blob/main/notebooks/stats_helpers.pyimport plot helpers fromhttps://github.com/minireference/noBSstatsnotebooks/blob/main/notebooks/plot_helpers.pyadd testsHistory0.1.0 (2023-06-29)First release on PyPI.
Package: ministryofjustice-data-platform-catalogue
Data platform catalogueThis library is part of the Ministry of Justice data platform.It publishes object metadata to a data catalogue, so that the
metadata can be made discoverable by consumers.Broadly speaking, a catalogue stores ametadata graph, consisting ofdata assets. Data assets could betables,schemasordatabases.How to installTo install the package usingpip, run:pipinstallministryofjustice-data-platform-catalogueTerminologyData assets- Any databases, tables, or schemas within the metadata graphData products- Groupings of data assets that are published for
reuse across MOJ. In the data platform, the concepts of database and data
product are similar, but they may be represented as different entities in the
catalogue.Domains- allow metadata to be grouped into different service areas that have
their own governance, like HMCTS, HMPPS, OPG, etc.Example usagefromdata_platform_catalogueimport(DataHubCatalogueClient,BaseCatalogueClient,DataLocation,CatalogueMetadata,DataProductMetadata,TableMetadata,CatalogueError)client:BaseCatalogueClient=DataHubCatalogueClient(jwt_token=jwt_token,api_url=api_url)data_product=DataProductMetadata(name="my_data_product",description="bla bla",version="v1.0.0",owner="7804c127-d677-4900-82f9-83517e51bb94",email="justice@justice.gov.uk",retention_period_in_days=365,domain="LAA",subdomain="Legal Aid",dpia_required=False)table=TableMetadata(name="my_table",description="bla bla",column_details=[{"name":"foo","type":"string","description":"a"},{"name":"bar","type":"int","description":"b"},],retention_period_in_days=365,major_version=1)try:table_fqn=client.upsert_table(metadata=table,data_product_metadata=data_product,location=DataLocation("test_data_product_v1"),)exceptCatalogueError:print("oh no")Search exampleresponse=client.search()# Total results across all pagesprint(response.total_results)# Iterate over search resultsforiteminresponse.page_results:print(item)# Iterate over facet optionsforoptioninresponse.facets.options('domains'):print(option.label)print(option.value)print(option.count)# Include a filter and sortclient.search(filters=[MultiSelectFilter("domains",[response.facets['domains'][0].value])],sort=SortOption(field="name",ascending=False))Search filtersDatahubBasic filters:urncustomPropertiesbrowsePaths / browsePathsV2deprecated (boolean)removed (boolean)typeNamesname, qualifiedNamedescription, hasDescriptionTimestamps:lastOperationTime (datetime)createdAt (timestamp)lastModifiedAt (timestamp)URNs:platform / platformInstancetags, hasTagsglossaryTerms, hasGlossaryTermsdomains, hasDomainsiblingsowners, hasOwnersroles, hasRolescontainerCatalogue ImplementationsDataHubEach data product within the MOJ data platform is created as a data product entityEach table is created as a dataset in DataHubTables that reside in the same athena database (data_product_v1) should
be placed within the same DataHub container.OpenMetadataEach MOJ data product is mapped to a database in the OpenMetadata catalogueWe populate the schema level in openmetdata with a generic entry ofTablesEach table is mapped to a table in openmetadata
Package: minitage.paste.extras
ContentsWhat is minitage.pasteProjects profilesUsageNOTESMakina Corpus sponsored softwareCHANGES1.101.91.81.61.51.41.31.21.11.0What is minitage.pasteThose are PasteScripts to help creating out projects living inside minitage.
You ll find in there:Projects profilesminitage.instances.cas: create a cas instanceminitage.instances.openldap: create an openldap instanceUsageUse throught paster:easy_install minitage.paste.instances.cas
paster create -t minitage.instances.cas target_projectNOTESPlease look the official documentation for further instructions:http://minitage.org/paster/instances/index.htmlMakina Corpus sponsored softwarePlanet Makina CorpusContact usCHANGES1.10refactor cas templateadd a standalone tomcat templateadd an hudson template1.9hosted on pypi1.8make more senseof pyopenssl extra dependency.1.6make release helper for CAS maintenanceUpgrade cas from 3.3.2 -> 3.3.3Modify the post install CAS message1.5add delay on init scripts restarts1.4change default acls on slapd.conf1.3change openldap ssl default port1.2renamed in minitage.instance.extrasunify the SSL certificates creation and installation path1.1add a download url add Pypi doesnt support dist > 5 MB1.0Initial release