{"id":13478279,"url":"https://github.com/Parsl/parsl","last_synced_at":"2025-03-27T07:31:02.741Z","repository":{"id":37451078,"uuid":"71482397","full_name":"Parsl/parsl","owner":"Parsl","description":"Parsl - a Python parallel scripting library","archived":false,"fork":false,"pushed_at":"2024-10-29T08:16:58.000Z","size":24923,"stargazers_count":502,"open_issues_count":456,"forks_count":195,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-10-29T09:36:16.478Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"http://parsl-project.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Parsl.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json"}},"created_at":"2016-10-20T16:27:51.000Z","updated_at":"2024-10-29T08:17:00.000Z","dependencies_parsed_at":"2023-10-13T11:23:46.404Z","dependency_job_id":"396a067e-f0fb-486a-8685-83792aae78e4","html_url":"https://github.com/Parsl/parsl","commit_stats":{"total_commits":3617,"total_committers":91,"mean_commits":"39.747252747252745","dds":0.6104506497097042,"last_synced_commit":"e1ce3dab32406381d46220338ca2c191b75df6d6"},"previous_names":[],"tags_count":130,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parsl%2Fparsl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parsl%2Fparsl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parsl%2Fparsl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Parsl%2Fparsl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Parsl","download_url":"https://codeload.github.com/Parsl/parsl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245802319,"owners_count":20674634,"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":["hacktoberfest"],"created_at":"2024-07-31T16:01:54.933Z","updated_at":"2025-03-27T07:31:02.733Z","avatar_url":"https://github.com/Parsl.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Parsl - Parallel Scripting Library\n==================================\n|licence| |docs| |All Contributors| |NSF-1550588| |NSF-1550476| |NSF-1550562| |NSF-1550528| |NumFOCUS| |CZI-EOSS| \n\nParsl extends parallelism in Python beyond a single computer.\n\nYou can use Parsl\n`just like Python's parallel executors \u003chttps://parsl.readthedocs.io/en/stable/userguide/workflow.html#parallel-workflows-with-loops\u003e`_\nbut across *multiple cores and nodes*.\nHowever, the real power of Parsl is in expressing multi-step workflows of functions.\nParsl lets you chain functions together and will launch each function as inputs and computing resources are available.\n\n.. code-block:: python\n\n    import parsl\n    from parsl import python_app\n\n\n    # Make functions parallel by decorating them\n    @python_app\n    def f(x):\n        return x + 1\n\n    @python_app\n    def g(x, y):\n        return x + y\n\n    # Start Parsl on a single computer\n    with parsl.load():\n        # These functions now return Futures\n        future = f(1)\n        assert future.result() == 2\n\n        # Functions run concurrently, can be chained\n        f_a, f_b = f(2), f(3)\n        future = g(f_a, f_b)\n        assert future.result() == 7\n\n\nStart with the `configuration quickstart \u003chttps://parsl.readthedocs.io/en/stable/quickstart.html#getting-started\u003e`_ to learn how to tell Parsl how to use your computing resource,\nthen explore the `parallel computing patterns \u003chttps://parsl.readthedocs.io/en/stable/userguide/workflow.html\u003e`_ to determine how to use parallelism best in your application.\n\n.. |licence| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n   :target: https://github.com/Parsl/parsl/blob/master/LICENSE\n   :alt: Apache Licence V2.0\n.. |docs| image:: https://readthedocs.org/projects/parsl/badge/?version=stable\n   :target: http://parsl.readthedocs.io/en/stable/?badge=stable\n   :alt: Documentation Status\n.. |NSF-1550588| image:: https://img.shields.io/badge/NSF-1550588-blue.svg\n   :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550588\n   :alt: NSF award info\n.. |NSF-1550476| image:: https://img.shields.io/badge/NSF-1550476-blue.svg\n   :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550476\n   :alt: NSF award info\n.. |NSF-1550562| image:: https://img.shields.io/badge/NSF-1550562-blue.svg\n   :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550562\n   :alt: NSF award info\n.. |NSF-1550528| image:: https://img.shields.io/badge/NSF-1550528-blue.svg\n   :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550528\n   :alt: NSF award info\n.. |NSF-1550475| image:: https://img.shields.io/badge/NSF-1550475-blue.svg\n   :target: https://nsf.gov/awardsearch/showAward?AWD_ID=1550475\n   :alt: NSF award info\n.. |CZI-EOSS| image:: https://chanzuckerberg.github.io/open-science/badges/CZI-EOSS.svg\n   :target: https://czi.co/EOSS\n   :alt: CZI's Essential Open Source Software for Science\n.. |NumFOCUS| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat\u0026colorA=E1523D\u0026colorB=007D8A\n    :target: https://numfocus.org\n    :alt: Powered by NumFOCUS\n.. |All Contributors| image:: https://img.shields.io/github/all-contributors/Parsl/parsl?color=ee8449\u0026style=flat-square ](#contributors)\n    :target: https://allcontributors.org/\n    :alt: All Contributors\n\n   \nQuickstart\n==========\n\nInstall Parsl using pip::\n\n    $ pip3 install parsl\n\nTo run the Parsl tutorial notebooks you will need to install Jupyter::\n\n    $ pip3 install jupyter\n\nDetailed information about setting up Jupyter with Python is available `here \u003chttps://jupyter.readthedocs.io/en/latest/install.html\u003e`_\n\nNote: Parsl uses an opt-in model to collect usage statistics for reporting and improvement purposes. To understand what stats are collected and enable collection please refer to the `usage tracking guide \u003chttp://parsl.readthedocs.io/en/stable/userguide/usage_tracking.html\u003e`__\n\nDocumentation\n=============\n\nThe complete parsl documentation is hosted `here \u003chttp://parsl.readthedocs.io/en/stable/\u003e`_.\n\nThe Parsl tutorial is hosted on live Jupyter notebooks `here \u003chttps://mybinder.org/v2/gh/Parsl/parsl-tutorial/master\u003e`_\n\n\nFor Developers\n--------------\n\n1. Download Parsl::\n\n    $ git clone https://github.com/Parsl/parsl\n\n\n2. Build and Test::\n\n    $ cd parsl # navigate to the root directory of the project\n    $ make   # show all available makefile targets\n    $ make virtualenv # create a virtual environment\n    $ source .venv/bin/activate # activate the virtual environment\n    $ make deps # install python dependencies from test-requirements.txt\n    $ make test # make (all) tests. Run \"make config_local_test\" for a faster, smaller test set.\n    $ make clean # remove virtualenv and all test and build artifacts\n\n3. Install::\n\n    $ cd parsl # only if you didn't enter the top-level directory in step 2 above\n    $ python3 setup.py install\n\n4. Use Parsl!\n\nRequirements\n============\n\nParsl is supported in Python 3.9+. Requirements can be found `here \u003crequirements.txt\u003e`_. Requirements for running tests can be found `here \u003ctest-requirements.txt\u003e`_.\n\nCode of Conduct\n===============\n\nParsl seeks to foster an open and welcoming environment - Please see the `Parsl Code of Conduct \u003chttps://github.com/Parsl/parsl?tab=coc-ov-file#parsl-code-of-conduct\u003e`_ for more details.\n\nContributing\n============\n\nWe welcome contributions from the community. Please see our `contributing guide \u003chttps://github.com/Parsl/parsl/blob/master/CONTRIBUTING.rst\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParsl%2Fparsl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FParsl%2Fparsl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParsl%2Fparsl/lists"}