Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
fbc35fb
Rebased on p-all
roll Nov 3, 2025
b8891d1
Updated the link in readmes
roll Nov 3, 2025
446ca75
Updated polars imports
roll Nov 3, 2025
53366ee
Fixed tests
roll Nov 3, 2025
831d0a6
Simplify DataType usage
roll Nov 3, 2025
e7b02e8
Added Frame type
roll Nov 3, 2025
0a1838a
Rebased on using frame
roll Nov 3, 2025
b6d9175
Hide node warnings in vitest
roll Nov 3, 2025
0291ae0
Moved session to cli root
roll Nov 3, 2025
cb12275
Rebased on @minify for profiles
roll Nov 3, 2025
c4dfd42
Renamed dp binary to dpkit
roll Nov 3, 2025
71c1a54
Updated pr template
roll Nov 3, 2025
3290285
Added load folder spec
roll Nov 3, 2025
32797ab
Added save folder spec
roll Nov 3, 2025
d8ba295
Fixed tests
roll Nov 3, 2025
651eb85
Added DataGrid spec
roll Nov 3, 2025
ce12a93
Added TableGrid spec
roll Nov 3, 2025
879944c
Fixed CI tests
roll Nov 3, 2025
beaf114
Reworked error/exception/report in core
roll Nov 3, 2025
32e5842
Updated file
roll Nov 3, 2025
124b4c5
Renamed node to system
roll Nov 3, 2025
4024ce0
Updated table
roll Nov 3, 2025
8cbb634
Updated lib
roll Nov 3, 2025
6a02a6c
Rebased table on inspect functions
roll Nov 3, 2025
e88f48c
Updated validateFile
roll Nov 3, 2025
92d98bc
Moved fk checks to lib
roll Nov 3, 2025
bba28c7
Renamed system to platform in core
roll Nov 4, 2025
4db0103
Renamed dpkit to system
roll Nov 4, 2025
f00e8d9
Simplified MetadataError
roll Nov 4, 2025
83d227d
Bootstrapped document package
roll Nov 4, 2025
54aa7c0
Added DocumentError
roll Nov 4, 2025
68e466d
Updated cell/jsonSchema error
roll Nov 4, 2025
378a502
Added resource.jsonSchema
roll Nov 4, 2025
94aec22
Implemented validateDocument
roll Nov 4, 2025
0103595
Fixed validateDocument
roll Nov 4, 2025
e28c1b4
Fixed types in tests
roll Nov 4, 2025
324d8b9
Enabled type checking in specs
roll Nov 4, 2025
3392988
Renamed result to report
roll Nov 4, 2025
a117add
Fixed types
roll Nov 4, 2025
e4ae256
Added BoundError and UnboundError
roll Nov 4, 2025
002ba13
Bootstrapped jsonSchema module
roll Nov 4, 2025
9d2a17e
Split jsonSchema/profile
roll Nov 4, 2025
14cac33
Renamed jsonSchema to json
roll Nov 4, 2025
57aa5e0
FIxed table
roll Nov 4, 2025
26830e9
Fixed types
roll Nov 4, 2025
3003aa9
Added inspectJsonSchema test
roll Nov 4, 2025
46d0a39
Removed DpkitException
roll Nov 4, 2025
4b7b59a
FIxed assert specs
roll Nov 4, 2025
d35b4f4
Updated document/table
roll Nov 4, 2025
95da503
Fixed tests
roll Nov 4, 2025
2320400
Rebased on vitest-polly
roll Nov 4, 2025
e0495f7
Upgraded vitest-polly
roll Nov 4, 2025
fd0c8f0
Merged table/xlsx
roll Nov 5, 2025
233312a
Merged table/parquet
roll Nov 5, 2025
bfea2a5
Merged table/ods
roll Nov 5, 2025
f98eb35
Merged table/json
roll Nov 5, 2025
187218f
Merged table/inline
roll Nov 5, 2025
f7fabf1
Merged table/arrow
roll Nov 5, 2025
5fb7391
Merged table/csv
roll Nov 5, 2025
5cf5edf
Updated inline structure
roll Nov 5, 2025
de48573
Updated json structure
roll Nov 5, 2025
4e6c6f5
Updated ods structure
roll Nov 5, 2025
5aa968b
Updated parquet structure
roll Nov 5, 2025
5a6c1e5
Updated xlsx structure
roll Nov 5, 2025
704b9da
Renamed @dpkit/core -> @dpkit/metadata
roll Nov 5, 2025
70cb1d2
Renamed @dpkit/file -> @dpkit/dataset
roll Nov 5, 2025
ad9d950
Rebased on DatasetPlugin
roll Nov 5, 2025
3cb84e3
Merged dataset/datahub
roll Nov 5, 2025
65320d4
Merged dataset/ckan
roll Nov 5, 2025
1435e9a
Merged dataset/folder
roll Nov 5, 2025
84a14e5
Merged dataset/github
roll Nov 5, 2025
8637324
Merged dataset/zenodo
roll Nov 5, 2025
7c03343
Fixed metadata rootDir
roll Nov 5, 2025
131bc18
Merged dataset/zip
roll Nov 5, 2025
37a34fd
Renamed cli -> terminal
roll Nov 5, 2025
4cd08b3
Bootstrapped video package
roll Nov 5, 2025
957af76
Bootstrapped audio package
roll Nov 5, 2025
19da2db
Bootstrapped image package
roll Nov 5, 2025
6aeb5ea
Renamed lib -> library
roll Nov 5, 2025
66fbff7
Improved plugin system
roll Nov 5, 2025
72065cc
Revert "Improved plugin system"
roll Nov 5, 2025
475d3b7
Removed metadata plugin
roll Nov 5, 2025
f23ffd8
Moved html to document
roll Nov 5, 2025
9d3e190
Merged document/markdown
roll Nov 5, 2025
0f46443
Switch main branch to pre-release
roll Nov 5, 2025
675c08e
Added package.json:files
roll Nov 5, 2025
23bd0f6
Fixed dependency versions
roll Nov 5, 2025
edb0557
Fixed CI
roll Nov 5, 2025
641ba85
Fixed terminal compilation
roll Nov 5, 2025
24f3f07
Fixed compile
roll Nov 5, 2025
ea1d48d
Implemented DescriptorPlugin
roll Nov 6, 2025
4776d6c
Renamed to inferName/Format
roll Nov 6, 2025
318172e
Removed polars dep from library
roll Nov 6, 2025
03566b6
Fixed compilation errors
roll Nov 6, 2025
9e8e1bd
Fixed dpkit
roll Nov 6, 2025
55d8524
Bump nodejs-polars@0.22.2
roll Nov 6, 2025
3704e13
Explicit metadata exports
roll Nov 6, 2025
84f6483
Moved mergePackages to dataset
roll Nov 6, 2025
5eb5d8f
Fixed errors
roll Nov 6, 2025
1577a52
Updated doc references to new public API
roll Nov 6, 2025
06b0f4f
Added library:Plugin
roll Nov 6, 2025
4c0e34a
Explicit dataset exports
roll Nov 6, 2025
1ef1fb7
Renamed infer file functions
roll Nov 6, 2025
27fed21
Updated infer file signatures
roll Nov 6, 2025
a7223be
Updated infer file api
roll Nov 6, 2025
4338a46
Explicit table exports
roll Nov 6, 2025
4d66f0c
Explicit document exports
roll Nov 6, 2025
485d24a
Updated deps
roll Nov 6, 2025
f1cfcf2
Explicit library exports
roll Nov 6, 2025
5529fc6
Added more library re-exports
roll Nov 6, 2025
e262466
Added table explore spec
roll Nov 6, 2025
6a2d68a
Added script specs
roll Nov 6, 2025
679fcf2
Added other script specs
roll Nov 6, 2025
d38ff0e
Removed useRecording
roll Nov 6, 2025
7b9034c
Added resoruce script spec
roll Nov 6, 2025
203c7e2
Added schema script spec
roll Nov 6, 2025
e5cba2c
Added schema explore spec
roll Nov 6, 2025
d54eebf
Added resource explore spec
roll Nov 6, 2025
0b5b013
Added dialect explore spec
roll Nov 6, 2025
3761667
Added package explore spec
roll Nov 6, 2025
d3ac401
Fixed coverage ignore pattern
roll Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- fixes #
- Fixes #

