schemancer scans a flat folder of CSV, TSV, and Parquet files, infers a
registry, adds conservative relationship hints, and generates a standalone
Python package with SQLAlchemy models and load helpers.
schemancer scan <source-dir> --registry-out <path>
schemancer infer-relationships <registry-path>
schemancer generate <registry-path> --output-dir <dir> --package-name <name>
schemancer build <source-dir> --output-dir <dir> --package-name <name>From the repo root:
schemancer scan --registry-out new_schema ~/CODE/schemancer/test_dataIf new_schema is an existing directory, this writes:
new_schema/registry.json
Then infer relationships into the same file:
schemancer infer-relationships new_schema/registry.jsonGenerate a standalone package:
schemancer generate new_schema/registry.json --output-dir generated --package-name my_schemaOr do the whole flow in one command:
schemancer build /Users/z3061723/Documents/CODE/schemancer/test_data --output-dir generated --package-name my_schemaAfter generation, the package will be at:
generated/my_schema
uv run --extra dev pytest