Path: csiph.com!news.fcku.it!fu-berlin.de!uni-berlin.de!not-for-mail From: "Pierre Denis" Newsgroups: comp.lang.python.announce Subject: ANN: Lea 3.0.0 beta 2 Date: Sun, 27 May 2018 17:22:29 +0200 Lines: 61 Approved: python-announce-list@python.org Message-ID: References: <005d01d3f5ce$86bd7e30$94387a90$@denis@skynet.be> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de scMIXC4fRVo3lCjNRcTY6wBkWlZwU9bxrG66Kput4gNA== Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'url:pypi': 0.03; 'url:org)': 0.03; 'pypi': 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; 'subject:beta': 0.16; 'url:project': 0.16; 'python': 0.16; 'cc:2**1': 0.20; 'machine': 0.20; 'fraction': 0.21; 'pfxlen:0': 0.21; 'suppose': 0.21; 'usability': 0.21; '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; '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; 'compared': 0.31; '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; 'different': 0.64; 'here': 0.64; 'choose': 0.64; 'name': 0.65; 'chance': 0.67; 'networks,': 0.67; 'latest': 0.68; 'url-ip:lookup error': 0.75; '--->': 0.84; 'computation.': 0.84; 'received:195.238': 0.84; 'successively': 0.84; 'universe': 0.84; 'float,': 0.91; 'education,': 0.97 X-Belgacom-Dynamic: yes IronPort-PHdr: =?us-ascii?q?9a23=3Apg/drR9i7uvuFv9uRHKM819IXTAuvvDOBiVQ1KB2?= =?us-ascii?q?1+ocTK2v8tzYMVDF4r011RmVBd6ds6oMotGVmpioYXYH75eFvSJKW713fDhBt/?= =?us-ascii?q?8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1?= =?us-ascii?q?Ifn+FpLPg8it2O2+55Pebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+?= =?us-ascii?q?RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTF?= =?us-ascii?q?UACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRh/2hi?= =?us-ascii?q?kaOTA3827YhdB/gqxcvBKsvAB/zozbYI2JKvZyYr3RcNUHTmRBRMZRUClBD5uy?= =?us-ascii?q?Y4UVDuoOI/xYr5PjqFAToxWxGw+sBOL0yjNGm3T72rU60+U/Hg3cwQMvAdQOsH?= =?us-ascii?q?XPrNjuL6cSUuC0zK/WwjXfdf9Zwiny5ZHOfxs8r/+MWrdwftDQyUkpDw7KlVSQ?= =?us-ascii?q?qZD+MDOIyusNsHaU7/Z6WeKokW4npBl9oiCvx8c0i4nFnIUVykrL9Slh24Y0Jd?= =?us-ascii?q?i4SFZ7YNK+F5tQrS6aOo1rSc0hW2FloCU3xqActZKlcyUG1Y4rywPdZvGDaYSE?= =?us-ascii?q?/xzuWeaXLDxlnnxqYqi/iAy38UW4z+38UdS730hSoypel9nMqmgN1xvO6sibUv?= =?us-ascii?q?d9/lmu2TKI1w3L5O9KLl06m6/FJZA42LA+iocdvEXeEyL1gkv4lbeadkQi+ue2?= =?us-ascii?q?9+TqerbrqoKGO4NqhQzyL74iltG9DOk8KAQCQmaW9OSk2L3m50L5QbFKjvMskq?= =?us-ascii?q?netZDXPdwbpq+nDANPz4ks9RC/Dza90NkDhnkHL1JEeBSZgIj1IV3BO+73Ae+l?= =?us-ascii?q?g1uwiDdr2+zGPrr5D5XVL3jMjq3tcqtj5E5ayQoz1stS54lXCrABJvL8RFPxuM?= =?us-ascii?q?bDARAnKwa02froCM1h1oMCXmKCGrWXMKLMvl+S/OIgPfOAaoELtzb7Kvgl/OXj?= =?us-ascii?q?jWQhmVAHYaamw4AYZ268Hvh8OEqWf2Lmgs0dHmcSogo+UOvqhUWaUT9Te3ayX6?= =?us-ascii?q?U85jciBI28C4fDQIetgKGH3CinAJJaf2RGClGXEXf0bIiEQ/cNaD6SIs9mlDwI?= =?us-ascii?q?T7+hS5Uu1ULmiAivn6J2MurT/GgRs5Tkyd5+6qjXlAou3SRlE8Sa1SeKVW4izU?= =?us-ascii?q?0SQDpjlph+rFZnxx+v3K55mLYQQcRS6rVFXwE7LrbHzP18Bsy0UA+XLYTBc0qv?= =?us-ascii?q?XtjzWWJ5ddk22dJbO0s=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2ByDABTzApb/4ez8VFaHAEBAQQBAQoBA?= =?us-ascii?q?YNEJD5tEiiIG4Q/jjUBXZUzLggBhDoEAoIQIjcVAQIBAQEBAQECAWscDII1IoJ?= =?us-ascii?q?gHwESHBcMDQUGElAgHwEEHguDDoIDC6VhAjGIPYFoigo/iVuFCAKHRIRmjDgHA?= =?us-ascii?q?gKBaYQBiHSBeYsMAYlsiHYigVJtgxYJFiCKUYVAPTABAQGBCgiPGQEB?= X-IPAS-Result: =?us-ascii?q?A2ByDABTzApb/4ez8VFaHAEBAQQBAQoBAYNEJD5tEiiIG4Q?= =?us-ascii?q?/jjUBXZUzLggBhDoEAoIQIjcVAQIBAQEBAQECAWscDII1IoJgHwESHBcMDQUGE?= =?us-ascii?q?lAgHwEEHguDDoIDC6VhAjGIPYFoigo/iVuFCAKHRIRmjDgHAgKBaYQBiHSBeYs?= =?us-ascii?q?MAYlsiHYigVJtgxYJFiCKUYVAPTABAQGBCgiPGQEB?= X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdP1zoZ47xrkgAVXRa27w+G0C4iSOg== Content-Language: en-us X-Mailman-Approved-At: Tue, 29 May 2018 08:14:27 -0400 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.26 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: <005d01d3f5ce$86bd7e30$94387a90$@denis@skynet.be> Xref: csiph.com comp.lang.python.announce:2863 Lea 3.0.0.beta.2 is now released! ---> http://pypi.org/project/lea/3.0.0.beta.2 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, ... 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 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 project page -> http://bitbucket.org/piedenis/lea Documentation -> http://bitbucket.org/piedenis/lea/wiki/Home Lea 3 on PyPI -> http://pypi.org/project/lea/3.0.0.beta.1 With the hope that Lea can make the Universe less uncertain, Pierre Denis