datablob
Client for Updating a Simple Data Warehouse on Blob Storage
design philosophy
- optimize for simplicity and user friendliness
- storage is cheap (compared to compute)
- pre-compute as much as possible
- should work out of the box
- advanced configuration should be opt-in
- explicit is better than implicit
- straightforwardness over magic
install
pip install datablob
supported formats
- csv
- geojson (points only)
- json
- json lines
- parquet, including geoparquet
- shapefile (points only)
- tsv
- xlsx (Microsoft Excel)
basic usage
from datablob import DataBlobClient
client = DataBlobClient(
bucket_name="example-test-bucket-123", bucket_path="prefix/to/dataportal"
)
client.update_dataset(name="fleet", version="2", data=rows, xlsx=True)
# automatically creates the following files
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/meta.json
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.csv
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.points.geojson
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.json
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.jsonl
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.parquet
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.points.shp.zip
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.tsv
# s3://example-test-bucket-123/prefix/to/dataportal/fleet/v2/data.xlsx
advanced usage
client.update_dataset(
name="fleet",
version="1",
data=rows,
column_names=["ID", "Make", "Model", "Year"]
description="List of Vehicles in Fleet",
xlsx=True,
xlsx_data_types=["Number", "Text", "Text", "Number"]
)
examples
Metadata
Release files for datablob 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datablob-0.8.0.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datablob-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.9 kB
Release files / datablob-0.8.0.tar.gz
| Download URL | datablob-0.8.0.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35324fdf026143a8d694206c42aad27f28162efacd7dc7cdc1a4711b6144f55c
|
|
BLAKE2b-256 checksum How to use checksums |
2e407f2782703193e496dae099b5f90365ae2f1ce7a8ba0641ff422e5444854a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / datablob-0.8.0-py3-none-any.whl
| Download URL | datablob-0.8.0-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b926210a927e10a3960ccae246c236abacac9460bf37c0657ff8e5fcc0aeafe
|
|
BLAKE2b-256 checksum How to use checksums |
4cb766c13ad7572cd2f201c15853f6215a47f1a674ad5b62a8161542225c5cc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|