{"id":31901060,"url":"https://github.com/berrysoft/data.parquet","last_synced_at":"2026-05-14T21:32:53.340Z","repository":{"id":176853321,"uuid":"659066101","full_name":"Berrysoft/data.parquet","owner":"Berrysoft","description":"Parquet lib for clojure, powered by Rust.","archived":false,"fork":false,"pushed_at":"2023-11-21T07:22:09.000Z","size":37,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-21T15:18:28.942Z","etag":null,"topics":["clojure","jni","parquet","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/Berrysoft.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":"2023-06-27T04:34:15.000Z","updated_at":"2024-11-21T14:21:39.000Z","dependencies_parsed_at":"2025-10-13T12:52:31.798Z","dependency_job_id":"d74e83b2-630b-49bf-9efa-02533125f27b","html_url":"https://github.com/Berrysoft/data.parquet","commit_stats":null,"previous_names":["berrysoft/data.parquet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Berrysoft/data.parquet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berrysoft%2Fdata.parquet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berrysoft%2Fdata.parquet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berrysoft%2Fdata.parquet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berrysoft%2Fdata.parquet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Berrysoft","download_url":"https://codeload.github.com/Berrysoft/data.parquet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Berrysoft%2Fdata.parquet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33044105,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["clojure","jni","parquet","rust"],"created_at":"2025-10-13T12:52:13.183Z","updated_at":"2026-05-14T21:32:53.320Z","avatar_url":"https://github.com/Berrysoft.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# berrysoft.data.parquet\n\nThis is an experimental package for Clojure.\nIt is used for Parquet IO, and the backend is written by Rust through JNI.\n\nI choose to use Rust because I'm not able to understand the designation of Arrow package for Java. Fortunately I can understand the Parquet package for Rust easily.\n\n## Usage\n``` clojure\n(require '[berrysoft.data.parquet :as pq])\n\n;; Write 3 rows with keys :a :b :c.\n(pq/save-parquet\n \"test.parquet\"\n [{:a 1 :b true :c [0.1]}\n  {:a [2 3]\n   :b [true false]\n   :c [0.2 0.3]}])\n\n;; Load the file lazily.\n;; The file should be closed to free the allocated memory.\n(with-open [f (pq/open-parquet \"test.parquet\")]\n  (assert (= [:a :b :c] (keys f)))\n  ;; The column is loaded as a lazy seq.\n  ;; You need (seq) to evaluate it.\n  (assert (= [1 2 3] (seq (:a f))))\n  (assert (= [true true false] (seq (:b f))))\n  (assert (= [0.1 0.2 0.3] (seq (:c f)))))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrysoft%2Fdata.parquet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberrysoft%2Fdata.parquet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberrysoft%2Fdata.parquet/lists"}