Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

science_catalogs

science_catalogs is a reusable Python library for building science-ready catalogs with LSDB-oriented workflows. The package focuses on the reusable core of the processing stack:

  • column selection
  • column transformations
  • row filtering
  • output materialization to memory, partitioned files, or HATS catalogs

The package is published on PyPI as science-catalogs and imported in Python as science_catalogs.

Installation

pip install science-catalogs

For local development:

pip install -e '.[dev]'

Or, if you prefer a requirements file for a full developer environment including build and PyPI publication tools:

pip install -r requirements-dev.txt

Main API

from science_catalogs import (
    build_catalog,
    materialize_catalog,
    materialize_lsdb_catalog,
    open_lsdb_catalog,
    prepare_catalog,
    write_catalog,
)

Beta API

The beta public API is:

  • prepare_catalog
  • materialize_catalog
  • write_catalog
  • materialize_lsdb_catalog
  • open_lsdb_catalog
  • build_catalog

Legacy names based on pipeline are not part of the beta API.

Usage

Prepare a catalog from a catalog-processing YAML configuration:

from science_catalogs import prepare_catalog

prepared = prepare_catalog("configs/catalog.yml")

Materialize the processed data in memory and keep track of the written output paths:

from science_catalogs import materialize_catalog

result = materialize_catalog(prepared, "./output")
frame = result["data"]
paths = result["path"]

Write the result to disk. The write mode follows the output configuration, including HATS when output.save_as: hats is selected:

from science_catalogs import write_catalog

written_paths = write_catalog(prepared, "./output")

Open the final result as an LSDB catalog after writing HATS output:

from science_catalogs import materialize_lsdb_catalog

result = materialize_lsdb_catalog(prepared, "./output")
catalog = result["data"]
hats_path = result["path"]

Execute the full flow from configuration and persist parquet output in one call:

from science_catalogs import build_catalog

paths = build_catalog("configs/catalog.yml", output_dir="./output")

Or force a HATS artifact from the same flow:

hats_path = build_catalog(
    "configs/catalog.yml",
    output_dir="./output",
    output_format="hats",
)

If you already have a HATS catalog on disk, you can open it directly:

from science_catalogs import open_lsdb_catalog

catalog = open_lsdb_catalog("./output/my_catalog")

Download files

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

Source Distribution

science_catalogs-0.1.0b3.tar.gz (272.3 kB view details)

Uploaded Source

Built Distribution

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

science_catalogs-0.1.0b3-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file science_catalogs-0.1.0b3.tar.gz.

File metadata

  • Download URL: science_catalogs-0.1.0b3.tar.gz
  • Upload date:
  • Size: 272.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for science_catalogs-0.1.0b3.tar.gz
Algorithm Hash digest
SHA256 50330be76c21aef84db97afe6b51be80073651825080d0a6b3af807e0bcf8b4c
MD5 ae16f46bf934afaaa0849d4365edcc91
BLAKE2b-256 0820dbdc4f9e5832aede15874b4e4fd126f4931d3137113a32537e59c62d9460

See more details on using hashes here.

Provenance

The following attestation bundles were made for science_catalogs-0.1.0b3.tar.gz:

Publisher: publish-to-pypi.yml on linea-it/science_catalogs

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

File details

Details for the file science_catalogs-0.1.0b3-py3-none-any.whl.

File metadata

File hashes

Hashes for science_catalogs-0.1.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 4696b48536685c5cecbdcdf9a7d35a4478fbb4808f969e55d912490032ce79a0
MD5 d76b3ee24eea22263325eeeeda598943
BLAKE2b-256 0e57225a820f2bdb4f2bb50032a295b82ae26d166b41dbf7c8636dc3b0a62ebd

See more details on using hashes here.

Provenance

The following attestation bundles were made for science_catalogs-0.1.0b3-py3-none-any.whl:

Publisher: publish-to-pypi.yml on linea-it/science_catalogs

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

Release history Release notifications | RSS feed

This release

0.1.0b3 This release

2 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