{"id":42879677,"url":"https://github.com/bearaujus/bdatamatrix","last_synced_at":"2026-01-30T14:27:59.257Z","repository":{"id":278816096,"uuid":"936734307","full_name":"bearaujus/bdatamatrix","owner":"bearaujus","description":"Structured Tabular Data Management in Go","archived":false,"fork":false,"pushed_at":"2025-11-01T10:57:38.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-22T18:21:44.058Z","etag":null,"topics":["data","go","golang","matrix"],"latest_commit_sha":null,"homepage":"https://github.com/bearaujus/bdatamatrix","language":"Go","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/bearaujus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-21T15:40:42.000Z","updated_at":"2025-11-01T10:56:38.000Z","dependencies_parsed_at":"2025-02-21T21:46:36.124Z","dependency_job_id":"cbbec12d-dcd6-4846-882c-290401f4a809","html_url":"https://github.com/bearaujus/bdatamatrix","commit_stats":null,"previous_names":["bearaujus/bdatamatrix"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bearaujus/bdatamatrix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearaujus%2Fbdatamatrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearaujus%2Fbdatamatrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearaujus%2Fbdatamatrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearaujus%2Fbdatamatrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bearaujus","download_url":"https://codeload.github.com/bearaujus/bdatamatrix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bearaujus%2Fbdatamatrix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28914146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"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":["data","go","golang","matrix"],"created_at":"2026-01-30T14:27:58.464Z","updated_at":"2026-01-30T14:27:59.250Z","avatar_url":"https://github.com/bearaujus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BDataMatrix - Structured Tabular Data Management in Go\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/bearaujus/bdatamatrix)](https://goreportcard.com/report/github.com/bearaujus/bdatamatrix)\n\nBDataMatrix is a lightweight Go library for managing structured tabular data efficiently. It provides functions to add, update, delete, sort, and query data, along with various export options such as CSV, TSV, JSON, and YAML.\n\n## Installation\n\nTo install BDataMatrix, run:\n\n```sh\ngo get github.com/bearaujus/bdatamatrix\n```\n\n## Import\n\n```go\nimport \"github.com/bearaujus/bdatamatrix\"\n```\n\n## Features\n\n- Create structured tabular data with defined headers.\n- Add, update, delete, and search rows efficiently.\n- Export data to CSV, TSV, JSON, YAML, or custom formats.\n- Track header indices for optimized querying.\n- Support for case-insensitive searching.\n\n## Usage\n\n### 1. Creating a Matrix\n\nCreate a new matrix with headers:\n\n```go\nmatrix, err := bdatamatrix.New(\"ID\", \"Name\", \"Age\")\nif err != nil {\n    log.Fatal(err)\n}\n```\n\nCreate a matrix with predefined data:\n\n```go\nrows := [][]string{\n    {\"1\", \"Alice\", \"30\"},\n    {\"2\", \"Bob\", \"25\"},\n}\nmatrix, err := bdatamatrix.NewWithData(rows, \"ID\", \"Name\", \"Age\")\nif err != nil {\n    log.Fatal(err)\n}\n```\n\n### 2. Adding and Querying Rows\n\n```go\n_ = matrix.AddRow(\"3\", \"Charlie\", \"35\")\n\nquery := bdatamatrix.FindRowsQuery{\n    Column:          \"Name\",\n    Operator:        bdatamatrix.OperatorEquals,\n    CaseInsensitive: true,\n    Values:          []string{\"Alice\"},\n}\n\nresult, err := matrix.FindRows(query)\nif err != nil {\n    log.Fatal(err)\n}\nfmt.Println(\"Matched rows:\", result)\n```\n\n### 3. Exporting Data\n\nExport as CSV:\n\n```go\ncsvOutput := matrix.ToCSV(true)\n_ = csvOutput.Write(\"output.csv\", 0644)\n```\n\nExport as JSON:\n\n```go\njsonOutput := matrix.ToJSON(true, false)\n_ = jsonOutput.Write(\"output.json\", 0644)\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/bearaujus/bdatamatrix/blob/master/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearaujus%2Fbdatamatrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearaujus%2Fbdatamatrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearaujus%2Fbdatamatrix/lists"}