Skip to main content

Convertisseur Rust de tables ACL Audit Command Language (.FIL) vers Parquet

Project description

acl_to_parquet — bindings Python

Bindings Python d'un convertisseur Rust haute performance pour les tables ACL Audit Command Language (.FIL) vers Parquet.

Pour la documentation complète du projet (format ACL géré, conventions de nommage, options du CLI Rust), voir le dépôt principal.

Installation

pip install acl_to_parquet

Nécessite Python 3.13 ou supérieur.

Usage

Conversion d'un fichier

from acl_to_parquet import convert

report = convert(
    data_path="data/clients.FIL",
    schema_path="schemas/clients.layout",
    output_path="output/clients.parquet",
)
print(report)
# ConversionReport(rows_written=1234567, n_fields=42, total_seconds=3.21)

print(f"{report.rows_written:,} lignes écrites")
print(f"Anomalies par colonne : {report.anomalies_per_column}")

Conversion d'un dossier entier en parallèle

from acl_to_parquet import convert_directory

summary = convert_directory(
    input_dir="data/",
    schema_dir="schemas/",
    output_dir="output/",
    jobs=4,           # None = nombre de cœurs CPU
    verbose=True,     # affiche la progression sur stderr
)

print(summary)
# BatchSummary(n_success=12, n_failure=0, total_rows_written=98765432)

for outcome in summary.outcomes:
    if outcome.success:
        print(f"OK   {outcome.data_path}{outcome.output_path}")
    else:
        print(f"FAIL {outcome.data_path} : {outcome.error}")

Convention de nommage attendue par convert_directory

Pour chaque fichier <nom>.FIL dans input_dir, le module cherche <nom>.layout dans schema_dir et produit <nom>.parquet dans output_dir. Les fichiers sans schéma associé apparaissent comme des échecs dans le résumé, sans interrompre le batch.

Options de conversion

Les fonctions convert() et convert_directory() acceptent les paramètres optionnels suivants :

Paramètre Défaut Description
chunk_rows 65 536 Nombre de lignes par batch en mémoire
row_group_size 1 048 576 Lignes par row group Parquet
compression "snappy" "snappy" | "zstd" | "none"
jobs None Workers parallèles (batch uniquement)
verbose False Logs de progression (batch uniquement)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

acl_to_parquet-0.1.0-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

acl_to_parquet-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

acl_to_parquet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

File details

Details for the file acl_to_parquet-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for acl_to_parquet-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1283116b12e907b0f09ae5095db81f08341c1b509298d8369e6848a75522ef40
MD5 e90031960e62d1c5b917ff5e59104282
BLAKE2b-256 f9409609996d78254c6270c3f4aca455394f2b0bb9714e9afb01cbcbd0ba31fb

See more details on using hashes here.

File details

Details for the file acl_to_parquet-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acl_to_parquet-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c68a6c4bd0b8141b42e030d3421f9edab32dd7363dfbb61165be42908600fd57
MD5 c3e7cf830a0a480b063c1aefe2864905
BLAKE2b-256 825e27c254b67340981e5d59c89510a0ec6499a4c7ea88688b3c52848f5eeb86

See more details on using hashes here.

File details

Details for the file acl_to_parquet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for acl_to_parquet-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9a639a382f21ac9642c6cab15e0f2c4cd9597f4426810c92d8a9d932ef6f199
MD5 89c0537666c7306c7d9044a29535de4e
BLAKE2b-256 788b454cc0ce01695ffe3eeba06f4d2e7314cb21ef41d87729caa8fa4a61e6a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page