{"id":21816586,"url":"https://github.com/5monkeys/partialize","last_synced_at":"2025-04-14T01:15:10.225Z","repository":{"id":8368584,"uuid":"9936136","full_name":"5monkeys/partialize","owner":"5monkeys","description":"Python partial on steroids","archived":false,"fork":false,"pushed_at":"2013-05-14T11:11:00.000Z","size":164,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T01:15:00.349Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/5monkeys.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-08T12:46:44.000Z","updated_at":"2013-10-06T01:44:34.000Z","dependencies_parsed_at":"2022-08-07T04:16:14.168Z","dependency_job_id":null,"html_url":"https://github.com/5monkeys/partialize","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5monkeys%2Fpartialize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5monkeys%2Fpartialize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5monkeys%2Fpartialize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/5monkeys%2Fpartialize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/5monkeys","download_url":"https://codeload.github.com/5monkeys/partialize/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804824,"owners_count":21164135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-27T15:35:24.563Z","updated_at":"2025-04-14T01:15:10.195Z","avatar_url":"https://github.com/5monkeys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Partialize\n==========\n\nPython partial on steroids\n\n.. image:: https://travis-ci.org/5monkeys/partialize.png?branch=master\n    :target: http://travis-ci.org/5monkeys/partialize\n\nInstallation\n------------\n\nInstall partialize in your python environment\n\n.. code:: sh\n\n    $ pip install partialize\n\nUsage\n-----\n\nPartialize is like python :code:`functools.partial` but with change/extend access to args and kwargs.\nAlso a great tool even if no partial is needed but the function takes args/kwargs that often depends on logic.\n\nEasiest used as a decorator\n\n.. code:: python\n\n    from partialize import partialize\n\n    @partialize\n    def dummy(a, b, c=None):\n        return 'hello world'\n\n    partial_dummy = dummy.partial(1)\n    partial_dummy.b = 2\n    partial_dummy(c=3)\n\nor invoked inline...\n\n.. code:: python\n\n    partial_dummy = partialize(dummy)\n    partial_dummy.a = 1\n    partial_dummy.update(b=2)\n    partial_dummy()\n    partial_dummy(c=3)\n\nUse it on functions that needs logic to affect arguments passed, instead of building and passing a `dict` as kwargs\nwhich often gets quite messy and hard to read.\n\nDict kwargs example:\n\n.. code:: python\n\n    from partialize import partialize\n\n    @partialize\n    def search_products(site, query=None, brand=None, tags=None):\n        pass\n\n    kwargs = {}\n\n    if logic:\n        kwargs['query'] = q\n\n    if more_logic:\n        kwargs['brand'] = 'brand name'\n\n    products = search_products(site, **kwargs)\n\nPartialize example:\n\n.. code:: python\n\n    search = search_products.partial(site)\n\n    if logic:\n        search.query = q\n\n    if more_logic:\n        search.brand = 'brand name'\n\n    products = search()\n\n..\n\n    **Note:** function argument names are validated when set, unlike dict string keys.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5monkeys%2Fpartialize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F5monkeys%2Fpartialize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F5monkeys%2Fpartialize/lists"}