{"id":24365921,"url":"https://github.com/evangelosmeklis/peepdb","last_synced_at":"2025-09-29T02:31:25.266Z","repository":{"id":253959192,"uuid":"845021011","full_name":"PeepDB-dev/peepdb","owner":"PeepDB-dev","description":"CLI tool and python library to inspect databases fast.","archived":false,"fork":false,"pushed_at":"2025-01-12T16:41:07.000Z","size":897,"stargazers_count":426,"open_issues_count":17,"forks_count":16,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-12T17:20:59.880Z","etag":null,"topics":["backend-as-a-service","cli","daatabase","database-as-a-service","database-management","developer-tools","nosql","open-source","python","python3","serverless","sql"],"latest_commit_sha":null,"homepage":"https://docs.peepdb.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PeepDB-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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-08-20T12:32:48.000Z","updated_at":"2025-01-12T16:27:03.000Z","dependencies_parsed_at":"2024-10-31T15:27:36.162Z","dependency_job_id":"30b64321-0e5f-4b4f-bd05-ebf94c112b92","html_url":"https://github.com/PeepDB-dev/peepdb","commit_stats":null,"previous_names":["evangelosmeklis/peepdb"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeepDB-dev%2Fpeepdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeepDB-dev%2Fpeepdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeepDB-dev%2Fpeepdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PeepDB-dev%2Fpeepdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PeepDB-dev","download_url":"https://codeload.github.com/PeepDB-dev/peepdb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234579640,"owners_count":18855639,"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":["backend-as-a-service","cli","daatabase","database-as-a-service","database-management","developer-tools","nosql","open-source","python","python3","serverless","sql"],"created_at":"2025-01-19T00:03:02.989Z","updated_at":"2025-09-29T02:31:25.260Z","avatar_url":"https://github.com/PeepDB-dev.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# peepDB\n\n**peepDB** is an open-source command-line tool and Python library designed for developers and database administrators who need a fast and efficient way to inspect their database tables without writing SQL queries. With support for MySQL, PostgreSQL, MariaDB, SQLite, MongoDB, Firebase, MSSQL and OracleDB. peepDB is lightweight, secure, and incredibly easy to use.\n\n## 🚀 Features\n\n- **Multi-Database Support**: Works with MySQL, PostgreSQL, MariaDB, SQLite, MongoDB, MSSQL, OracleDB, and Firebase.\n- **Quick Data Inspection**: View all tables or a specific table with a simple command.\n- **User-Friendly CLI**: Easy-to-use command-line interface powered by Click.\n- **Secure Local Storage**: Securely store database connection details with encryption on your local machine.\n- **Lightweight**: Minimal footprint, designed for speed.\n- **Formatted Output**: View data in a clean, formatted table or JSON format.\n- **Pagination**: Efficiently handle large datasets by viewing data in manageable chunks.\n\n## 🎬 peepDB in Action\n\nHere's a quick demonstration of peepDB:\n\n![peepDB Demo](images/demo.gif)\n\n## 🖼️ peepDB stills\n\n![peepDB example 2](images/peepdb_example2.png)\n\n\u003e **Note:** The above image reflects the commands used in the official release (v0.1.3)\n\n## 📦 Installation\n\nYou can install peepDB directly from PyPI:\n\n```bash\npip install peepdb\n```\n\n## 🛠️ Usage\n\npeepDB uses a command-based structure for easier and more intuitive use. Here are the main commands with examples:\n\n### 1. Save Your Database Connection Details\n\nFor SQLite:\n```bash\npeepdb save mydb --db-type sqlite --host /path/to/mydb.sqlite --database mydb\n```\n\nFor other databases:\n```bash\npeepdb save \u003cconnection_name\u003e --db-type [mysql/postgres/mariadb/mongodb/mssql/firebase] --host \u003chost\u003e --user \u003cuser\u003e --password \u003cpassword\u003e --database \u003cdatabase\u003e\n```\n\n**Important Note on Password Handling:**\nThe password is required as a command-line argument. While this is convenient for scripting, it's important to note that this method can be insecure as the password may be visible in your command history or to other users who can view your screen or process list.\n\nExample:\n```bash\npeepdb save myapp_db --db-type mysql --host localhost --user root --password my_secure_password --database myapp\n```\n\nFor improved security, consider using environment variables or a configuration file to store sensitive information like passwords.\n\n### 2. List Saved Connections\n\n```bash\npeepdb list\n```\n\nExample output:\n```\nSaved connections:\n- myapp_db (mysql)\n- analytics_db (postgres)\n```\n\n### 3. View Tables\n\nView all tables:\n```bash\npeepdb view \u003cconnection_name\u003e\n```\n\nView a specific table:\n```bash\npeepdb view \u003cconnection_name\u003e --table \u003ctable_name\u003e\n```\n\nExample:\n```bash\npeepdb view myapp_db --table users\n```\n\nOutput:\n```\nTable: users\n+----+----------+----------------------+\n| id | username |        email         |\n+====+==========+======================+\n|  1 | johndoe  | johndoe@example.com  |\n|  2 | janedoe  | janedoe@example.com  |\n+----+----------+----------------------+\nPage 1 of 1 (Total rows: 2)\n```\n\n### 4. Pagination\n\nUse pagination to handle large datasets:\n```bash\npeepdb view \u003cconnection_name\u003e --table \u003ctable_name\u003e --page \u003cpage_number\u003e --page-size \u003crows_per_page\u003e\n```\n\nExample:\n```bash\npeepdb view myapp_db --table users --page 2 --page-size 50\n```\n\n### 5. Choose Output Format\n\nGet output in JSON format:\n```bash\npeepdb view \u003cconnection_name\u003e --format json\n```\n\nExample:\n```bash\npeepdb view myapp_db --table users --format json\n```\n\nOutput:\n```json\n{\n  \"users\": {\n    \"data\": [\n      {\"id\": 1, \"username\": \"johndoe\", \"email\": \"johndoe@example.com\"},\n      {\"id\": 2, \"username\": \"janedoe\", \"email\": \"janedoe@example.com\"}\n    ],\n    \"page\": 1,\n    \"total_pages\": 1,\n    \"total_rows\": 2\n  }\n}\n```\n\n### 6. Remove Saved Connections\n\nRemove a specific connection:\n```bash\npeepdb remove \u003cconnection_name\u003e\n```\n\nRemove all connections:\n```bash\npeepdb remove-all\n```\n\n## 🔒 Security\n\npeepDB implements several security measures to protect your database connection details:\n\n1. **Local Storage**: All connection details are stored locally on your machine, not on any remote servers.\n2. **Encryption**: Connection details are encrypted before being stored, using the cryptography library.\n3. **Caution with Passwords**: While passwords are accepted as command-line arguments for convenience, users should be cautious about using this method in shared environments or situations where command history might be accessible to others.\n\n## 🤝 Contributing\n\nContributions to peepDB are welcome! Please refer to our [Contributing Guide](CONTRIBUTING.md) for more information.\n\n## 📜 License\n\nDistributed under the GNU General Public License Version 3. See the [LICENSE](LICENSE) file for more details.\n\n## 📚 Documentation\n\nFor more detailed documentation, please visit our [GitHub Pages](https://peepdb.dev/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevangelosmeklis%2Fpeepdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevangelosmeklis%2Fpeepdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevangelosmeklis%2Fpeepdb/lists"}