API Overview
Core classes
EuclidArchive
Main interface for archive login, TAP operations, crossmatch, and spectra query.
Typical usage:
from euclidkit.core.data_access import EuclidArchive
archive = EuclidArchive(environment="PDR")
archive.login(credentials_file="~/.euclidkit/.cred.txt")
results = archive.crossmatch_sources(
user_table="sources.csv",
radius=1.0,
output_file="results.fits",
)
IDR DEEP MER partition selection:
archive = EuclidArchive(environment="IDR")
archive.login()
# Default DEEP partition is "survey" (EDFN, EDFF, EDFS).
deep_survey = archive.crossmatch_sources(
user_table="deep_sources.fits",
output_file="deep_survey_crossmatch.fits",
idr_field="DEEP",
idr_deep_partition="survey",
)
# Use "mode" for CDFS/COSMOS, or "both" to query survey first then mode.
deep_both = archive.crossmatch_sources(
user_table="deep_sources.fits",
output_file="deep_both_crossmatch.fits",
idr_field="DEEP",
idr_deep_partition="both",
)
The same idr_deep_partition argument is available on
crossmatch_user_table and Cutana input generation paths that resolve MER
metadata. It applies only to MER catalogue selection, not spectra-source or
SPE redshift candidate table selection.
SpectrumCompiler
Compiles queried spectra into chunked FITS products and metadata tables.
from euclidkit.core.spectra import SpectrumCompiler
compiler = SpectrumCompiler(max_extensions=1000)
output_files = compiler.compile_spectra(
spectra_table=spectra_table,
output_dir="./output",
output_prefix="compiled_spectra",
workers=1,
)
metadata_file = compiler.create_metadata_table(
spectra_table=spectra_table,
output_files=output_files,
output_dir="./output",
)