Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Pierre Denis" Newsgroups: comp.lang.python.announce Subject: ANN: Lea 3.0 released Date: Wed, 27 Jun 2018 16:44:29 +0200 Lines: 66 Approved: python-announce-list@python.org Message-ID: References: <001501d40e25$5af15050$10d3f0f0$@denis@skynet.be> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de Ho0RNNnPMYNg2hFWFwatlQcyKiYDZ2zbtQLx5f/aDg/g== Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'url:org)': 0.03; 'pypi': 0.05; 'subject:released': 0.05; '------------': 0.07; 'subject:ANN': 0.07; 'url- ip:104.192.143.1/32': 0.07; 'url-ip:104.192.143.2/32': 0.07; 'url- ip:104.192.143.3/32': 0.07; 'url-ip:104.192.143/24': 0.07; 'url- ip:104.192/16': 0.07; 'url:bitbucket': 0.07; 'conditional': 0.09; 'finite': 0.09; 'thrown': 0.09; 'api': 0.11; 'library': 0.11; 'tutorials': 0.11; '1))': 0.16; 'ai,': 0.16; 'biased': 0.16; 'generally,': 0.16; 'naming': 0.16; 'pep8': 0.16; 'pierre': 0.16; 'received:adsl-dyn.isp.belgacom.be': 0.16; 'url:project': 0.16; 'python': 0.16; 'machine': 0.20; 'fraction': 0.21; 'pfxlen:0': 0.21; 'suppose': 0.21; 'usability': 0.21; 'algorithm': 0.24; 'values': 0.24; 'programming': 0.25; 'simpler': 0.25; 'symbolic': 0.25; 'url-ip:151.101.0.223/32': 0.25; 'url- ip:151.101.128.223/32': 0.25; 'url-ip:151.101.192.223/32': 0.25; 'url-ip:151.101.64.223/32': 0.25; 'examples': 0.26; 'random': 0.26; 'cc:2**0': 0.26; 'url-ip:151.101.192/24': 0.26; 'url- ip:151.101.0/24': 0.27; 'url-ip:151.101.128/24': 0.27; 'url- ip:151.101.64/24': 0.27; 'module': 0.27; 'url:home': 0.28; 'extend': 0.29; 'print': 0.30; 'supported': 0.31; 'compared': 0.31; '3.0': 0.32; 'library.': 0.32; 'intuitive': 0.33; 'more...': 0.33; 'openness': 0.33; 'cc:no real name:2**0': 0.34; 'ability': 0.34; 'url-ip:151.101/16': 0.34; 'url-ip:151/8': 0.34; 'skip:- 10': 0.34; 'received:be': 0.35; 'could': 0.35; 'changed': 0.36; 'allows': 0.37; 'url:wiki': 0.37; 'skip:( 20': 0.38; 'object,': 0.38; 'to:addr:python-announce-list': 0.38; 'charset:us-ascii': 0.38; 'version': 0.39; '...': 0.39; 'two': 0.39; 'received:195': 0.40; 'url:org': 0.40; 'working': 0.40; 'url:0': 0.61; 'more': 0.61; 'numbers,': 0.62; 'advanced': 0.62; 'range': 0.62; 'skip:0 10': 0.62; 'modeling': 0.63; 'final': 0.63; 'different': 0.64; 'here': 0.64; 'choose': 0.64; 'name': 0.65; 'chance': 0.67; 'networks,': 0.67; 'latest': 0.68; 'paper': 0.70; 'url-ip:lookup error': 0.75; '--->': 0.84; 'computation.': 0.84; 'received:195.238': 0.84; 'statues': 0.84; 'successively': 0.84; 'universe': 0.84; 'float,': 0.91; 'education,': 0.97 X-Belgacom-Dynamic: yes IronPort-PHdr: =?us-ascii?q?9a23=3AGOTkAxNgqbO2XonLQagl6mtUPXoX/o7sNwtQ0KIM?= =?us-ascii?q?zox0IvTzrarrMEGX3/hxlliBBdydt6oazbKO+4nbGkU4qa6bt34DdJEeHzQksu?= =?us-ascii?q?4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1?= =?us-ascii?q?Ov71GonPhMiryuy+4ZLebxlJiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPde?= =?us-ascii?q?RWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbY?= =?us-ascii?q?UwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhS?= =?us-ascii?q?kHKTA37W/ZhM9/g61HrxyvoAB/zpXIYIyXO/pyYr3Rcc8ESWdHQ81fVzZBAoS5?= =?us-ascii?q?b4YXAeYPJ+dYoJfnp1sUsxS1GAeiC/3pyj9JnX/607Ax3uM5EQHHwgMsBc8Bv2?= =?us-ascii?q?rSrNX0L6cfSvu1zKrIzDXFcfxWxS3x55PWfR04p/yHQLx+cc3UyUY1FgPFiE2d?= =?us-ascii?q?ppb/PzKa1+QNrXKX7+16VeKgk2IosABxoiS0yccxlobJhZwaykze+SV+2oY1Ks?= =?us-ascii?q?W0SFZ7YN68EZtcrSaaN5F5Qs86WGFpuCM6yqUGuJKheygK0psnyhjCYPKEa4iF?= =?us-ascii?q?+hHuWPuLLTtmi39pZKizihKo/US+1OHwSs+520tQoCVfiNnDrHUN2gTW6siAV/?= =?us-ascii?q?Ry4F+s2S2K1wDP8uFEJl00lbbDJ54h3LEwkp0TvFzNECH5hUv4ibGYeFw+9Oa0?= =?us-ascii?q?9urqY6jrq5yGOYFtkg3+M6IuldKjAekgMQUCQnKX9fqz2bH/50H0RK9GguMonq?= =?us-ascii?q?XFqJzaIN4Upq+9Aw9byIYj7BO/Ai++0NQZg3YLNk9KdwyBj4joIFHDO+v4DfS/?= =?us-ascii?q?glSqjjhr2+rKMab/DZnVNHjMjK/hfaph605b0Acz1dFf6IxOBr4cPv3zXE7xtM?= =?us-ascii?q?fDAx8iMAy1w+DnB8th1o8EQm2AHLeTMLnOvl+Q+uIvP+6MaZcNuDf9N/gl5/nu?= =?us-ascii?q?jXkglVAHe6mp25wXaG2+Hvt6PUqVeH7sgtYaEWcWpQc+VOzriEGCUT5UYXa+Ra?= =?us-ascii?q?U85is0CNHuMYCWEpi8nLyG2mKyGJtRe2ZNBxWIEGz0X52VR/cLbmSVOMA3wRIe?= =?us-ascii?q?Ur30Abcg2Au0uUfWxrxmNaCcrjUZuNTv2d50/MXIlgA0+CAyBcnLgDLFdH19gm?= =?us-ascii?q?5dH2x+56t4u0Eoklo=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2AgEQArojNb/9wJ8FFcg3okPm0SKIgdh?= =?us-ascii?q?D+OEwGMLYozLggBhDoEAoMaIjgUAQIBAQIBAQIBbBwMQhABgWIigm4fARIcFww?= =?us-ascii?q?NBQYSUCAfAQQeC4MQggMLricCMYhMgRyKQz+BD4hWhQkCh1yEazuMLwcCAoFvh?= =?us-ascii?q?A+JE4ICi0cBiieJJCGBUm2DPAkWIIpUhUA9MAGBDAiHLIgcAQE?= X-IPAS-Result: =?us-ascii?q?A2AgEQArojNb/9wJ8FFcg3okPm0SKIgdhD+OEwGMLYozLgg?= =?us-ascii?q?BhDoEAoMaIjgUAQIBAQIBAQIBbBwMQhABgWIigm4fARIcFwwNBQYSUCAfAQQeC?= =?us-ascii?q?4MQggMLricCMYhMgRyKQz+BD4hWhQkCh1yEazuMLwcCAoFvhA+JE4ICi0cBiie?= =?us-ascii?q?JJCGBUm2DPAkWIIpUhUA9MAGBDAiHLIgcAQE?= X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdQOJVq0NBu4SP0VQT2CHMcBSt9rSg== Content-Language: en-us X-Mailman-Approved-At: Wed, 27 Jun 2018 21:04:18 -0400 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.27 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: <001501d40e25$5af15050$10d3f0f0$@denis@skynet.be> Xref: csiph.com comp.lang.python.announce:2897 Lea 3.0 final is now released! ---> http://pypi.org/project/lea/3.0.0 What is Lea? ------------ Lea is a Python module aiming at working with discrete probability distributions in an intuitive way. It allows you modeling a broad range of random phenomena: gambling, weather, finance, etc. More generally, Lea may be used for any finite set of discrete values having known probability: numbers, booleans, date/times, symbols, . Each probability distribution is modeled as a plain object, which can be named, displayed, queried or processed to produce new probability distributions. Lea also provides advanced functions and Probabilistic Programming (PP) features; these include conditional probabilities, Bayesian networks, joint probability distributions, Markov chains and symbolic computation. Lea can be used for AI, machine learning, education, ... LGPL - Python 2.6+ / Python 3 supported What's new in Lea 3? -------------------- Compared to latest version (2.3.5), many things have changed to extend the usability and openness of the library. To name a few: * ability to choose between different probability representations: floats, fractions and decimals * symbolic computation: Lea can now calculate probability *formula* using the SymPy library (http://www.sympy.org) * simpler API and compliance with PEP8 naming convention * revamped tutorials and examples -> http://bitbucket.org/piedenis/lea/wiki/Home * paper on the "Statues" algorithm used in Lea -> http://arxiv.org/abs/1806.09997 Here is a short sample. A biased coins is flipped with 1/4 chance to be 'head'. Suppose that this coin is thrown 6 times. What is the probability to get no more than two 'heads'? Here is how you could make this calculation in Lea, using successively float, fraction and symbolic representations: print (P(lea.binom(6,1/4) <= 2)) # -> 0.83056640625 print (P(lea.binom(6,'1/4') <= 2)) # -> 1701/2048 print (P(lea.binom(6,'p') <= 2)) # -> (p - 1)**4*(10*p**2 + 4*p + 1)) print (P(lea.binom(6,'p') <= 2).subs('p',1/4)) # -> 0.830566406250000 To learn more... ---------------- Lea 3 on PyPI -> http://pypi.org/project/lea/3.0.0 Lea project page -> http://bitbucket.org/piedenis/lea Documentation -> http://bitbucket.org/piedenis/lea/wiki/Home Statues algorithm -> http://arxiv.org/abs/1806.09997 With the hope that Lea can make the Universe less hazardous, Pierre Denis