Skip to main content

pipette

Install with Bioconda Lifecycle: experimental

Unified reading and writing of data in Python.

Installation

uv method

This is a Python package hosted on PyPI as acidgenomics-pipette. The import name is unchanged: pipette. We recommend using uv to install.

uv add 'acidgenomics-pipette[extra]'

Or with pip:

pip install 'acidgenomics-pipette[extra]'

Conda method

Configure Conda to use the Bioconda channels.

# Don't install recipe into base environment.
name='pipette'
conda create --name="$name" "$name"
conda activate "$name"
python -c 'import pipette'

Conda has no equivalent of Python extras. For the optional format support that pipette[extra] provides, add the dependencies to the environment: conda create --name="$name" "$name" openpyxl pyarrow pyyaml scipy.

Quick Start

Read

import pipette

# Read a CSV file.
df = pipette.read("data.csv")

# Read a TSV file.
df = pipette.read("data.tsv")

# Read an Excel file (requires openpyxl).
df = pipette.read("data.xlsx")

# Read JSON.
data = pipette.read("data.json")

# Read from a URL.
df = pipette.read("https://example.com/data.csv")

Write

import pandas as pd
import pipette

df = pd.DataFrame(
    {"sample1": [1, 2, 3], "sample2": [4, 5, 6]},
    index=["gene1", "gene2", "gene3"],
)

# Write to CSV.
pipette.write(df, "output.csv")

# Write to TSV.
pipette.write(df, "output.tsv")

# Write compressed.
pipette.write(df, "output.csv.gz")

Data Transformation

# Sanitize NA values in string columns.
df = pipette.sanitize_na(df)

# Convert columns with duplicates to categorical.
df = pipette.categorize(df)

# Convert categorical columns back to their underlying type.
df = pipette.uncategorize(df)

# Drop columns holding nested (non-scalar) values.
df = pipette.drop_nested_columns(df)

Supported Formats

Read

Format Extension Dependencies
CSV .csv -
TSV .tsv, .tab -
Excel .xlsx, .xls openpyxl
JSON .json -
YAML .yml, .yaml pyyaml
Pickle .pickle, .pkl -
Lines .txt, .log, .list -
GMT .gmt -
GMX .gmx -
GRP .grp -
GCT .gct -
GAF .gaf -
MTX .mtx, .mtx.gz scipy
Parquet .parquet pyarrow
Feather/Arrow .feather, .arrow pyarrow
HDF5 .h5, .hdf5 -

Write

Format Extension Dependencies
CSV .csv -
TSV .tsv, .tab -
JSON .json -
YAML .yml, .yaml pyyaml
Pickle .pickle, .pkl -
Lines .txt, .log -

Compressed output is supported via .gz, .bz2, .xz, and .zip suffixes.

Optional Dependencies

  • openpyxl: Excel file support.
  • pyarrow: Parquet and Feather file support.
  • pyyaml: YAML file support.
  • scipy: MTX (Matrix Market) sparse matrix support.

License

Apache-2.0 — Copyright 2026 Acid Genomics LLC — see LICENSE.

Release files for acidgenomics-pipette 0.2.1

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

Source distribution (sdist)

Source distribution for acidgenomics-pipette 0.2.1
File Size Uploaded
acidgenomics_pipette-0.2.1.tar.gz 20.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for acidgenomics-pipette 0.2.1
File Interpreter ABI Platform
acidgenomics_pipette-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 45.6 kB

Release files / acidgenomics_pipette-0.2.1.tar.gz

Download URL acidgenomics_pipette-0.2.1.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c486926176c639815e2e79800134b3c3dc78b50deeaedfcf70d91a888a326432
BLAKE2b-256 checksum
How to use checksums
f4a56c499c26c92e0fb3459f593ff76f25de0e53a12ff1ba9cf62d3d9a9c64a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / acidgenomics_pipette-0.2.1-py3-none-any.whl

Download URL acidgenomics_pipette-0.2.1-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf6196b9efbd401b5cdb41827b899c233d1690bb41312b090f70b7021625a75f
BLAKE2b-256 checksum
How to use checksums
f014089fc996aa03fbb8be2e94034b0cb459065da5cd41b796ffbafeadad2c01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.2.1 This release

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