Skip to main content

Lambda with math operators support

Project description

Install

pip3 install pro_lambda

Documentation

You can find documentation here

Description

pro_lambda make it possible to modify your functions with standart mathematical and logical operators:

from pro_lambda import pro_lambda

some = pro_lambda(lambda : 1)
other = some + 1
# then we call result as if it was (lambda: 1)() + 1
assert other() == 2

some = pro_lambda(lambda x, y: x+y)
other = some + 1
# here we pass some arguments
assert other(1, 2) == 4

# we can also use another function on the right side
other = some + (lambda z, y: z - y)
assert other(1, y = 2, z = 3) == 4

It also supports async functions:

import asyncio
from pro_lambda import pro_lambda


async def main():

    async def _some(x):
        await asyncio.sleep(0.3)
        return x

    _save = _some
    some = pro_lambda(_some)
    other = some + (lambda: 1)
    assert some.is_async
    assert await other(1) == 2

    some = pro_lambda(lambda : 1)
    other = some + _some

    assert other.is_async
    assert await other(x=1) == 2

    some = pro_lambda(_some)
    other = some + _some
    assert other.is_async
    assert await other(x=1) == 2

    other = some == 1

    assert other.is_logical
    assert await other(1)
    assert not await other(2)

asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pro_lambda-0.3.5.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file pro_lambda-0.3.5.tar.gz.

File metadata

  • Download URL: pro_lambda-0.3.5.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1

File hashes

Hashes for pro_lambda-0.3.5.tar.gz
Algorithm Hash digest
SHA256 2be6735ed76a8ceec490cf3f09811e4948172f40b6b05d9624c6235ca2865e34
MD5 d13632df6769db0980a3fe70ae1ace58
BLAKE2b-256 9ce941fd3c513d22543483d621117235acf6546c7b82b468233022f3c83f7f0a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page