diff --git a/src/components/fundable/descriptions/Decimal32InArrowCpp.md b/src/components/fundable/descriptions/Decimal32InArrowCpp.md new file mode 100644 index 00000000..b27adaa6 --- /dev/null +++ b/src/components/fundable/descriptions/Decimal32InArrowCpp.md @@ -0,0 +1,40 @@ +#### Overview + +Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics. + +Fixed-width decimal data in Arrow is usually represented the Decimal128 data type. +This data type has non-trivial memory costs (16 bytes per value) and computational costs (operations on 128-bit integers must be emulated on most if not all architectures). + +Arrow recently gained Decimal32 and Decimal64 data types which, as their names suggest, encode fixed-width decimal data more compactly. +Decimal32 (resp. Decimal64) is able to represent up to 9 (resp. 18) decimal digits of precision, which is sufficient in many applications. + +However, while basic support is present, Decimal32 and Decimal64 are not universally supported by all Arrow components. + +We propose to finish implementing support for Decimal32 and Decimal64 types in all components of Arrow C++: + +* scalar compute kernels: + - `abs` + - `round` + - `is_in`, `index_in` + - `coalesce` + - `min_element_wise`, `max_element_wise` + +* vector compute kernels: + - `dictionary_encode`, `unique`, `value_counts` + - `pairwise_diff` + - `select_k_unstable` + - `replace_with_mask` + - `fill_null_forward`, `fill_null_backward` + +* aggregate compute kernels: + - `sum`, `mean`, `mode`, `tdigest` + - `first`, `last`, `min`, `max` + - `index` + +* CSV reader and writer + +* ORC reader and writer + +Funders can decide to fund the entire package, or choose the components they are interested in. + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it diff --git a/src/components/fundable/projectsDetails.ts b/src/components/fundable/projectsDetails.ts index cf5e289f..078a63a3 100644 --- a/src/components/fundable/projectsDetails.ts +++ b/src/components/fundable/projectsDetails.ts @@ -3,9 +3,9 @@ import JupyterGISRasterProcessingMD from "@site/src/components/fundable/descript import JupyterGISToolsForPythonAPIMD from "@site/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md" import EmscriptenForgePackageRequestsMD from "@site/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md" import SVE2SupportInXsimdMD from "@site/src/components/fundable/descriptions/SVE2SupportInXsimd.md" -import MatrixOperationsInXtensor from "@site/src/components/fundable/descriptions/MatrixOperationsInXtensor.md" -import BinaryViewInArrowCpp from "@site/src/components/fundable/descriptions/BinaryViewInArrowCpp.md" - +import MatrixOperationsInXtensorMD from "@site/src/components/fundable/descriptions/MatrixOperationsInXtensor.md" +import BinaryViewInArrowCppMD from "@site/src/components/fundable/descriptions/BinaryViewInArrowCpp.md" +import Decimal32InArrowCppMD from"@site/src/components/fundable/descriptions/Decimal32InArrowCpp.md" export const fundableProjectsDetails = { jupyterEcosystem: [ { @@ -78,7 +78,7 @@ export const fundableProjectsDetails = { title: "Implementing Kazushige Goto Algorithms for Matrix Operations in xtensor", pageName: "MatrixOperationsInXtensor", shortDescription: "This project aims to integrate Kazushige Goto’s highly optimized matrix multiplication algorithms into the xtensor framework, leveraging the xsimd library for SIMD acceleration.", - description: MatrixOperationsInXtensor, + description: MatrixOperationsInXtensorMD, price: "45 000 €", maxNbOfFunders: 1, currentNbOfFunders: 0, @@ -93,12 +93,24 @@ export const fundableProjectsDetails = { title: "Complete BinaryView / StringView support in Arrow C++", pageName: "BinaryViewInApacheArrow", shortDescription: "BinaryView is a more recent and more efficient alternative to Arrow's standard Binary type. It allows for inlined storage of short strings and fast prefix comparison.", - description: BinaryViewInArrowCpp, + description: BinaryViewInArrowCppMD, price: "TBD", maxNbOfFunders: 4, currentNbOfFunders: 0, currentFundingPercentage: 0, repoLink: "https://github.com/apache/arrow" + }, + { + category: "Apache Arrow and Parquet", + title: "Complete Decimal32 / Decimal64 support in Arrow C++", + pageName: "Decimal32InApacheArrow", + shortDescription: "Decimal32 and Decimal64 are more compact and computationally more efficient data types than the standard Decimal128.", + description: Decimal32InArrowCppMD, + price: "TBD", + maxNbOfFunders: 2, + currentNbOfFunders: 0, + currentFundingPercentage: 0, + repoLink: "https://github.com/apache/arrow" } ] diff --git a/src/pages/fundable/Decimal32InApacheArrow/GetAQuote.tsx b/src/pages/fundable/Decimal32InApacheArrow/GetAQuote.tsx new file mode 100644 index 00000000..a945b598 --- /dev/null +++ b/src/pages/fundable/Decimal32InApacheArrow/GetAQuote.tsx @@ -0,0 +1,9 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import GetAQuotePage from '@site/src/components/fundable/GetAQuotePage'; + +export default function FundablePage() { + const { siteConfig } = useDocusaurusContext(); + return ( + + ); +} \ No newline at end of file diff --git a/src/pages/fundable/Decimal32InApacheArrow/index.tsx b/src/pages/fundable/Decimal32InApacheArrow/index.tsx new file mode 100644 index 00000000..876857af --- /dev/null +++ b/src/pages/fundable/Decimal32InApacheArrow/index.tsx @@ -0,0 +1,9 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import LargeProjectCardPage from '@site/src/components/fundable/LargeProjectCardPage'; + +export default function FundablePage() { + const { siteConfig } = useDocusaurusContext(); + return ( + + ); +} diff --git a/static/atom.xml b/static/atom.xml index 3de8ed7a..3e953bd9 100644 --- a/static/atom.xml +++ b/static/atom.xml @@ -2,7 +2,7 @@ https://quantstack.net/ Recent blog posts featured by QuantStack team - 2026-04-02T15:13:26.007Z + 2026-04-16T16:09:35.875Z https://github.com/jpmonette/feed QuantStack Team @@ -11,6 +11,16 @@ Atom feed for QuantStack website blog page + + <![CDATA[Introducing Sparrow-IPC: A modern C++ implementation of Arrow IPC]]> + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + + 2026-04-04T00:00:00.000Z +

