Skip to content

Squirreling Demo#54

Open
platypii wants to merge 11 commits intomasterfrom
squirreling
Open

Squirreling Demo#54
platypii wants to merge 11 commits intomasterfrom
squirreling

Conversation

@platypii
Copy link
Contributor

No description provided.

@platypii platypii requested a review from severo February 18, 2026 09:02
Copy link
Contributor

@severo severo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add something like this to the root README.md:

## Squirreling Demo :chipmunk:

Squirreling is a streaming async SQL engine in pure JavaScript.

Demo: https://hyparam.github.io/demos/squirreling/

Squirreling: https://github.com/hyparam/squirreling

Example project showing how to use squirreling.
Provides a simple SQL editor interface for running queries against a parquet file.

Uses vite for running client-side react.

Also: add a GitHub action to deploy the demo

Comment on lines +1 to +3
# Hyparquet demo

This is an example project showing how to use [hyparquet](https://github.com/hyparam/hyparquet).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Hyparquet demo
This is an example project showing how to use [hyparquet](https://github.com/hyparam/hyparquet).
# Squirreling demo
This is an example project showing how to use [squirreling](https://github.com/hyparam/squirreling).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can delete it

const setAsyncBuffer = useCallback(async function setAsyncBuffer(name: string, from: AsyncBufferFrom) {
const asyncBuffer = await asyncBufferFrom(from)
const metadata = await parquetMetadataAsync(asyncBuffer)
const df = sortableDataFrame(parquetDataFrame(from, metadata))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need for sortableDataFrame, if I understand well

}

/**
* Squireeling demo page
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Squireeling demo page
* Squirreling demo page

* @returns {ReactNode}
*/
export default function Page({ metadata, df, name, from, byteLength, setError }: PageProps): ReactNode {
const [query, setQuery] = useState<string>('SELECT * FROM table LIMIT 500')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at some point it would be nice to have it as a URL search param to be able to share a query

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also: add throttle to setQuery?

</span>
</div>
</div>
<ParquetGridMini metadata={metadata} downloadedRanges={downloadedRanges} />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice idea!
I think it would benefit from some more context, e.g.

  • a title attribute
  • a tooltip / modal
  • or even click -> opens a fullsize view

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file might go to a library, no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants