Skip to main content

PISCAL CSV/Parquet processing: convert, export, and schema utilities for curves and measurements.

Project description

piscal-processor

PISCAL CSV/Parquet processing: convert curves to Parquet, export to CSV/TSV, and use standard schemas. PISCAL is used at LeafWeb.org.

Install from PyPI, a local clone, or a Git URL (see below).

Install

From PyPI (when published):

pip install piscal-processor

Optional S3 support (e.g. for s3a:// paths):

pip install piscal-processor[s3]

From a local clone (development):

pip install -e /path/to/piscal-processor

From a Git URL (CI or private install): use a personal access token or SSH:

pip install "piscal-processor @ git+https://github.com/kolpacksoftware/piscal-processor.git@main"
# or
pip install "piscal-processor @ git+ssh://git@github.com/kolpacksoftware/piscal-processor.git@main"

You can pin a branch (@main), tag (@v0.1.0), or commit (@abc1234).

CLI

Convert PISCAL CSV files to Parquet (metadata + measurements):

piscal-processor /path/to/csv_dir --output-dir parquet_output

Options: --no-discover-pathway-subdirs, --source-pathway, --metadata-name, --measurements-name. Input can be a local path or s3a:// URI.

Export measurement Parquet to CSV or TSV:

piscal-processor-export curve_measurements.parquet -o out.tsv --format tsv --columns curve_id,AnetCO2,PARi

Library

from piscal_processor import convert_curves, export_curves, get_backend

# Convert CSVs to DataFrames (or write Parquet via converter.normalize_and_write_parquet)
backend = get_backend("/path/to/csv_dir")
meta_df, meas_df = convert_curves("/path/to/csv_dir", backend, source_pathway="C3")

# Export measurements to CSV/TSV
export_curves(meas_df, "out.tsv", columns=["curve_id", "AnetCO2", "PARi"], format="tsv")

Schema constants and parser helpers are also available:

from piscal_processor import STANDARD_MEASUREMENT_COLUMNS, STANDARD_METADATA_COLUMNS
from piscal_processor.parser import parse_csv_line, parse_key_value_section

Tests

pip install -e ".[dev]"
pytest

Documentation

  • docs/csv_structure.md: CSV file structure (header, site/parameter blocks, measurement table).
  • docs/inputformat.txt: PISCAL input file specification (official format description).

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

piscal_processor-0.1.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

piscal_processor-0.1.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file piscal_processor-0.1.0.tar.gz.

File metadata

  • Download URL: piscal_processor-0.1.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for piscal_processor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a69cfb88fde132e87bfad1107af8af41a4cc6dcf0227b5d8fd40fc4aa765b3ac
MD5 91072aefdecde36f1c6ab43c14aaf406
BLAKE2b-256 74771532f21defbe264ac80fe2817cadd0935aef97619e0861023c88a094e331

See more details on using hashes here.

File details

Details for the file piscal_processor-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for piscal_processor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38a42144d8500e6969cb96fe7ed88971122840cd7905e56f0ff4f61379cb79ae
MD5 bf65ff15cfeaf4a4187baeee24667c1b
BLAKE2b-256 070af555c45c5f0b7e073f266a8f884c90c7d3cdcf9c69f769d89d70518974ea

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