{"id":18482464,"url":"https://github.com/louis030195/firebase-data","last_synced_at":"2025-07-30T21:10:07.517Z","repository":{"id":57429702,"uuid":"399411493","full_name":"louis030195/firebase-data","owner":"louis030195","description":"Easily manage data between Firebase projects.","archived":false,"fork":false,"pushed_at":"2022-02-14T17:53:27.000Z","size":17,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T03:29:01.320Z","etag":null,"topics":["cloud","firebase","google-cloud"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/firebase-data/","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/louis030195.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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-08-24T09:41:50.000Z","updated_at":"2022-09-15T11:57:58.000Z","dependencies_parsed_at":"2022-08-26T04:42:40.288Z","dependency_job_id":null,"html_url":"https://github.com/louis030195/firebase-data","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis030195%2Ffirebase-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis030195%2Ffirebase-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis030195%2Ffirebase-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louis030195%2Ffirebase-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/louis030195","download_url":"https://codeload.github.com/louis030195/firebase-data/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247892315,"owners_count":21013683,"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":["cloud","firebase","google-cloud"],"created_at":"2024-11-06T12:28:37.430Z","updated_at":"2025-04-08T17:31:07.821Z","avatar_url":"https://github.com/louis030195.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# firebase-data\n[![pypi](https://img.shields.io/pypi/v/firebase-data.svg)](https://pypi.python.org/pypi/firebase-data)\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/louis030195/firebase-data/blob/master/notebook/firebase_data_getting_started.ipynb)\n[![Try it on gitpod](https://img.shields.io/badge/try-on%20gitpod-brightgreen.svg)](https://gitpod.io/#https://github.com/louis030195/firebase-data)\n\nEasily transfer data between firebase projects.\n\n⚠️ This package is still in early development. Read the code before running (especially on production environments).\n\n## Why another Firebase data management tool\n\n- Existing ones don't provide features to handle inter-project data management.\n- Official solution does not allow eu/us data movement\n\n## Install\n\n`pip install firebase-data`\n\n## Usage\n\n### Export collection\n\n```bash\nfdata export --service_account_path=./svc.dev.json --collection=foos --output_path=./data\n```\n\n### Import collection\n\n```bash\nfdata import --service_account_path=./svc.prod.json --collection=foos --input_path=./data\n```\n\n### Export authentication\n\n```bash\nfdata auth:export --service_account_path=./svc.dev.json --output_path=./data\n```\n\n### Delete\n\nNo need to reinvent the wheel here, use firebase-cli.\n\n```bash\nexport GOOGLE_APPLICATION_CREDENTIALS=./svc.dev.json\nfirebase use my-project\nfirebase firestore:delete foos --recursive\n```\n\n## Warning\n\n- Not optimized for large collections (your PC will explose)\n- Only one collection depth, i.e. foos/{fooId}/bars/{barId}\n\n\n## TODOS\n\n- [x] import/export Firestore (depth one)\n- [x] export Firebase authentication\n- [x] delete Firebase collection\n- [ ] import Firebase authentication\n- [ ] use transactions\n- [ ] parallelize/optimize\n- [ ] import+export as single call\n- [ ] other firebase data\n\n## Development\n\n### Install\n\n```bash\nfirebase login\nfirebase init\n```\n\n### How to release\n\n1. Update version in `setup.py`\n2. `git add .`\n3. `git commit -m \"my message\"`\n4. `git push`\n5. `git tag v1.0.0`\n6. `git push origin v1.0.0`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouis030195%2Ffirebase-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flouis030195%2Ffirebase-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouis030195%2Ffirebase-data/lists"}