If you work in the world of data engineering, you are probably familiar with Apache Arrow — the universal columnar format and multi-language toolbox that has become the gold standard for fast in-memory analytics and data interchange.

]]>
+ + Hind Montassif, Alexis Placet, Johan Mabille + +
<![CDATA[How notebook.link Scales Without Backends]]> https://prefix.dev/blog/serverless-scientific-computing-how-notebook-link-scales-without-backends @@ -201,14 +211,4 @@ Johan Mabille
- - <![CDATA[Making Qt collaborative using CRDTs]]> - https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 - - 2025-03-31T00:00:00.000Z -

A journal on creating a collaborative application with Qt

]]>
- - David Brochart - -
\ No newline at end of file diff --git a/static/atom_all.xml b/static/atom_all.xml index 144c8315..5dbfe9cb 100644 --- a/static/atom_all.xml +++ b/static/atom_all.xml @@ -2,9 +2,19 @@ All blog posts featured by QuantStack team - 2026-04-02T15:13:26.013Z + 2026-04-16T16:09:35.882Z https://github.com/jpmonette/feed Atom feed for QuantStack website blog page + + <![CDATA[Introducing Sparrow-IPC: A modern C++ implementation of Arrow IPC]]> + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + + 2026-04-04T00:00:00.000Z +

If you work in the world of data engineering, you are probably familiar with Apache Arrow — the universal columnar format and multi-language toolbox that has become the gold standard for fast in-memory analytics and data interchange.

]]>
+ + Hind Montassif, Alexis Placet, Johan Mabille + +
<![CDATA[How notebook.link Scales Without Backends]]> https://prefix.dev/blog/serverless-scientific-computing-how-notebook-link-scales-without-backends diff --git a/static/rss.xml b/static/rss.xml index d36b7de9..b49d75c1 100644 --- a/static/rss.xml +++ b/static/rss.xml @@ -4,9 +4,18 @@ https://quantstack.net RSS for Node - Thu, 02 Apr 2026 15:13:25 GMT + Thu, 16 Apr 2026 16:09:35 GMT + + <![CDATA[Introducing Sparrow-IPC: A modern C++ implementation of Arrow IPC]]> + + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + + Sat, 04 Apr 2026 00:00:00 GMT + + <![CDATA[How notebook.link Scales Without Backends]]> @@ -178,14 +187,5 @@ Thu, 15 May 2025 00:00:00 GMT - - <![CDATA[Making Qt collaborative using CRDTs]]> - - https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 - https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 - - Mon, 31 Mar 2025 00:00:00 GMT - - \ No newline at end of file diff --git a/static/rss_all.xml b/static/rss_all.xml index 03b919dd..d27262dd 100644 --- a/static/rss_all.xml +++ b/static/rss_all.xml @@ -4,9 +4,18 @@ https://quantstack.net RSS for Node - Thu, 02 Apr 2026 15:13:25 GMT + Thu, 16 Apr 2026 16:09:35 GMT + + <![CDATA[Introducing Sparrow-IPC: A modern C++ implementation of Arrow IPC]]> + + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + https://medium.com/@QuantStack/introducing-sparrow-ipc-modern-c-20-arrow-ipc-e1690ae82b81 + + Sat, 04 Apr 2026 00:00:00 GMT + + <![CDATA[How notebook.link Scales Without Backends]]>