Package: let3
let3Assign variables wherever, whenever you want.Overviewlet3is a strict fork of Taylor Marks’sletpackage with a fix
allowing to work with Python3 or higher and with a little code reformatting
and minor improvements.PyPI record.Documentation.Overview below is a copy from the originalletwebsite (with only the necessary
changes regarding let3).Quick StartOnce you’ve installed, you can really quickly verified that it works with just this:>>>fromletimportlet>>>iflet(count=len("Hello World!")):...print(count)12DocumentationIn C, Java, and many other languages, it’s possible to assign variables inside
of if or while condition statements. This is useful in allowing you to concisely
both assign the value, and check whether a condition is met.This ability doesn’t exist in Python, because of the thought that when people
write something like:ifrow=db.fetch_results():...They may have actually meant:ifrow==db.fetch_results():...Personally, I have never made this mistake. It seems far more like a theoretical
mistake that could plausibly happen than one that actually happens and warrants
removing features, as was chosen in Python.Anyways, the let function in this module gives you something very close to that
ability in other languages. A few examples:iflet(name=longInstanceName.longAttributeName):...# Yes, db.fetch_results() should just return a generator. No, it doesn't.whilelet(results=db.fetch_results()):...iflet(count=len(nameValuePair))!=1:raiseException(f"Bad amount:{count}")InstallationPrerequisites:Python 3.7 or higherhttps://www.python.org/pip and setuptoolshttps://pypi.org/project/pip/https://pypi.org/project/setuptools/To install run:python -m pip install --upgrade let3DevelopmentPrerequisites:Development is strictly based ontox. To install it run:python -m pip install --upgrade toxVisitDevelopment page.Installation from sources:clone the sources:git clonehttps://github.com/karpierz/let3.gitlet3and run:python -m pip install ./let3or on development mode:python -m pip install --editable ./let3LicenseCopyright (c) 2016 Taylor MarksCopyright (c) 2016-2024 Adam KarpierzLicensed under the MIT Licensehttps://opensource.org/license/mitPlease refer to the accompanying LICENSE file.AuthorsTaylor Marks <taylor@marksfam.com>Adam Karpierz <adam@karpierz.net>Changelog1.0.24 (2024-01-30)Setup update (now based on tox >= 4.0).Add support for Python 3.12Drop support for Python 3.7Add support for PyPy 3.9 and 3.10Add support for PyPy 3.7 and 3.8Copyright year update.Tox configuration has been moved to pyproject.tomlCleanup.1.0.21 (2022-10-18)Tox configuration has been moved to pyproject.toml1.0.20 (2022-08-22)Add support for Python 3.10 and 3.11Setup update (currently based mainly on pyproject.toml).1.0.19 (2022-01-10)Drop support for Python 3.6.Copyright year update.Setup update.1.0.17 (2021-10-14)Setup update.1.0.16 (2021-07-19)Bugfix: ‘let’ works now also on highest (e.g. module) level.Setup general update and improvement.1.0.15 (2020-10-17)Add support for Python 3.8 and 3.9.Drop support for Python 3.5.Drop support for Python 2.Setup: fix an improper dependencies versions.Setup general update and cleanup.Fixed docs setup.Cleanup.1.0.10 (2019-05-21)Update required setuptools version.Setup update and improvements.This is the latest release that supports Python 2.1.0.9 (2018-11-08)Drop support for Python 2.6 and 3.0-3.3Update required setuptools version.1.0.8 (2018-05-08)Update required setuptools version.Improve and simplify setup and packaging.1.0.7 (2018-02-26)Improve and simplify setup and packaging.1.0.6 (2018-01-28)Fix a bug and inconsistencies in tox.iniUpdate of README.rst.1.0.3 (2018-01-24)Update required Sphinx version.Update doc Sphinx configuration files.1.0.2 (2017-11-18)Setup improvements.Other minor improvements.1.0.1 (2017-01-05)Creating a fork of Taylor Marks’sletpackage with a fix allowing
to work with Python3 or higher.Minor improvements.Changes of the originallet:1.0.1 (Feb 25, 2016)Let now assigns the variables to the global namespace always - never
the local namespace. The Python interpreter sometimes optimizes variables
within the local namespace - it’s best not to change values behind its
back, as it leads to very difficult to discover bugs.1.0.0 (Feb. 7, 2016)Initial commit