Skip to main content

Build Status PyPI PyPI HitCount

You can read the introductory blog post or try it live at https://shrynk.ai

Features

  • ✓ Compress your data smartly based on Machine Learning
  • ✓ Takes User Requirements in the form of weights for size, write_time and read_time
  • ✓ Trains & caches a model based on compression methods available in the system, using packaged data
  • ✓ CLI for compressing and decompressing
  • ✓ Works with CSV, JSON and Bytes in general

CLI

shrynk compress myfile.json       # will yield e.g. myfile.json.gz or myfile.json.bz2
shrynk decompress myfile.json.gz  # will yield myfile.json

shrynk compress myfile.csv --size 0 --write 1 --read 0

shrynk benchmark myfile.csv                  # shows benchmark results
shrynk benchmark --predict myfile.csv        # will also show the current prediction
shrynk benchmark --save --predict myfile.csv # will add the result to the training data too

Usage

Installation:

pip install shrynk

Then in Python:

import pandas as pd
from shrynk import save, load

# save dataframe compressed
my_df = pd.DataFrame({"a": [1]})
file_path = save(my_df, "mypath.csv")
# e.g. mypath.csv.bz2

# load compressed file
loaded_df = load(file_path)

If you just want the prediction, you can also:

import pandas as pd
from shrynk import infer

infer(pd.DataFrame({"a": [1]}))
# {"engine": "csv", "compression": "bz2"}

Add your own data

If you want more control you can do the following:

import pandas as pd
from shrynk import PandasCompressor

df = pd.DataFrame({"a": [1, 2, 3]})

pdc = PandasCompressor("default")
pdc.run_benchmarks(df) # adds data to the default

pdc.train_model(size=3, write=1, read=1)

pdc.predict(df)

Metadata

Release files for shrynk 0.2.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shrynk 0.2.25
File Size Uploaded
shrynk-0.2.25.tar.gz 2.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for shrynk 0.2.25
File Interpreter ABI Platform
shrynk-0.2.25-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 7.3 MB

Release files / shrynk-0.2.25.tar.gz

Download URL shrynk-0.2.25.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
0bdf6cb92b88d132baea8c45c58defece17152aa52dac45d55b3251e85466c6d
BLAKE2b-256 checksum
How to use checksums
f1c51ec8a657e7858dd0f98e02e80ed148e5fff25abd6c442f9684996a9680c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

Release files / shrynk-0.2.25-py2.py3-none-any.whl

Download URL shrynk-0.2.25-py2.py3-none-any.whl
Size 4.5 MB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
036f1e8a3d383e581ab03f84099bb4963e37422bafa999f6a54befc321aa5792
BLAKE2b-256 checksum
How to use checksums
ade06e7705989faea1ccc9b6129bf940d68926ba3d95ad50f97a88e4c42b9a02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

Release history Release notifications | RSS feed

This release

0.2.25 This release

2 release files

0.2.21

2 release files

0.1.19

2 release files

0.0.18

2 release files

0.0.14

2 release files

0.0.9

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page