---

Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/general.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: binaries
path: cli/compile/binaries/*.zip
path: terminal/compile/binaries/*.zip

test-linux:
needs: [test-compile]
Expand Down Expand Up @@ -70,9 +70,10 @@ jobs:
uses: actions/download-artifact@v5
with:
name: binaries
path: cli/compile/binaries
path: terminal/compile/binaries
- name: Test Binaries
run: unzip -j cli/compile/binaries/*linux-x64.zip && ./dp --version
working-directory: terminal/compile/binaries
run: unzip -j *linux-x64.zip && ./dpkit --version

services:
postgres:
Expand Down Expand Up @@ -119,9 +120,10 @@ jobs:
uses: actions/download-artifact@v5
with:
name: binaries
path: cli/compile/binaries
path: terminal/compile/binaries
- name: Test Binaries
run: unzip -j cli/compile/binaries/*macos-arm64.zip && ./dp --version
working-directory: terminal/compile/binaries
run: unzip -j *macos-arm64.zip && ./dpkit --version

test-windows:
needs: [test-compile]
Expand Down Expand Up @@ -149,10 +151,11 @@ jobs:
uses: actions/download-artifact@v5
with:
name: binaries
path: cli/compile/binaries
path: terminal/compile/binaries
- name: Test Binaries
shell: bash
run: unzip -j cli/compile/binaries/*windows-x64.zip && ./dp.exe --version
working-directory: terminal/compile/binaries
run: unzip -j *windows-x64.zip && ./dpkit.exe --version

# We have to split the release step because for some reason
# using semantic-release before compilation inflates the binary sizes
Expand Down Expand Up @@ -228,7 +231,7 @@ jobs:
uses: softprops/action-gh-release@v2
with:
draft: false
files: cli/compile/binaries/*.zip
files: terminal/compile/binaries/*.zip
tag_name: v${{ needs.release-draft.outputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,3 @@ dist/
.serena/
.mcp.json
.env
dp
7 changes: 6 additions & 1 deletion .releaserc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"branches": ["main"],
"branches": [
{
"name": "main",
"prerelease": "rc"
}
],
"plugins": [
["@semantic-release/commit-analyzer", { "preset": "conventionalcommits" }],
[
Expand Down
11 changes: 6 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ Thank you for your interest in contributing to dpkit! This document provides gui

Project is a monorepo with the following packages:

- `@dpkit/core`: Core metadata functionality
- `@dpkit/file`: File-related functionality
- `@dpkit/metadata`: Core metadata functionality
- `@dpkit/dataset`: File-related functionality
- `@dpkit/table`: Table-related functionality
- `@dpkit/cli`: Command-line interface for running tasks
- `@dpkit/<name>`: Domain-specific functionality
- `@dpkit/lib`: All-in-one package that re-exports all functionality
- `dpkit`: Meta-package that re-exports `lib` and `cli`
- `@dpkit/library`: All-in-one package that re-exports all functionality
- `@dpkit/terminal`: Terminal interface for running tasks
- `@dpkit/browser`: Browser-related functionality
- `dpkit`: Meta-package that re-exports the underlying functionality

## Development Environment

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![Coverage](https://img.shields.io/codecov/c/github/datisthq/dpkit/main)](https://codecov.io/gh/datisthq/dpkit)
[![Version](https://img.shields.io/npm/v/dpkit)](https://www.npmjs.com/package/dpkit)

dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [documentation portal](https://dpkit.dev).
dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [project's website](https://dpkit.app).

## Funding

Expand Down
36 changes: 0 additions & 36 deletions arrow/package.json

This file was deleted.

4 changes: 2 additions & 2 deletions lib/README.md → audio/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# @dpkit/lib
# @dpkit/audio

dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [documentation portal](https://dpkit.dev).
dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [project's website](https://dpkit.app).
Empty file added audio/index.ts
Empty file.
10 changes: 5 additions & 5 deletions folder/package.json → audio/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{
"name": "@dpkit/folder",
"name": "@dpkit/audio",
"type": "module",
"version": "0.0.0-dev",
"exports": "./build/index.js",
"sideEffects": false,
"files": ["build"],
"license": "MIT",
"author": "Evgeny Karev",
"repository": "https://github.com/datisthq/dpkit",
Expand All @@ -18,14 +19,13 @@
"validation",
"quality",
"fair",
"folder"
"audio"
],
"scripts": {
"build": "tsc"
},
"dependencies": {
"@dpkit/core": "workspace:*",
"@dpkit/file": "workspace:*",
"exit-hook": "^4.0.0"
"@dpkit/metadata": "workspace:*",
"@dpkit/dataset": "workspace:*"
}
}
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion browser/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# @dpkit/browser

dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [documentation portal](https://dpkit.dev).
dpkit is a fast data management framework built on top of the Data Package standard and Polars DataFrames. It supports various formats like CSV, JSON, and Parquet and integrates with data platforms such as CKAN, Zenodo, and GitHub. For more information, please visit the [project's website](https://dpkit.app).
26 changes: 13 additions & 13 deletions browser/components/Report/Error/Cell.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type * as errorTypes from "@dpkit/lib"
import type * as library from "@dpkit/library"
import { Code, Text } from "@mantine/core"
import { useTranslation } from "react-i18next"

export function CellTypeError(props: { error: errorTypes.CellTypeError }) {
export function CellTypeError(props: { error: library.CellTypeError }) {
const { t } = useTranslation()
const { error } = props

Expand Down Expand Up @@ -30,7 +30,7 @@ export function CellTypeError(props: { error: errorTypes.CellTypeError }) {
}

export function CellRequiredError(props: {
error: errorTypes.CellRequiredError
error: library.CellRequiredError
}) {
const { t } = useTranslation()
const { error } = props
Expand All @@ -51,7 +51,7 @@ export function CellRequiredError(props: {
}

export function CellMinimumError(props: {
error: errorTypes.CellMinimumError
error: library.CellMinimumError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -80,7 +80,7 @@ export function CellMinimumError(props: {
}

export function CellMaximumError(props: {
error: errorTypes.CellMaximumError
error: library.CellMaximumError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -109,7 +109,7 @@ export function CellMaximumError(props: {
}

export function CellExclusiveMinimumError(props: {
error: errorTypes.CellExclusiveMinimumError
error: library.CellExclusiveMinimumError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -138,7 +138,7 @@ export function CellExclusiveMinimumError(props: {
}

export function CellExclusiveMaximumError(props: {
error: errorTypes.CellExclusiveMaximumError
error: library.CellExclusiveMaximumError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -167,7 +167,7 @@ export function CellExclusiveMaximumError(props: {
}

export function CellMinLengthError(props: {
error: errorTypes.CellMinLengthError
error: library.CellMinLengthError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -196,7 +196,7 @@ export function CellMinLengthError(props: {
}

export function CellMaxLengthError(props: {
error: errorTypes.CellMaxLengthError
error: library.CellMaxLengthError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -225,7 +225,7 @@ export function CellMaxLengthError(props: {
}

export function CellPatternError(props: {
error: errorTypes.CellPatternError
error: library.CellPatternError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down Expand Up @@ -253,7 +253,7 @@ export function CellPatternError(props: {
)
}

export function CellUniqueError(props: { error: errorTypes.CellUniqueError }) {
export function CellUniqueError(props: { error: library.CellUniqueError }) {
const { t } = useTranslation()
const { error } = props

Expand All @@ -276,7 +276,7 @@ export function CellUniqueError(props: { error: errorTypes.CellUniqueError }) {
)
}

export function CellEnumError(props: { error: errorTypes.CellEnumError }) {
export function CellEnumError(props: { error: library.CellEnumError }) {
const { t } = useTranslation()
const { error } = props

Expand Down Expand Up @@ -304,7 +304,7 @@ export function CellEnumError(props: { error: errorTypes.CellEnumError }) {
}

export function CellJsonSchemaError(props: {
error: errorTypes.CellJsonSchemaError
error: library.CellJsonSchemaError
}) {
const { t } = useTranslation()
const { error } = props
Expand Down
4 changes: 2 additions & 2 deletions browser/components/Report/Error/Data.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type * as errorTypes from "@dpkit/lib"
import type * as library from "@dpkit/library"
import { Text } from "@mantine/core"
import { useTranslation } from "react-i18next"

export function DataError(props: { error: errorTypes.DataError }) {
export function DataError(props: { error: library.DataError }) {
const { t } = useTranslation()

return <Text>{t(props.error.message as any)}</Text>
Expand Down
9 changes: 2 additions & 7 deletions browser/components/Report/Error/Error.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type * as errorTypes from "@dpkit/lib"
import type { UnboundError } from "@dpkit/library"
import {
CellEnumError,
CellExclusiveMaximumError,
Expand All @@ -22,12 +22,7 @@ import { MetadataError } from "./Metadata.tsx"
import { RowUniqueError } from "./Row.tsx"

export function Error(props: {
// TODO: should be lib.Error
error:
| errorTypes.MetadataError
| errorTypes.DataError
| errorTypes.FileError
| errorTypes.TableError
error: UnboundError
}) {
const { error } = props

Expand Down
6 changes: 3 additions & 3 deletions browser/components/Report/Error/Field.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type * as errorTypes from "@dpkit/lib"
import type * as library from "@dpkit/library"
import { Code, Text } from "@mantine/core"
import { useTranslation } from "react-i18next"

export function FieldNameError(props: { error: errorTypes.FieldNameError }) {
export function FieldNameError(props: { error: library.FieldNameError }) {
const { t } = useTranslation()
return (
<Text>
Expand All @@ -18,7 +18,7 @@ export function FieldNameError(props: { error: errorTypes.FieldNameError }) {
)
}

export function FieldTypeError(props: { error: errorTypes.FieldTypeError }) {
export function FieldTypeError(props: { error: library.FieldTypeError }) {
const { t } = useTranslation()
return (
<Text>
Expand Down
6 changes: 3 additions & 3 deletions browser/components/Report/Error/Fields.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import type * as errorTypes from "@dpkit/lib"
import type * as library from "@dpkit/library"
import { Code, Text } from "@mantine/core"
import { useTranslation } from "react-i18next"

export function FieldsMissingError(props: {
error: errorTypes.FieldsMissingError
error: library.FieldsMissingError
}) {
const { t } = useTranslation()
return (
Expand All @@ -18,7 +18,7 @@ export function FieldsMissingError(props: {
}

export function FieldsExtraError(props: {
error: errorTypes.FieldsExtraError
error: library.FieldsExtraError
}) {
const { t } = useTranslation()
return (
Expand Down
8 changes: 4 additions & 4 deletions browser/components/Report/Error/File.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import type * as errorTypes from "@dpkit/lib"
import type * as library from "@dpkit/library"
import { Code, Text } from "@mantine/core"
import { useTranslation } from "react-i18next"

export function BytesError(props: { error: errorTypes.BytesError }) {
export function BytesError(props: { error: library.BytesError }) {
const { t } = useTranslation()

return (
Expand All @@ -19,7 +19,7 @@ export function BytesError(props: { error: errorTypes.BytesError }) {
)
}

export function HashError(props: { error: errorTypes.HashError }) {
export function HashError(props: { error: library.HashError }) {
const { t } = useTranslation()

return (
Expand All @@ -36,7 +36,7 @@ export function HashError(props: { error: errorTypes.HashError }) {
)
}

export function EncodingError(props: { error: errorTypes.EncodingError }) {
export function EncodingError(props: { error: library.EncodingError }) {
const { t } = useTranslation()

return (
Expand Down
Loading