Coverage for src / crump / __init__.py: 100%
5 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-02-11 14:40 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-02-11 14:40 +0000
1"""Sync CSV, Parquet, and CDF science files into database.
3This package provides both a CLI tool and programmatic API for syncing
4CSV, Parquet, and CDF files into a database (PostgreSQL or SQLite).
6CLI Usage:
7 crump sync <file> <config> <job> --db-url <url>
8 crump prepare <file> <config> <job>
9 crump inspect <file>
10 crump extract <file> --output-dir <dir>
12Programmatic Usage:
13 from crump import sync_file_to_db, analyze_tabular_file_types_and_nullable
14 from pathlib import Path
16 # Sync a tabular file (CSV or Parquet)
17 sync_file_to_db(
18 file_path=Path("data.parquet"),
19 job=job_config,
20 db_connection_string="postgresql://localhost/mydb"
21 )
22"""
24__version__ = "0.4.1"
26# Export main API functions
27from crump.config import (
28 ColumnMapping,
29 CrumpConfig,
30 CrumpJob,
31 FailureMode,
32 Index,
33 IndexColumn,
34)
35from crump.database import (
36 DryRunSummary,
37 sync_file_to_db,
38 sync_file_to_db_dry_run,
39)
40from crump.type_detection import (
41 analyze_tabular_file_types_and_nullable,
42 suggest_id_column,
43)
45__all__ = [
46 "__version__",
47 # Configuration
48 "CrumpConfig",
49 "CrumpJob",
50 "ColumnMapping",
51 "FailureMode",
52 "Index",
53 "IndexColumn",
54 # Database operations
55 "sync_file_to_db",
56 "sync_file_to_db_dry_run",
57 "DryRunSummary",
58 # Type detection
59 "analyze_tabular_file_types_and_nullable",
60 "suggest_id_column",
61]