{"id":27788054,"url":"https://github.com/schell/potency","last_synced_at":"2025-04-30T16:53:34.468Z","repository":{"id":286505835,"uuid":"961603812","full_name":"schell/potency","owner":"schell","description":"Rust durability and synchronization engine","archived":false,"fork":false,"pushed_at":"2025-04-08T02:22:33.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T16:53:31.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-06T21:05:51.000Z","updated_at":"2025-04-08T02:22:36.000Z","dependencies_parsed_at":"2025-04-06T22:22:51.337Z","dependency_job_id":"74ad6888-c591-4b84-9ee1-600f79a0a1a7","html_url":"https://github.com/schell/potency","commit_stats":null,"previous_names":["schell/potency"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fpotency","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fpotency/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fpotency/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Fpotency/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schell","download_url":"https://codeload.github.com/schell/potency/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251748921,"owners_count":21637412,"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":"2025-04-30T16:53:33.805Z","updated_at":"2025-04-30T16:53:34.456Z","avatar_url":"https://github.com/schell.png","language":"Rust","readme":"# potency\n`potency` is a bare-bones durability and synchronization library meant to aid in writing idempotent processes without having to think too much.\n\nFor some background on durability, check out: \n\nhttps://flawless.dev/docs/\n\nThe idea is roughly that the results of certain \"expensive\" and fallible processes are cached with a key known by your code, based on namespaces and input parameters. \nBefore running an expensive fallible process, the cache is queried by this known key and if the cache is hit, the result is read out of the cache instead of being computed.\n\n`potency` offers some type-level machinery to abstract over multiple persistance layers as well as support for multi-colored functions (sync and async). Keep in mind the \nruntime itself is asynchronous, but sync functions can be used as the \"process\".\n\n## goals\n\n* replace bespoke persistance and idempontency processes with `potency`+ your raw operations\n* cache/storage support for\n  - [x] in memory\n  - [x] sqlite\n  - [ ] AWS Dynamo DB\n  - [ ] Postgres\n* [ ] replicate / sync storages\n* multi-color support\n  - [x] sync\n  - [x] async\n* [ ] easy key generation\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Fpotency","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschell%2Fpotency","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Fpotency/lists"}