Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Pierre Denis" Newsgroups: comp.lang.python.announce Subject: ANN: Lea 2.2.0 Date: Wed, 4 May 2016 15:57:37 +0200 Lines: 67 Approved: python-announce-list@python.org Message-ID: References: <002201d1a60c$eb1f7220$c15e5660$@denis@skynet.be> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de xajbGvbfn4DiW3FPomhGwQJSw1HsOQf2qjstN+GyXQ2A== Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'url:pypi': 0.03; 'wiki': 0.03; 'open-source': 0.04; 'resulting': 0.04; 'url:bitbucket': 0.05; '------------': 0.07; 'subject:ANN': 0.07; '-------': 0.09; 'calculating': 0.09; 'csv': 0.09; 'high- level': 0.09; 'method:': 0.09; 'tutorials,': 0.09; 'python': 0.10; '2.2.0': 0.16; 'lea': 0.16; 'received:adsl-dyn.isp.belgacom.be': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'documented': 0.18; 'drawing': 0.18; 'integer': 0.18; '>>>': 0.20; 'versions': 0.20; 'algorithm': 0.20; 'machine': 0.21; 'fraction': 0.22; 'produces': 0.22; 'programming': 0.22; 'installation': 0.23; 'examples': 0.24; 'feature': 0.24; 'paul': 0.24; 'matplotlib': 0.29; 'random': 0.29; 'tutorial': 0.29; 'allows': 0.30; 'url:wiki': 0.30; 'compared': 0.30; 'received:be': 0.30; 'fixed': 0.31; 'maybe': 0.33; 'url:python': 0.33; 'particular,': 0.33; 'skip:- 10': 0.34; 'functions.': 0.35; 'project': 0.36; 'url:org': 0.36; 'created': 0.36; 'tool': 0.36; 'subject:: ': 0.37; 'method': 0.37; 'thanks': 0.37; 'charset:us-ascii': 0.37; 'things': 0.38; 'version': 0.38; 'several': 0.38; 'skip:p 20': 0.38; 'files': 0.38; 'skip:- 20': 0.39; 'test': 0.39; 'build': 0.40; 'to:addr:python.org': 0.40; 'some': 0.40; 'your': 0.60; 'hope': 0.61; 'making': 0.62; 'modeling': 0.63; 'more': 0.63; 'latest': 0.64; 'credits': 0.66; 'features:': 0.66; 'here': 0.66; 'results': 0.66; 'overall': 0.72; 'received:109': 0.75; 'denis': 0.84; 'discrete': 0.84; 'estimation': 0.84; 'float,': 0.84; 'lightweight,': 0.84; 'random,': 0.84; 'received:195.238': 0.84; 'notable': 0.91; 'procedure,': 0.91; 'ratio': 0.91 X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CAIADK/ilX/0okgW1egzgeNX6IQ7MnIoVoBD93PBEBAQEBAQEBZSdBAQEBAQEBAQEGAgKDcAQBCCASHBcZBQYSUCAfAQQeiBcMCpwToR6GIIhdG2CFDQWHeJAhAYFXhCSIHII2jFsCjzQ2LIE2AQEBBwEBAQEBgig6gXc5gT9eXIIGgT0BAQE X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdGmDOpNWTGGntaUQlqOA8Ew7xhvIQ== Content-Language: en-us X-Mailman-Approved-At: Wed, 04 May 2016 10:04:44 -0400 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <002201d1a60c$eb1f7220$c15e5660$@denis@skynet.be> Xref: csiph.com comp.lang.python.announce:2124 Lea 2.2.0 is now released! What is Lea? ------------ Lea is a Python package aiming at working with discrete probability distributions in an intuitive way. It allows you to model a broad range of random phenomenons, like dice throwing, coin tossing, gambling, finance, weather, etc. It offers high-level modeling features for probabilistic programming and bayesian inference. Lea has several original features: the storage of probabilities as integer weights, an inference algorithm that produces *exact* results and a strong emphasis on ease-of-use. Lea is lightweight, open-source (LGPL) and pure Python, with support of versions 2 and 3). See project page below for installation, tutorials, examples, etc. What's new in Lea 2.2.0? ------------------------ Compared to latest version (2.1.2), many things have been made to improve ease-of-use and overall performance. Maybe one of the most notable feature is that you can now get individual probabilities very easily, as a fraction or float, thanks to the new 'P' and 'Pf' functions. Here are some examples that you can type in your Python console: >>> P(dice <= 5) 5/18 >>> Pf(dice <= 5) 0.2777777777777778 >>> P(rain.given(grassWet)) 891/2491 >>> Pf(rain.given(grassWet)) 0.3576876756322762 Other new features include: - build joint probability distributions from CSV files or Pandas dataframes - pmf histograms using matplotlib - Monte-Carlo sampling estimation - multi-arguments 'given' method (ANDing of evidences) - likelihood ratio - extended 'draw' method: with/without sorting, with/without replacement - machine learning (experimental) - built-in functions and distributions for games - various optimizations Most of the new features are documented in a new tutorial on Lea's wiki (http://bitbucket.org/piedenis/lea/wiki/LeaPyTutorial3). Credits ------- Thanks to all of you for this large bunch of feedbacks, encouragements and suggestions! In particular, the present version owes much to Paul Moore, who made important contributions; among other things, Paul fixed the installation procedure, set up a test suite using the Tox tool and created an efficient algorithm for calculating probability distribution resulting from a drawing process. Thanks Paul for making the package more mature! Lea project page ---------------- http://bitbucket.org/piedenis/lea Download Lea (PyPI) ------------------- http://pypi.python.org/pypi/lea With the hope that Lea can make your joy less random, Pierre Denis