{"id":16421436,"url":"https://github.com/imankulov/time-series-caching","last_synced_at":"2025-03-23T07:32:03.161Z","repository":{"id":41499353,"uuid":"421763591","full_name":"imankulov/time-series-caching","owner":"imankulov","description":"Sample dashboard application to demonstrate practical time series caching with Python and Redis. The app shows a plot of all BTC transactions for a specific Bitcoin wallet in a specific date range.","archived":false,"fork":false,"pushed_at":"2021-10-27T11:17:19.000Z","size":57,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-18T18:45:39.580Z","etag":null,"topics":["elasticsearch","plotly-dash","python","redis","time-series"],"latest_commit_sha":null,"homepage":"https://roman.pt/posts/time-series-caching/","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/imankulov.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":"2021-10-27T09:55:23.000Z","updated_at":"2023-07-13T05:52:17.000Z","dependencies_parsed_at":"2022-07-09T15:03:07.748Z","dependency_job_id":null,"html_url":"https://github.com/imankulov/time-series-caching","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/imankulov%2Ftime-series-caching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imankulov%2Ftime-series-caching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imankulov%2Ftime-series-caching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imankulov%2Ftime-series-caching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imankulov","download_url":"https://codeload.github.com/imankulov/time-series-caching/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245071943,"owners_count":20556352,"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":["elasticsearch","plotly-dash","python","redis","time-series"],"created_at":"2024-10-11T07:33:03.726Z","updated_at":"2025-03-23T07:32:02.795Z","avatar_url":"https://github.com/imankulov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Time series caching\n\nSample dashboard application to demonstrate practical time series caching with Python and Redis. The app shows a plot of all BTC transactions for a specific Bitcoin wallet in a specific date range.\n\n\n![](./screenshot.png)\n\nSee [roman.pt/posts/time-series-caching/](https://roman.pt/posts/time-series-caching/) for more details and explanation of what's going on inside.\n\n\n## How to get started\n\nCreate a new virtual environment with Python3.9 or newer and install the dependencies.\n\n```shell\npython3.9 -m venv env\nsource env/bin/activate\npython -m pip install -r requirements.txt\n```\n\nCreate a new free account at https://www.anyblockanalytics.com/ that acts as the upstream data source.\n\nStart a local Redis server with Docker compose:\n\n```shell\ndocker-compose up\n```\n\nCopy .env.sample to .env and update the file with ElasticSearch requisites.\n\n```shell\ncp .env.sample .env\nedit .env\n```\n\nStart a new cron job populating the cache in the background\n\n```shell\npython ./app.py cron\n```\n\nStart a web server.\n\n```shell\npython ./app.py server\n```\n\nOpen the browser for the dashboard: http://127.0.0.1:8050/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimankulov%2Ftime-series-caching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimankulov%2Ftime-series-caching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimankulov%2Ftime-series-caching/lists"}