{"id":41339616,"url":"https://github.com/invertedv/dass","last_synced_at":"2026-02-06T00:00:57.478Z","repository":{"id":334157671,"uuid":"1131358785","full_name":"invertedv/dass","owner":"invertedv","description":"dass assemble data, somewhat like a dataframe, but stores the data by row with each row being a map.","archived":false,"fork":false,"pushed_at":"2026-01-23T04:47:17.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-23T22:17:10.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/invertedv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2026-01-09T21:53:49.000Z","updated_at":"2026-01-22T20:55:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/invertedv/dass","commit_stats":null,"previous_names":["invertedv/dass"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/invertedv/dass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertedv%2Fdass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertedv%2Fdass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertedv%2Fdass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertedv%2Fdass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/invertedv","download_url":"https://codeload.github.com/invertedv/dass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/invertedv%2Fdass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29140049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T23:14:48.546Z","status":"ssl_error","status_checked_at":"2026-02-05T23:14:35.724Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2026-01-23T06:41:57.791Z","updated_at":"2026-02-06T00:00:57.471Z","avatar_url":"https://github.com/invertedv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/invertedv/dass)](https://goreportcard.com/report/github.com/invertedv/dass)\n[![godoc](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white)](https://pkg.go.dev/mod/github.com/invertedv/dass?tab=overview)\n\n## Dass - Data Assembly\n\n### Why\n\nIf you have a process that regularly pulls data, you may find the SQL is hard to create and maintain.\nThere are lots of fields calculated. There are multiple joins.  It's a mess.  Want to add something new?\nExpect days of tweaking and testing.  \n\nThe idea of Dass is to move data manipulation away from SQL and into Go where it can be more\neasily created and maintained.\n\n### Concept\n\nDass is a container for data. \nIt is similar to a dataframe construct in that it stores the data in memory.\nUnlike most dataframes, the data is stored by row.\n\nEach row is a map which simplifies the code.\nThe value of the map is type *any*. This does add overhead, but is very flexible.\nIndividual elements can be any type, including slices and maps.\n\nDass is lightweight in the sense that it supplies a small, core set of methods.\nThese methods mostly support data construction and access.\n\nKey, though, is that it supports applying user functions to the rows via the Apply method.\nYou can move those calculations out of SQL and even joins through these functions.\n\nDass can read data from SQL, or CSV and XLSX files either on the web or locally.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertedv%2Fdass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finvertedv%2Fdass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finvertedv%2Fdass/lists"}