Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python partial on steroids

Project description

Python partial on steroids

Like python functools.partial but with change/extend access to args and kwargs. Also a great tool even if no partial is needed but the function takes args/kwargs that often depends on logic.

Easiest used as a decorator

from partialize import partialize

def dummy(a, b, c=None):
    return 'hello world'

partial_dummy = dummy.partial(1)
partial_dummy.b = 2

or invoked inline…

partial_dummy = partialize(dummy)
partial_dummy.a = 1

Use it on functions that needs logic to affect arguments passed, instead of building and passing a dict as kwargs which often gets quite messy and hard to read.

Dict kwargs example:

from partialize import partialize

def search_products(site, query=None, brand=None, tags=None):

kwargs = {}

if logic:
    kwargs['query'] = q

if more_logic:
    kwargs['brand'] = 'brand name'

products = search_products(site, **kwargs)

Partialize example:

search = search_products.partial(site)

if logic:
    search.query = q

if more_logic:
    search.brand = 'brand name'

products = search()
Note: function argument names are validated when set, unlike dict string keys.

Project details

Release history Release notifications

Download files

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

Files for partialize, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size partialize-0.0.3.tar.gz (4.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page