{"id":23032299,"url":"https://github.com/michaelfromorg/bereal-wrapped","last_synced_at":"2025-08-14T15:32:37.272Z","repository":{"id":214398532,"uuid":"736398483","full_name":"michaelfromyeg/bereal-wrapped","owner":"michaelfromyeg","description":"Generate a custom timelapse of all your memories from BeReal. (Fork from @theOneAndOnlyOne, huge shoutout for taking this on!)","archived":false,"fork":false,"pushed_at":"2024-08-13T06:22:13.000Z","size":91744,"stargazers_count":9,"open_issues_count":14,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-08-13T21:30:16.024Z","etag":null,"topics":["bereal","flask","python","react","recap","timelapse","typescript","wrapped"],"latest_commit_sha":null,"homepage":"http://bereal.michaeldemar.co/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"theOneAndOnlyOne/BeReel","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelfromyeg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"michaelfromyeg"}},"created_at":"2023-12-27T19:47:35.000Z","updated_at":"2024-08-13T04:40:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"e65822e9-095e-45ae-bb49-2cbf7d4c9b0f","html_url":"https://github.com/michaelfromyeg/bereal-wrapped","commit_stats":null,"previous_names":["michaelfromyeg/bereal-wrapped"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2Fbereal-wrapped","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2Fbereal-wrapped/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2Fbereal-wrapped/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2Fbereal-wrapped/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelfromyeg","download_url":"https://codeload.github.com/michaelfromyeg/bereal-wrapped/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229841505,"owners_count":18132565,"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":["bereal","flask","python","react","recap","timelapse","typescript","wrapped"],"created_at":"2024-12-15T15:51:53.448Z","updated_at":"2025-08-14T15:32:28.343Z","avatar_url":"https://github.com/michaelfromyeg.png","language":"Python","funding_links":["https://github.com/sponsors/michaelfromyeg"],"categories":[],"sub_categories":[],"readme":"# BeReal Wrapped\n\n**NOTE:** This is a fork of [BeReel](https://github.com/theOneAndOnlyOne/BeReel); please go give the original creator a star!\n\n(Below is mostly quoted; deployment instructions and edits, TBD, are new.)\n\nMiss the time-lapse recap feature from BeReal? Introducing BeReal Wrapped, a website (or CLI) interface to generate one.\n\n* Fetch memories for a specific year\n* Create a time-lapse that syncs with a `.wav` audio\n\n## Usage\n\nWays to use this project.\n\n### Web\n\nGo to [this](https://bereal.michaeldemar.co) URL.\n\n### CLI\n\nClone and set up the repository. (Instructions are below.)\n\nThen run `make cli` from the root.\n\nEventually, this may be repackaged into a `pip` install.\n\n### Docker (CLI)\n\nRun the following command, after launching Docker.\n\n```plaintext\ndocker pull michaelfromyeg/bereal-wrapped-cli\n\ndocker run -it --rm \\\n    -v /some/path/to/songs:/app/songs \\\n    -v /some/path/to/videos:/app/bereal/static/videos \\\n    --name bereal-wrapped-cli bereal-wrapped-cli\n```\n\nWhen it asks for a song path, you'll only be able to use `/app/content/song.wav`. I'm working on making it work with your local file system.\n\n## Development\n\nFollow these instructions to get your project up and running.\n\n### Prerequisites\n\nMake sure you have the following installed on your machine.\n\n* [Python](https://python.org/downloads/) 3.11\n* [pip](https://pip.pypa.io/en/stable/installation/)\n\nIf you are missing either (and are on macOS or Linux), run\n\n```plaintext\nbrew install python@3.11\n```\n\n### Development Setup\n\nFirst, create a virtual environment.\n\n```plaintext\npython3.11 -m venv env\n\nsource env/bin/activate\n```\n\nRun all required libraries and run the app:\n\n```bash\npip install --upgrade pip\npip install -r requirements/dev.txt\n\nmypy --install-types\n\nmake run\n```\n\nThe Flask app will be available on [http://localhost:5000](http://localhost:5000). Multiple folders will be created to pull image data from your memories.\n\n### Docker Setup\n\n#### Docker Setup, Web\n\nFirst, run `docker build -f Dockerfile -t bereal-wrapped-server .`.\n\nThen, run it locally with `docker run -p 5000:5000 -it --rm --name bereal-wrapped-server bereal-wrapped-server`.\n\n#### Docker Setup, CLI\n\nFirst, run `docker build -f Dockerfile.cli -t bereal-wrapped-cli .`.\n\nThen, run it locally with the following command.\n\n```plaintext\ndocker run -it --rm \\\n    -v /some/path/to/songs:/app/songs \\\n    -v /some/path/to/videos:/app/bereal/static/videos \\\n    --name bereal-wrapped-cli bereal-wrapped-cli\n\n# e.g.,\n\ndocker run -it --rm \\\n    -v ~/code/bereal-wrapped/content/songs:/app/songs \\\n    -v ~/code/bereal-wrapped/export:/app/bereal/static/videos \\\n    --name bereal-wrapped-cli bereal-wrapped-cli\n```\n\nTo push the image, do the following.\n\n```plaintext\ndocker tag bereal-wrapped-cli:latest michaelfromyeg/bereal-wrapped-cli:latest\n\ndocker push michaelfromyeg/bereal-wrapped-cli\n```\n\n### Deployment\n\nOpted for Digital Ocean. Cheap, easy, and supports `docker-compose`.\n\n### Project Structure\n\n* `main.py` the main flask app and drives webpage and API requests\n* `combine_images.py` processes photos to be used for the slideshow\n* `generate_slideshow.py` rendering time-lapse video and audio\n\n## Remarks\n\nThis project wouldn't be here without the amazing work by [chemokita13](https://github.com/chemokita13/beReal-api). Please give him a star.\n\nThis app is to be run **locally** as to comply with user security laws and privacy. Under no cases does this app store metadata elsewhere.\n\nThe app utilizes a third-party API which may not follow the terms and conditions set by BeReal; all videos and images produced from this app are to be considered personal use and should only use accounts owned by the user.\n\nIf BeReal has particular issues with this project, do not hesitate to reach out to myself or the downstream fork's creator.\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfromorg%2Fbereal-wrapped","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelfromorg%2Fbereal-wrapped","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfromorg%2Fbereal-wrapped/lists"}