{"id":16346445,"url":"https://github.com/milesgranger/brutus","last_synced_at":"2026-04-30T01:32:47.149Z","repository":{"id":50209318,"uuid":"75959707","full_name":"milesgranger/brutus","owner":"milesgranger","description":"Distributed Computing Framework using AWS Lambda","archived":false,"fork":false,"pushed_at":"2022-12-07T23:48:40.000Z","size":67,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T22:19:26.593Z","etag":null,"topics":["amazon-lambda","aws","aws-lambda","distributed","distributed-computing","lambda","python","python3","serverless"],"latest_commit_sha":null,"homepage":"","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/milesgranger.png","metadata":{"files":{"readme":"README.md","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":"2016-12-08T17:25:52.000Z","updated_at":"2022-10-21T23:21:32.000Z","dependencies_parsed_at":"2023-01-25T00:30:20.914Z","dependency_job_id":null,"html_url":"https://github.com/milesgranger/brutus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milesgranger%2Fbrutus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milesgranger%2Fbrutus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milesgranger%2Fbrutus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milesgranger%2Fbrutus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milesgranger","download_url":"https://codeload.github.com/milesgranger/brutus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247176003,"owners_count":20896384,"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":["amazon-lambda","aws","aws-lambda","distributed","distributed-computing","lambda","python","python3","serverless"],"created_at":"2024-10-11T00:35:22.560Z","updated_at":"2026-04-30T01:32:42.129Z","avatar_url":"https://github.com/milesgranger.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# brutus\nHTTP/TCP Distributed Computing Framework in Python  \nusing Amazon Lambda functions\n\nIt's simple and it's powerful.\n\n--- \n\nWorking prototype, still under development. \nNot suitable for anything other than exploring, making suggestions/issues.\n\n---\n\n### Requirements  \n- Python 3.6 (Lambda is either 2.7 or 3.6)  \n  you can attempt to use a different local version, but the lambda version  \n  will be Python 3.6\n  \n- Docker installed with ability to write to this packages location.  \n  (Packages are built within a Amazon Linux container, required by Lambda)\n\n---\n\n### Is this package a good fit for you?\n\nUses Amazon Lambda to distribute workloads  \n\n- Benefits\n    - Serverless workers\n    - Pay for what you use\n    - **Extremely** scalable!\n    \n- Down sides:\n    - Changing local env requires updating remote lambda env\n    - Long running functions (\u003e ~3-4 mins) are not suitable\n    - Lots of I/O http/tcp traffic\n    - I like Anaconda as much as the next guy, but as of now  \n      it is not supported. All packages must be `pip` installable.\n\n```python\nfrom brutus import distribute, Client\n\n# max of 1000 simultaneous Lambda functions,\nlambda_backend\nClient(max_workers=1000,\n       requirements=['pandas=20.1', 'numpy=1.13']  # or file path to pip freeze file\n       )\n\n@distribute\ndef adder(x):\n    time.sleep(random.random())\n    return x\n\n@distribute\ndef times_2(x):\n    time.sleep(random.random())\n    return x * 2\n    \n@distribute\ndef divide(x):\n    time.sleep(random.random())\n    return x / 2.\n\nresults = map(adder, range(5))\nresults = map(times_2, results)\nresults = map(divide, results))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilesgranger%2Fbrutus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilesgranger%2Fbrutus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilesgranger%2Fbrutus/lists"}