{"id":29190589,"url":"https://github.com/fimo-org/fimo","last_synced_at":"2025-07-02T00:10:22.561Z","repository":{"id":289029437,"uuid":"969870871","full_name":"fimo-org/fimo","owner":"fimo-org","description":"FileMongo CLI Tools: Import, Export, Sync, and Archive Utilities","archived":false,"fork":false,"pushed_at":"2025-05-23T06:13:57.000Z","size":108,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-29T14:41:54.732Z","etag":null,"topics":["archive","csv","csv-export","csv-import","file","mongo","mongodb","mongodb-atlas","mongodb-database","sync","synchronization"],"latest_commit_sha":null,"homepage":"https://fimo.org","language":"Rust","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/fimo-org.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,"zenodo":null}},"created_at":"2025-04-21T04:28:25.000Z","updated_at":"2025-05-28T19:59:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"48b399fb-429f-4144-9ca0-325c623e9d6a","html_url":"https://github.com/fimo-org/fimo","commit_stats":null,"previous_names":["fimo-org/fimo","fimo-org/fimo-csv"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fimo-org/fimo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fimo-org%2Ffimo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fimo-org%2Ffimo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fimo-org%2Ffimo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fimo-org%2Ffimo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fimo-org","download_url":"https://codeload.github.com/fimo-org/fimo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fimo-org%2Ffimo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263052430,"owners_count":23406106,"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":["archive","csv","csv-export","csv-import","file","mongo","mongodb","mongodb-atlas","mongodb-database","sync","synchronization"],"created_at":"2025-07-02T00:10:21.947Z","updated_at":"2025-07-02T00:10:22.549Z","avatar_url":"https://github.com/fimo-org.png","language":"Rust","readme":"# fimo (File-Mongo) CLI Toolkit\n\n**fimo** is a modular, high-performance command-line toolkit written in Rust for importing, transforming, and synchronizing structured data with MongoDB. Built for developers, data engineers, and migration tasks, it enables robust data pipelines directly from the terminal.\n\n---\n\n## ✨ What is fimo?\n\nAt its core, `fimo` is a collection of CLI utilities for MongoDB workflows. Each binary targets a specific use case, but they all share a fast, extensible foundation with strong type safety, async performance, and developer-friendly configuration.\n\n---\n\n## 🚀 Available Tools\n\n| Binary       | Description                                                                 |\n|--------------|-----------------------------------------------------------------------------|\n| `fimo-csv`   | Import CSV files into MongoDB using YAML-based field mappings and templates |\n| `fimo-sync`  | Sync MongoDB documents across collections or environments incrementally     |\n\n---\n\n## 🧰 Use Cases\n\n- 🔁 Keep environments in sync using `fimo-sync` (e.g., staging → production)\n- 📥 Load flat files using `fimo-csv` for initial imports or ongoing feeds\n- ⚙️ Define repeatable transformations using Jinja2-style templates\n- 🧪 Perform safe, resumable batch operations using resume tokens or values\n\n---\n\n## 📦 Installation\n\nInstall from crates.io:\n\n```bash\ncargo install fimo\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/fimo-org/fimo.git\ncd fimo\ncargo build --release\n```\n\n---\n\n## 📂 Project Layout\n\n```text\nfimo/\n├── src/\n│   └── bin/\n│       ├── fimo-csv/       # fimo-csv binary: CSV to MongoDB importer\n│       └── fimo-sync/      # fimo-sync binary: document sync engine\n├── examples/               # Example input data and config\n├── tests/                  # Test harnesses\n├── Cargo.toml              # Multi-binary manifest\n```\n\n---\n\n## 📄 Tool Docs\n\n### [`fimo-csv`](./src/bin/fimo-csv)\n\n- High-throughput CSV importer\n- YAML mapping with full BSON type support\n- Supports transformations via MiniJinja\n- Ideal for ETL and data warehousing\n\n📍 [View `fimo-csv` documentation →](https://github.com/fimo-org/fimo/tree/main/src/bin/fimo-csv/README.md)\n\n---\n\n### [`fimo-sync`](./src/bin/fimo-sync)\n\n- Real-time or batch sync across MongoDB collections\n- Change stream and field-based sync modes\n- Resume-safe with `_id` disambiguation\n- Optional health file support for watchdogs\n\n📍 [View `fimo-sync` documentation →](https://github.com/fimo-org/fimo/tree/main/src/bin/fimo-sync/README.md)\n\n---\n\n## 🧩 Coming Soon\n\n### `fimo-archive`\n\nA new utility designed to move large volumes of archived MongoDB documents to external storage such as S3, Azure Blob, or GCS. It will support:\n\n- BSON/Extended JSON export\n- Filtered and range-based archival (e.g., by date)\n- Compatibility with cold storage solutions\n- Future support for rehydration into live collections\n\n---\n\n## 📈 Why fimo?\n\n- 🚀 **Rust-powered performance**\n- 🔐 **Typed BSON support**\n- 🧠 **Intelligent resume logic**\n- 🛠️ **Modular CLI design**\n- 🧪 **Tested on large-scale datasets**\n\nWhether you're importing 10,000 rows or syncing millions of documents, `fimo` helps you do it cleanly, reliably, and efficiently.\n\n---\n\n## 📜 License\n\nMIT © fimo.org — Built with ❤️ in Rust\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffimo-org%2Ffimo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffimo-org%2Ffimo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffimo-org%2Ffimo/lists"}