Skip to main content

A modern, extensible language for manipulation with structured data

Project description

ransack is a modern, extensible language for manipulation with structured data.

Structured data — like JSON, YAML, TOML and domain-specific formats such as IDEA — form the backbone of many modern applications. These formats appear in configuration files, security logs, telemetry systems, and beyond.

ransack was designed to meet the increasing need for a robust and expressive language to query, filter, and inspect structured data. Whether used in Python code, as part of a log analysis tool, or as a compiler frontend for other systems, ransack provides a flexible foundation.

Why ransack?

ransack is a new implementation and improvement over existing libraries like Pynspect, which was widely used in security monitoring systems like NEMEA and Mentat. Compared to older tools, ransack:

  • supports user-defined variables

  • enables multi-argument functions

  • is extensible and modular

  • supports multiple backends (e.g., Python evaluation, SQL translation)

  • offers a clean internal architecture for future enhancements

Key features

  • a simple and expressive syntax for filters and conditions

  • support for context-aware variables and data scoping

  • predefined functions

  • support for IPv4/IPv6, datetimes, string and list manipulation

  • safe and maintainable implementation using Lark for parsing

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

ransacklib-0.1.10.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ransacklib-0.1.10-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file ransacklib-0.1.10.tar.gz.

File metadata

  • Download URL: ransacklib-0.1.10.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for ransacklib-0.1.10.tar.gz
Algorithm Hash digest
SHA256 87aee705e31e14e8da499082a10dfd33ca3f2e56cb7099523979093d3acbe03c
MD5 91c23ac8d414c9f6ae05d8b126c25ba8
BLAKE2b-256 89096e17cbbfa6c34e7a311ce16539bf4191a753d531ad8436cbca201aaa4548

See more details on using hashes here.

File details

Details for the file ransacklib-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: ransacklib-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for ransacklib-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 153fab659658de9dd73be70e55862c8aa38c499764d67a03d03d17b58e8d1fde
MD5 b9f0aa5324029778f7055640b491091a
BLAKE2b-256 c4cbbc5b6ddd98d9783d000fb15e35ef4a8ad381f55e4df700ed153cf53abb68

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