{"id":14977818,"url":"https://github.com/pityka/saddle","last_synced_at":"2025-10-02T12:31:03.109Z","repository":{"id":37794176,"uuid":"67850066","full_name":"pityka/saddle","owner":"pityka","description":"SADDLE: Scala Data Library","archived":false,"fork":true,"pushed_at":"2024-08-13T01:14:48.000Z","size":12562,"stargazers_count":38,"open_issues_count":34,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-09-24T23:03:35.643Z","etag":null,"topics":["data","data-science","dataframe","linear-algebra","matrix","numpy","pandas","scala"],"latest_commit_sha":null,"homepage":"https://pityka.github.io/saddle/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"saddle/saddle","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pityka.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}},"created_at":"2016-09-10T04:06:48.000Z","updated_at":"2024-07-04T20:48:28.000Z","dependencies_parsed_at":"2023-02-14T11:01:11.721Z","dependency_job_id":null,"html_url":"https://github.com/pityka/saddle","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pityka%2Fsaddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pityka%2Fsaddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pityka%2Fsaddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pityka%2Fsaddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pityka","download_url":"https://codeload.github.com/pityka/saddle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219875686,"owners_count":16554701,"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":["data","data-science","dataframe","linear-algebra","matrix","numpy","pandas","scala"],"created_at":"2024-09-24T13:56:23.228Z","updated_at":"2025-10-02T12:31:02.386Z","avatar_url":"https://github.com/pityka.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://github.com/pityka/saddle/workflows/CI/badge.svg)](https://github.com/pityka/saddle/actions)\n[![codecov](https://codecov.io/gh/pityka/saddle/branch/master/graph/badge.svg)](https://codecov.io/gh/pityka/saddle)\n[![doc](https://img.shields.io/badge/api-scaladoc-green)](https://pityka.github.io/saddle/api/org/saddle/Frame.html)\n[![doc](https://img.shields.io/badge/docs-green)](https://pityka.github.io/saddle)\n[![maven](https://img.shields.io/maven-central/v/io.github.pityka/saddle-core_2.13.svg)](https://repo1.maven.org/maven2/io/github/pityka/saddle-core_2.13/)\n\n\nSaddle: Scala Data Library for JVM and Scala.js\n===============================================\n\nIntroduction\n============\n\nSaddle is a data manipulation library for Scala that provides array-backed,\nindexed, one- and two-dimensional data structures that are \nspecialized on primitive types to avoid the overhead of boxing and unboxing.\n\nSaddle offers numerical calculations, automatic alignment of data\nalong indices, robustness to missing (N/A) values, and facilities for I/O.\n\nFeatures\n========\n- All of saddle's core data structures avoid boxing of primitive types thus maintaining optimal memory efficiency and cache locality.\n- One- and two-dimensional vectors (`Vec[T]` and `Mat[T]`).\n- Constant time lookup index supporting database-like inner and outer joins (`Index[T]`).\n- Combined of index and vector types, both 1D (`Series[Key,Value]`) and 2D (`Frame[RowKey,ColumnKey,Value]`).\n- Support for multilevel indexes, and data manipulations like pivots, joins, merges, group by-s, sorts.\n- Convenient vectorized binary operations betweens the above data structures.\n- Automatic, non-boxed handling of missing values.\n- Native linear algebra backed by BLAS/LAPACK on amd64, aarch64 and Apple arm64. On linux needs a system wide installation of BLAS and LAPACK shared libraries.\n- Getting data in and out of the library:\n  - Extremely fast CSV, integer and floating point parsers doing minimal allocations and minimal branching. \n  - CSV writer.\n  - Support for reading contigous numeric arrays from npy files.\n  - Fast and memory efficient binary serialization format.\n  - Circe and jsoniter-scala type classes.\n- Published for Scala on the JVM and Scala.js, Scala 2.13 and 3.\n\n\nDocumentation\n=============\n\n - [Docs](https://pityka.github.io/saddle)\n - [scaladoc](https://pityka.github.io/saddle/api/org/saddle/Frame.html)\n\nHow to build the code\n=====================\nYou need [sbt](https://www.scala-sbt.org/): `sbt test`\n\nHow to build the website\n========================\nThe website is built with [hugo](https://gohugo.io/) and the [hugo-book](https://github.com/alex-shpak/hugo-book) theme.\n\nThe theme is a git submodule. It must be initialized.\n\n```sh\ngit submodule update --init\n```\n\nCreate and serve the site with:\n\n```sh\nsbt docs/mdoc docs/unidoc \u0026\u0026 cd website \u0026\u0026 hugo\n```\n\nLicense\n=======\n\nSaddle is distributed under the Apache License Version 2.0 (see LICENSE file).\n\nCopyright\n=========\n\nCopyright (c) 2013-2015 Novus Partners, Inc.\n\nCopyright (c) 2013-2015 The Saddle Development Team\n\nAll rights reserved.\n\nSaddle is subject to a shared copyright. Each contributor retains copyright to\nhis or her contributions to Saddle, and is free to annotate these contributions\nvia code repository commit messages. The copyright to the entirety of the code\nbase is shared among the Saddle Development Team, comprised of the developers\nwho have made such contributions.\n\nThe copyright and license of each file shall read as follows:\n\n\u003e Copyright (c) 2013-2015 Saddle Development Team\n\u003e\n\u003e Licensed under the Apache License, Version 2.0 (the \"License\");\n\u003e you may not use this file except in compliance with the License.\n\u003e You may obtain a copy of the License at\n\u003e\n\u003e http://www.apache.org/licenses/LICENSE-2.0\n\u003e\n\u003e Unless required by applicable law or agreed to in writing, software\n\u003e distributed under the License is distributed on an \"AS IS\" BASIS,\n\u003e WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\u003e See the License for the specific language governing permissions and\n\u003e limitations under the License.\n\n\nIndividual contributors may, if they so desire, append their names to\nthe CONTRIBUTORS file.\n\nCode in saddle-core/src/main/scala/org/saddle/util/LongMap.scala has different copyright terms,\nsee its header.\n\nCode in saddle-core/src/main/scala/org/saddle/Buffer.scala has different copyright terms,\nsee its header. \n\nCode in spire-prng has different copyright terms, see the spire-prng/COPYING.\n\nCode in FastDoubleParser.scala is a translation of https://github.com/wrandelshofer/FastDoubleParser.\nThe original Java code is licensed as Copyright © 2022. Werner Randelshofer, Switzerland. MIT License.\nThe test data for FastDoubleParser.scala is licensed as Copyright © Nigel Tao, Apache License Version 2.0.\n\nAbout the Copyright Holders\n===========================\n\nAdam Klein began Saddle development in 2012 while an employee of \n[Novus Partners, Inc](http://www.novus.com \"Novus\"). The code was \nreleased by Novus under this license in 2013. Adam Klein is lead \ndeveloper. Saddle was inspired by earlier prototypes developed by \nChris Lewis, Cheng Peng, \u0026 David Cru. Saddle was also inspired by \nprevious work with [pandas](http://pandas.pydata.org/ \"pandas\"), a \ndata analysis library written in Python. \n\nCode in the saddle-linalg/ folder is contributed by Istvan Bartha.\n\nThis repository is a fork of the original Saddle repository which has\nseen no activity for some time.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpityka%2Fsaddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpityka%2Fsaddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpityka%2Fsaddle/lists"}