{"id":15107625,"url":"https://github.com/jvdsandt/pharo-aws-toolbox","last_synced_at":"2026-03-15T06:36:01.074Z","repository":{"id":52685405,"uuid":"162630831","full_name":"jvdsandt/pharo-aws-toolbox","owner":"jvdsandt","description":"Support library for using AWS from Pharo Smalltalk and for creating Lambda functions written in Pharo Smalltalk","archived":false,"fork":false,"pushed_at":"2022-10-09T15:01:31.000Z","size":198,"stargazers_count":24,"open_issues_count":2,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-30T17:11:17.459Z","etag":null,"topics":["aws","aws-cloudwatch-logs","aws-lambda","aws-s3","aws-sqs","pharo","pharo-smalltalk","smalltalk"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","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/jvdsandt.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":"2018-12-20T21:00:07.000Z","updated_at":"2024-10-09T19:14:48.000Z","dependencies_parsed_at":"2023-01-19T17:04:09.751Z","dependency_job_id":null,"html_url":"https://github.com/jvdsandt/pharo-aws-toolbox","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/jvdsandt%2Fpharo-aws-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdsandt%2Fpharo-aws-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdsandt%2Fpharo-aws-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvdsandt%2Fpharo-aws-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvdsandt","download_url":"https://codeload.github.com/jvdsandt/pharo-aws-toolbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237769067,"owners_count":19363250,"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":["aws","aws-cloudwatch-logs","aws-lambda","aws-s3","aws-sqs","pharo","pharo-smalltalk","smalltalk"],"created_at":"2024-09-25T21:40:29.217Z","updated_at":"2025-10-23T02:31:20.176Z","avatar_url":"https://github.com/jvdsandt.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pharo AWS Toolbox\n\n[![Build Status](https://travis-ci.org/jvdsandt/pharo-aws-toolbox.svg?branch=master)](https://travis-ci.org/jvdsandt/pharo-aws-toolbox)\n\nThis project contains packages to interact with various Amazon Web Services. Currently the following functionality is provided:\n\n- Build Lambda functions using Pharo Smalltalk\n- Writing log events to the CloudWatch Logs service\n- Access to the Amazon Simple Storage Service (S3) - only a part of api is implemented yet\n- [Access to the Amazon Simple Queue Service](doc/using-sqs.md) (SQS)\n\n## Pharo Lambda Runtime\n\nWith [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) you can run code in the cloud without \nsetting up any kind of server. AWS Lamda has build in support for some common programming languages but also supports\ncustom runtimes. With the Pharo Lambda runtime you can implement Lambda functions in Pharo Smalltalk. It consists of a\nlayer with the Smalltalk VM and a small support library for communicating with the Lambda Runtime API.\n\nPharo Smalltalk is a pretty efficient environment to implement Lambda functions. Functions implemented in Smalltalk \nnormally don't need more than 256MB of memory to execute. This means that you can execute a million function \ncalls for [free](https://aws.amazon.com/lambda/pricing/) each month.\n\nFor more details see [Pharo Lambda Runtime](doc/pharo-lambda-runtime.md).\n\n## Installation\n\nYou can load the Pharo AWS Toolbox using Metacello:\n\n```Smalltalk\nMetacello new\n  repository: 'github://jvdsandt/pharo-aws-toolbox/repository';\n  baseline: 'AWSToolbox';\n  load.\n```\n\n#### Dependencies\n\nPharo AWS Toolbox has the following dependencies:\n- [NeoJSON](https://github.com/svenvc/NeoJSON) - Used for reading and writing JSON data.\n- [XML-XMLParser](https://github.com/pharo-contributions/XML-XMLParser) - The SQS service uses XML for request and response messages.\n\n## Working with AWS Credentials\n\nTo make requests to Amazon Web Services, you must supply AWS credentials. You can use the class AWSEnvironment to access the credentials and region information stored on your computer. It can read your credentials and region name from standard AWS environment variables:\n* AWS_ACCESS_KEY_ID / AWS_ACCESS_KEY\n* AWS_SECRET_KEY\n* AWS_SESSION_TOKEN\n* AWS_DEFAULT_REGION\n\nAnother possibility is to read the credentails from standard AWS credentials file ~/.aws/credentials and the region name from ~/.aws/config\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvdsandt%2Fpharo-aws-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvdsandt%2Fpharo-aws-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvdsandt%2Fpharo-aws-toolbox/lists"}