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.0b5.tar.gz (274.9 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.0b5-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: science_catalogs-0.1.0b5.tar.gz
  • Upload date:
  • Size: 274.9 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.0b5.tar.gz
Algorithm Hash digest
SHA256 fb1c28d9529d3131335073f2b29f63613429e39f13ccc2e1cb9389f6aed59dbe
MD5 503bb61e94ad83a7b946a15993776025
BLAKE2b-256 cfcdfcab69758527105574a5264670064ba28e061a70092a61aa24e835d23112

See more details on using hashes here.

Provenance

The following attestation bundles were made for science_catalogs-0.1.0b5.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.0b5-py3-none-any.whl.

File metadata

File hashes

Hashes for science_catalogs-0.1.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 f0a08fa2030db544bcb587471ce423d23f46715bc578582d6b34ba778be71664
MD5 a2402c1e1f4813ef8d0139f69858b5bc
BLAKE2b-256 df927ac52322c8f7a8c39b0372702dd5630fbb31fe5666ab2e025b3a8bc16dcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for science_catalogs-0.1.0b5-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.0b5 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