{"id":16389298,"url":"https://github.com/marcelog/epers","last_synced_at":"2025-07-22T14:02:57.795Z","repository":{"id":5056695,"uuid":"6218270","full_name":"marcelog/epers","owner":"marcelog","description":"A very simple persistance layer for Erlang applications for different DB's","archived":false,"fork":false,"pushed_at":"2013-11-12T11:01:20.000Z","size":235,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-22T14:02:15.116Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"eclipse/orion.client","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcelog.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}},"created_at":"2012-10-14T21:20:35.000Z","updated_at":"2019-01-23T09:14:46.000Z","dependencies_parsed_at":"2022-09-22T00:04:01.113Z","dependency_job_id":null,"html_url":"https://github.com/marcelog/epers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcelog/epers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2Fepers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2Fepers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2Fepers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2Fepers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelog","download_url":"https://codeload.github.com/marcelog/epers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelog%2Fepers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266507364,"owners_count":23940055,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10-11T04:32:17.490Z","updated_at":"2025-07-22T14:02:57.771Z","avatar_url":"https://github.com/marcelog.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WARNING\n\nThis repo is **deprecated**. Epers has now grown and is now called **sumo_db**, and can be found at the [Inaka github repository](https://github.com/inaka/sumo_db). This repo is kept for historical reasons.\n\n----\n\n# About\nThis is a work in progress. There's also [an article](http://marcelog.github.com/articles/erlang_persistence_entities.html) about epers.\n\n**epers** aims to ease db access for erlang applications. It offers a very\nsimple persistance layer capable of interacting with different db's, while\noffering a consistent api to your code.\n\n# Overview\n * epers gives you a standard way to define your db schema, no matter the \n db implementation (mongo, mysql, redis, etc).\n * Your entities encapsulate behavior in code (functions in module) and state\n into proplists.\n * epers is the main module. It translates to and from #epers_doc into your\n own state.\n * Each repo is a process *epers_repo* that calls the actual db driver\n (e.g: epers_repo_mysql).\n * Some native domain events are supported, that are dispatched through\n a gen_event:notify/2 automatically when an entity is created, updated, deleted.\n Also when a schema is created and when all entities of a given type are\n deleted. Events are described in [this article](http://marcelog.github.com/articles/erlang_epers_persist_entities_domain_events.html)\n \n# DB's supported\n * mysql (uses [emysql](https://github.com/Eonblast/Emysql))\n * mongodb (uses [emongo](https://github.com/JacobVorreuter/emongo))\n\n# In progress\n * redis (uses [eredis](https://github.com/wooga/eredis))\n * sqlite3 (uses [erlang-sqlite3](https://github.com/alexeyr/erlang-sqlite3))\n\n# Planned\n  * mnesia\n  * memory\n\n# Example\nSee: [**examples/blog**](https://github.com/marcelog/epers/tree/master/examples/blog)\nfor a full example. To run it, while being in the top level directory:\n\n    make all blog\n\n# TODO\n * Get rid of atoms and use lists.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelog%2Fepers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelog%2Fepers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelog%2Fepers/lists"}