Skip to main content

Print and concatenate EDI files

Project description

edicat: Print and transform EDI

pypi-version

Why?

EDI often does not include newlines which makes it incompatible with normal UNIX tools that operate on a line-by-line basis. So we do some simple detection of the segment terminator and append newlines as required.

Install

pip3 install -U edicat

Usage

$ edicat --help
usage: edicat [-n] [filenames [filenames ...]]

Print and concatenate EDI.

positional arguments:
  filenames     Filename(s) or - for stdin

optional arguments:
  -n, --lineno  Number the output lines, starting at 1.

Examples

Simple cat:

$ cat edi850_sample.txt
ISA*00*          *00*          *01*0011223456     *01*999999999      *950120*0147*U*00300*000000005*0*P*^~GS*PO*0011223456*999999999*950120*0147*5*X*003040~ST*850*000000001~BEG*00*SA*95018017***950118~N1*SE*UNIVERSAL WIDGETS~N3*375 PLYMOUTH PARK*SUITE 205~N4*IRVING*TX*75061~N1*ST*JIT MANUFACTURING~N3*BUILDING 3B*2001 ENTERPRISE PARK~N4*JUAREZ*CH**MEX~N1*AK*JIT MANUFACTURING~N3*400 INDUSTRIAL PARKWAY~N4*INDUSTRIAL AIRPORT*KS*66030~N1*BT*JIT MANUFACTURING~N2*ACCOUNTS  PAYABLE DEPARTMENT~N3*400 INDUSTRIAL PARKWAY~N4*INDUSTRIAL AIRPORT*KS*66030~PO1*001*4*EA*330*TE*IN*525*VN*X357-W2~PID*F****HIGH PERFORMANCE WIDGET~SCH*4*EA****002*950322~CTT*1*1~SE*20*000000001~GE*1*5~IEA*1*000000005~

EDIcat:

$ edicat edi850_sample.txt
ISA*00*          *00*          *01*0011223456     *01*999999999      *950120*0147*U*00300*000000005*0*P*^~
GS*PO*0011223456*999999999*950120*0147*5*X*003040~
ST*850*000000001~
BEG*00*SA*95018017***950118~
N1*SE*UNIVERSAL WIDGETS~
N3*375 PLYMOUTH PARK*SUITE 205~
N4*IRVING*TX*75061~
N1*ST*JIT MANUFACTURING~
N3*BUILDING 3B*2001 ENTERPRISE PARK~
N4*JUAREZ*CH**MEX~
N1*AK*JIT MANUFACTURING~
N3*400 INDUSTRIAL PARKWAY~
N4*INDUSTRIAL AIRPORT*KS*66030~
N1*BT*JIT MANUFACTURING~
N2*ACCOUNTS  PAYABLE DEPARTMENT~
N3*400 INDUSTRIAL PARKWAY~
N4*INDUSTRIAL AIRPORT*KS*66030~
PO1*001*4*EA*330*TE*IN*525*VN*X357-W2~
PID*F****HIGH PERFORMANCE WIDGET~
SCH*4*EA****002*950322~
CTT*1*1~
SE*20*000000001~
GE*1*5~
IEA*1*000000005~

Run tests

python3 -m unittest

Known Issues:

  • cat /path/* | edicat won't work with documents that are mixed spec/separators (stdin has no hints as to file boundary).
    • Workarounds:
      • edicat /path/*.edi
      • find /path/ -name '*.edi' | xargs edicat
  • No TRADACOMS support
  • No HL7 support

Project details


Download files

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

Source Distribution

edicat-2024.8.2.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

edicat-2024.8.2-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file edicat-2024.8.2.tar.gz.

File metadata

  • Download URL: edicat-2024.8.2.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for edicat-2024.8.2.tar.gz
Algorithm Hash digest
SHA256 947b455d29de3d4a2c39d24864af19ae7908314170bf1e2635bc43e803a695af
MD5 35679be7a76c0f9112e96c89c76fd227
BLAKE2b-256 68ab993dcb38d3b79d7628870af5dea9bac179f24ec2c7f36af9da430a61f021

See more details on using hashes here.

File details

Details for the file edicat-2024.8.2-py3-none-any.whl.

File metadata

  • Download URL: edicat-2024.8.2-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for edicat-2024.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9f445952677399dbcf3af6c26d86bc47acde03e39162e5170f043c82b8491307
MD5 c94d703716a712e23aec9b025cb4d6a8
BLAKE2b-256 ebbcd5f9a9cf298f275e6a5591f18fca83b04e5984b0e430898eba569ec5a83d

See more details on using hashes here.

Supported by

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