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.1-cp313-cp313-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.13Windows x86-64

acl_to_parquet-0.1.1-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.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for acl_to_parquet-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 83269ee09eb733910c51bfc133758573fb79eccf3f4c21291c864358e52e97c1
MD5 f2e142a1c783609da1a26eb71394273f
BLAKE2b-256 4520f4666758cce293304313118848e8d8b5b78c69b80c18972862820a0eba95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for acl_to_parquet-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30a3ea8a43f0900e05c4424d3ec5734dd79813496f7c8af8a9c1111719f78e5b
MD5 aecab3eeb737e5639654b0ca79026577
BLAKE2b-256 01e3747155d1181fa7fd9f3faa862250848b02bbdd80b81e744d78fb63fed61d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for acl_to_parquet-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fca05384dab6d127cf01ee5de4db14f96a44830e74996ac49db3af1eea4c6faa
MD5 aa528147c5efbf60f32163a8dd561441
BLAKE2b-256 2c1a22444b6a5cc5744c5474984c741155c8976420fc725cfe0f406b7b56a1aa

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