{"id":40542700,"url":"https://github.com/ahen-studio/skypy-db","last_synced_at":"2026-02-01T03:00:42.795Z","repository":{"id":333157833,"uuid":"1136398325","full_name":"Ahen-Studio/skypy-db","owner":"Ahen-Studio","description":"Open Source Reactive Database","archived":false,"fork":false,"pushed_at":"2026-01-31T00:00:31.000Z","size":633,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-31T12:32:36.219Z","etag":null,"topics":["cli","database","open-source","python"],"latest_commit_sha":null,"homepage":"https://ahen.mintlify.app/","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/Ahen-Studio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-17T16:11:59.000Z","updated_at":"2026-01-31T00:00:35.000Z","dependencies_parsed_at":"2026-01-24T02:01:15.876Z","dependency_job_id":null,"html_url":"https://github.com/Ahen-Studio/skypy-db","commit_stats":null,"previous_names":["ahen-studio/ahen-db"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Ahen-Studio/skypy-db","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahen-Studio%2Fskypy-db","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahen-Studio%2Fskypy-db/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahen-Studio%2Fskypy-db/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahen-Studio%2Fskypy-db/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ahen-Studio","download_url":"https://codeload.github.com/Ahen-Studio/skypy-db/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahen-Studio%2Fskypy-db/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28965436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T02:14:24.993Z","status":"ssl_error","status_checked_at":"2026-02-01T02:13:55.706Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","database","open-source","python"],"created_at":"2026-01-20T23:13:01.841Z","updated_at":"2026-02-01T03:00:42.756Z","avatar_url":"https://github.com/Ahen-Studio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003e\u003cdiv align=\"center\"\u003e\n \u003cimg alt=\"Skypy\" width=\"auto\" height=\"auto\" src=\"https://github.com/amichyrpi/skypy-db/blob/main/docs/logo/dark.svg#gh-light-mode-only\"\u003e\n \u003cimg alt=\"Skypy\" width=\"auto\" height=\"auto\" src=\"https://github.com/amichyrpi/skypy-db/blob/main/docs/logo/dark.svg#gh-dark-mode-only\"\u003e\n\u003c/div\u003e\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cb\u003eSkypy - open-source reactive database\u003c/b\u003e. \u003cbr /\u003e\n    The better way to build Python logging system!\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Ahen-Studio/skypy-db/blob/main/LICENSE\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\" alt=\"License\"\u003e\n  \u003c/a\u003e |\n  \u003ca\u003e\n      \u003cimg src=\"https://img.shields.io/coderabbit/prs/github/Ahen-Studio/skypy-db?utm_source=oss\u0026utm_medium=github\u0026utm_campaign=Ahen-Studio%2Fskypy-db\u0026labelColor=171717\u0026color=FF570A\u0026link=https%3A%2F%2Fcoderabbit.ai\u0026label=CodeRabbit+Reviews\"\n  \u003c/a\u003e |\n  \u003ca href=\"https://ahen.mintlify.app/\" target=\"_blank\"\u003e\n      Docs\n  \u003c/a\u003e\n\u003c/p\u003e\n\n```bash\npip install skypydb # python client\n# or download from the source\n# git clone https://github.com/Ahen-Studio/skypy-db.git\n# cd skypy-db\n# pip install -r requirements.txt\n```\n\n## Features\n\n- Simple: fully-documented\n\n- Table: create, delete data from a table\n\n- Cli: command line interface for managing the database\n\n- Observable: Dashboard with real-time data, metrics, and query inspection\n\n- Free \u0026 Open Source: MIT Licensed\n\n## TODO\n\n- [x] code the database backend\n- [ ] Create the dashboard using Reflex\n- [ ] write the documentation\n- [ ] improve user data security\n- [ ] code a custom cli\n\n## What's next!\n\n- give us ideas!\n\n## API\n\n- use the api with a custom config\n\n```python\nimport skypydb\n\n# setup skypydb client.\nclient = skypydb.Client(path=\"./data/skypy.db\", auto_start_dashboard=False)\n\n# config to make custom table.\nconfig = {\n    \"all-my-documents\": {\n        \"title\": \"str\",\n        \"user_id\": str,\n        \"content\": str,\n        \"id\": \"auto\"\n    },\n    \"all-my-documents1\": {\n        \"title\": \"str\",\n        \"user_id\": str,\n        \"content\": str,\n        \"id\": \"auto\"\n    },\n    \"all-my-documents2\": {\n        \"title\": \"str\",\n        \"user_id\": str,\n        \"content\": str,\n        \"id\": \"auto\"\n    },\n}\n\n# Create tables. get_table_from_config(config, table_name=\"all-my-documents\"), delete_table_from_config(config, table_name=\"all-my-documents\") are also available.\ntry:\n    table = client.create_table_from_config(config)# Create all the tables present in the config.\nexcept Exception:\n    # Tables already exist, that's fine\n    pass\n\n# Retrieve the table before adding any data.\ntable = client.get_table_from_config(config, table_name=\"all-my-documents\")\n\n# Add data to a table.\ntable.add(\n    title=[\"document\"],\n    user_id=[\"user123\"],\n    content=[\"this is a document\"],\n    id=[\"auto\"]# ids are automatically created by the backend.\n)\n\n# Blocking start (keeps dashboard running)\nclient.start_dashboard(block=True)\n```\n\n- use the api without a custom config\n\n```python\nimport skypydb\n\n# setup skypydb client.\nclient = skypydb.Client(path=\"./data/skypy.db\", auto_start_dashboard=False)\n\n# Create table. get_table, delete_table are also available.\ntry:\n    table = client.create_table(\"all-my-documents\")\nexcept Exception:\n    # Tables already exist, that's fine\n    pass\n\n# Retrieve the table before adding any data.\ntable = client.get_table(\"all-my-documents\")\n\n# Add data to the table.\ntable.add(\n    title=[\"document\"],\n    user_id=[\"user123\"],\n    content=[\"this is a document\"],\n    id=[\"auto\"]# ids are automatically created by the backend\n)\n\n# Blocking start (keeps dashboard running)\nclient.start_dashboard(block=True)\n```\n\n## Dashboard\n\nStart the dashboard to view your data in real time. It will remain active after your operations:\n\n```python\nimport skypydb\n\n# Dashboard will auto-start in non-blocking mode by default\nclient = skypydb.Client(path=\"./data/skypy.db\")\n\n# Or explicitly disable auto-start and start it later with blocking mode\nclient = skypydb.Client(path=\"./data/skypy.db\", auto_start_dashboard=False)\n\n# ... your operations here ...\n\n# Start the Dashboard (blocking mode keeps it running)\nclient.start_dashboard(block=True)  # Dashboard accessible at http://127.0.0.1:3000\n```\n\n**Dashboard options:**\n\n```python\n# Change the dashboard port\nclient = skypydb.Client(\n    path=\"./data/skypy.db\",\n    dashboard_port=8080,# Change the port of the dashboard\n    auto_start_dashboard=False\n)\n\n# ... your operations here ...\n\n# Start the Dashboard in blocking mode (keeps the program running)\nclient.start_dashboard(block=True)\n\n# Or use non-blocking mode to continue with other operations\nclient.start_dashboard(block=False)\n```\n\n```python\n# Disable auto-start\nclient = skypydb.Client(\n    path=\"./data/skypy.db\",\n    auto_start_dashboard=False\n)\n\n# Start manually later\nclient.start_dashboard(block=False)\n\n# Kill the dashboard later\nclient.stop_dashboard()\n```\n\nLearn more on our [Docs](https://ahen.mintlify.app/)\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahen-studio%2Fskypy-db","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahen-studio%2Fskypy-db","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahen-studio%2Fskypy-db/lists"}