{"id":16239117,"url":"https://github.com/jessebraham/siren","last_synced_at":"2025-03-19T16:31:19.057Z","repository":{"id":76242803,"uuid":"155441173","full_name":"jessebraham/siren","owner":"jessebraham","description":"Provides a basic API for sending email and SMS messages via HTTP requests","archived":true,"fork":false,"pushed_at":"2020-07-29T18:08:33.000Z","size":56,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T01:28:59.231Z","etag":null,"topics":["asgi","email","peewee","python","python3","sms","starlette","twilio","uvicorn"],"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/jessebraham.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-30T19:03:24.000Z","updated_at":"2024-10-25T16:44:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce20e61a-b4e1-493f-aa39-00db1ed2c5e0","html_url":"https://github.com/jessebraham/siren","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/jessebraham%2Fsiren","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessebraham%2Fsiren/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessebraham%2Fsiren/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jessebraham%2Fsiren/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jessebraham","download_url":"https://codeload.github.com/jessebraham/siren/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244463733,"owners_count":20456936,"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":["asgi","email","peewee","python","python3","sms","starlette","twilio","uvicorn"],"created_at":"2024-10-10T13:42:23.235Z","updated_at":"2025-03-19T16:31:19.052Z","avatar_url":"https://github.com/jessebraham.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Siren\n\n[![Build Status](https://travis-ci.org/jessebraham/siren.svg?branch=master)](https://travis-ci.org/jessebraham/siren)\n[![Coverage Status](https://coveralls.io/repos/github/jessebraham/siren/badge.svg?branch=master)](https://coveralls.io/github/jessebraham/siren?branch=master)\n\n__Siren__ provides a basic API for sending email and SMS messages via HTTP requests, authorized using [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). Email are sent via a user-configured SMTP server, and SMS are sent using [Twilio](https://www.twilio.com/). Additional services may be supported in the future; if you would like to see a service supported feel free to open an issue.\n\n\u003e __NOTE:__ `starlette` has yet to reach a `1.0` release, so this project will remain questionably stable until at least that point; do not use Siren for anything remotely important without first understanding the risks.\n\n- - -\n\n__Siren__ is built using the following packages:  \n[bcrypt](https://github.com/pyca/bcrypt/) | [peewee](https://github.com/coleifer/peewee) | [starlette](https://github.com/encode/starlette) | [twilio](https://github.com/twilio/twilio-python) | [uvicorn](https://github.com/encode/uvicorn)\n\nThe following packages are used for development and testing:  \n[black](https://github.com/ambv/black) | [faker](https://github.com/joke2k/faker) | [pytest](https://github.com/pytest-dev/pytest) | [pytest-cov](https://github.com/pytest-dev/pytest-cov)\n\n- - -\n\n## Quickstart\n\n__TODO:__ write me\n\n## Configuration\n\nConfiguration is done using Environment Variables, following [the twelve-factor pattern](https://12factor.net/config). An example configuration file can be found below.\n\n```bash\n# instance/.env\n#\n# Don't commit this to source control.\n# Eg. Include \".env\" in your `.gitignore` file.\n\nDEBUG=False\n\nTWILIO_ACCOUNT_SID=\"your-twilio-account-sid\"\nTWILIO_AUTH_TOKEN=\"your-twilio-auth-token\"\nTWILIO_FROM_NUMBER=\"+18005551234\"\n\nSIREN_SMTP_HOST=\"smtp.example.com\"\nSIREN_SMTP_PORT=587\nSIREN_SMTP_USERNAME=\"you@example.com\"\nSIREN_SMTP_PASSWORD=\"your-smtp-password\"\nSIREN_SMTP_FROM_ADDR=\"you@example.com\"\n```\n\n## Endpoints\n\n__Siren__ exposes the following endpoints:\n\n| Method | Route         | Parameters                   |\n|:-------|:--------------|:-----------------------------|\n| `POST` | `/send/email` | `{ to_addr, subject, body }` |\n| `POST` | `/send/sms`   | `{ to_addr, body }`          |\n\nA username and password must be supplied, as _all_ requests are authenticated using [HTTP Basic Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). To send an SMS message using `curl`, run:\n\n```bash\n$ curl -X POST \\\n  http://user:password@localhost:8000/send/sms \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"to_addr\": \"+12223334444\", \"body\": \"Science!\" }'\n```\n\n## License\n\n__Siren__ is released under the MIT License. See the bundled [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessebraham%2Fsiren","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjessebraham%2Fsiren","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessebraham%2Fsiren/lists"}