Skip to main content

Python jsonl query engine

Project description

Build Status Coverage PyPI Documentation Status

JF

JF, aka “jndex fingers” or more commonly “json filter pipeline”, is a jq-clone written in python. It supports evaluation of python one-liners, making it especially appealing for data scientists who are used to working with python.

Installing

pip install jf

Basic usage

Filter selected fields

$ cat samples.jsonl | jf 'map({id: x.id, subject: x.fields.subject})'
{"id": "87086895", "subject": "Swedish children stories"}
{"id": "87114792", "subject": "New Finnish storybooks"}

Features

supported formats: * json (uncompressed, gzip, bz2) * jsonl (uncompressed, gzip, bz2) * yaml (uncompressed, gzip, bz2) * csv and xlsx support if pandas and xlrd is installed * markdown table output support * xlsx (excel) * parquet

transformations: * construct generator pipeline with map, hide, filter * access json dict as classes with dot-notation for attributes * datetime and timedelta comparison * age() for timedelta between datetime and current time * first(N), last(N), islice(start, stop, step) * head and tail alias for last and first * firstnlast(N) (or headntail(N)) * import your own modules for more complex filtering * Support stateful classes for complex interactions between items * drop your filtered data to IPython for manual data exploration * pandas profiling support for quick data exploration * use –ordered_dict to keep items in order * sklearn toolbox for machine learning * running restful service for the transformation pipeline

Known bugs

  • IPython doesn’t launch perfectly with piped data

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jf-0.8.3.tar.gz (21.4 kB view details)

Uploaded Source

File details

Details for the file jf-0.8.3.tar.gz.

File metadata

  • Download URL: jf-0.8.3.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for jf-0.8.3.tar.gz
Algorithm Hash digest
SHA256 b929f3384f6d4fc2b137b58a4debe07ae36392a11568f1494b76682816633b9a
MD5 aa21fe4f298a876346706ce5c85459a8
BLAKE2b-256 0706feb810f669a3385714dc19840ec0cefbf60a2c1d3920c7555a3f86c20b01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page