{"id":22138196,"url":"https://github.com/davidk20/firebase-scripts","last_synced_at":"2026-05-05T11:31:42.203Z","repository":{"id":244879333,"uuid":"792017456","full_name":"Davidk20/firebase-scripts","owner":"Davidk20","description":"Utility scripts to quickly interact with and update Firestore databases","archived":false,"fork":false,"pushed_at":"2024-09-16T15:47:23.000Z","size":16,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-05T07:17:35.878Z","etag":null,"topics":["firebase","firebase-firestore","json","python","utility"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Davidk20.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-25T20:15:05.000Z","updated_at":"2024-06-18T00:32:49.000Z","dependencies_parsed_at":"2024-06-18T03:42:04.947Z","dependency_job_id":"4f7246ec-09de-4c23-bf04-de0d41267c7c","html_url":"https://github.com/Davidk20/firebase-scripts","commit_stats":null,"previous_names":["davidk20/firebase-scripts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Davidk20/firebase-scripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davidk20%2Ffirebase-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davidk20%2Ffirebase-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davidk20%2Ffirebase-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davidk20%2Ffirebase-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Davidk20","download_url":"https://codeload.github.com/Davidk20/firebase-scripts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Davidk20%2Ffirebase-scripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272117440,"owners_count":24876404,"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-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["firebase","firebase-firestore","json","python","utility"],"created_at":"2024-12-01T20:09:00.797Z","updated_at":"2026-05-05T11:31:42.155Z","avatar_url":"https://github.com/Davidk20.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cH1\u003efirebase-scripts\u003c/h1\u003e\n\n\u003cimg src=\"https://img.shields.io/badge/firebase-%23039BE5.svg?style=for-the-badge\u0026logo=firebase\" alt=\"firebase logo\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54\" alt=\"python logo\"/\u003e\n\nA set of utility scripts to quickly interact with Firebase Firestore databases.\n\u003c/div\u003e\n\n## Key Features\n\n- Validate JSON files\n- Convert CSV files to JSON objects\n- Upload JSON files as docs to Firebase\n\n## Setup\n\n### Configure Environment\n\n```bash\npython3 -m venv venv \n# MacOS / Linux\nsource venv/bin/activate\n# CMD\nvenv/Scripts/activate.bat\n# Powershell\nvenv/Scripts/Activate.ps1\n\n# Install requirements\npip install -r requirements.txt\n```\n\n#### [Firebase Emulator][firebase-emulator]\n\nIt is possible for this script to be used with Firebase Emulator so that test environments can be setup or the data can be validated before uploading to Firebase.\n\nTo configure Firebase Emulator:\n\n```bash\n# Initialise Firebase Emulators\nfirebase init emulators\n# Start Emulator\nfirebase emulators:start\n# OPTIONAL - run the emulator whilst saving state\nfirebase emulators:start --import .env --export-on-exit .env\n```\n\nTo configure the script for working with the Firebase Emulator, create a `.env` file at the root of the project and add the following line:\n\n```bash\nexport FIRESTORE_EMULATOR_HOST=\"127.0.0.1:8080\"\n```\n\nWhere the IP address corresponds to the one configured in the emulator.\n\n## Usage\n\n```\n❯ python3 main.py\nusage: main.py [-h] [-d] [-f FILE] [-k KEY] [-e] [-c COLLECTION] {validate,upload}\n\nA set of utility scripts to quickly interact with Firebase Firestore databases.\n\npositional arguments:\n  {validate,upload}     validate = Validate the JSON, upload = Write the JSON to firestore,\n\noptions:\n  -h, --help            show this help message and exit\n  -d, --duplicate       Allow duplicate entries\n  -f FILE, --file FILE  The file path to the JSON data.\n  -k KEY, --key KEY     Path to the Firebase Service Key.\n  -c COLLECTION, --collection COLLECTION\n                        The collection to upload the data to.\n\nUpload Options:\n  -e, --emulator        Use Firebase Emulator\n```\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[firebase-emulator]: https://firebase.google.com/docs/emulator-suite","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidk20%2Ffirebase-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidk20%2Ffirebase-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidk20%2Ffirebase-scripts/lists"}