Skip to main content

Python frontend for ROOT data analyses written in queryosity

Project description

Queryosity

Version C++ Standard Ubuntu macOS MIT License

Queryosity is a row-wise data analysis library for (semi-)structured data.

  • Dataflow interface.
  • Arbitrary data types.
  • Lazy, multithreaded actions.
  • Sensitivity analysis.

Documentation

Hello World

#include <fstream>
#include <sstream>
#include <vector>

#include <queryosity.hpp>
#include <queryosity/boost/histogram.hpp>
#include <queryosity/nlohmann/json.hpp>

using dataflow = qty::dataflow;
namespace multithread = qty::multithread;
namespace dataset = qty::dataset;
namespace column = qty::column;
namespace query = qty::query;

using json = qty::nlohmann::json;
using h1d = qty::boost::histogram::histogram<double>;
using linax = qty::boost::histogram::axis::regular;

int main() {
  dataflow df(multithread::enable(10));

  std::ifstream data("data.json");
  auto [x, w] = df.read(
      dataset::input<json>(data), dataset::column<std::vector<double>>("x"), dataset::column<double>("w"));

  auto zero = df.define(column::constant(0));
  auto x0 = x[zero];

  auto sel =
      df.weight(w)
          .filter(column::expression(
              [](std::vector<double> const &v) { return v.size(); }))(x);

  auto h_x0_w = df.get(query::output<h1d>(linax(20, 0.0, 200.0)))
                    .fill(x0)
                    .at(sel)
                    .result();

  std::ostringstream os;
  os << *h_x0_w;
  std::cout << os.str() << std::endl;
}

Installation

Single-header

#include <queryosity.hpp>

CMake

git clone https://github.com/taehyounpark/queryosity.git

External

cd queryosity/ && mkdir build/ && cd build/
cmake -DQUERYOSITY_INSTALL=ON ../
cmake --build .
cmake --install .
find_package(queryosity 0.9.2 REQUIRED)
...
add_library(Analysis ...)
...
target_link_libraries(Analysis INTERFACE queryosity::queryosity)
#include <queryosity.hpp>

Integrated

add_subdirectory(queryosity)
...
add_library(Analysis ...)
...
target_link_libraries(Analysis INTERFACE queryosity::queryosity)

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

queryosity-0.9.2.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

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

queryosity-0.9.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file queryosity-0.9.2.tar.gz.

File metadata

  • Download URL: queryosity-0.9.2.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for queryosity-0.9.2.tar.gz
Algorithm Hash digest
SHA256 cc404fd1e1fd4977df39994276a895cf9d68ac7d29f8fa490e8717b24d4549b1
MD5 cb721fde06a2124aa2faecff212222d5
BLAKE2b-256 5a16c751f71b85038e92a74aedf72837c4209013b6c39df7b2bc590ec332abf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for queryosity-0.9.2.tar.gz:

Publisher: publish-to-pypi.yml on taehyounpark/queryosity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file queryosity-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: queryosity-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for queryosity-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6ff8ed3306fe519125f4f8f52c0e711857a61589bb1ecbb663f3157220d999fe
MD5 5908155965b48dbd850423e2af537f81
BLAKE2b-256 9bd6d8380c55d9f28c5eac9da58ee331d113c9edff465fac8b91393f6857d929

See more details on using hashes here.

Provenance

The following attestation bundles were made for queryosity-0.9.2-py3-none-any.whl:

Publisher: publish-to-pypi.yml on taehyounpark/queryosity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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