Skip to content
This repository was archived by the owner on Oct 10, 2026. It is now read-only.
ShelfFoundryPublic archive

About

An unofficial C library and CLI for parsing PSA planogram files.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

psa-parser

Warning

This project is archived and no longer maintained. It is incomplete and misparses some PSA files. For a more complete reader, see Vazen's PSA support.

psa-parser is a C library and CLI for reading PSA planogram files.

This project is not affiliated with, endorsed by, or sponsored by Blue Yonder, JDA, or any related vendor. Product and company names are trademarks of their respective owners.

Provenance

The field mappings are based on years of hands-on experience working with planogram files. The project does not include proprietary documentation or customer planogram files. Fields that are not understood are kept in a generic unknown-fields structure.

Scope

psa-parser is a read-only interchange utility.

Status

  • Archived; no further development or support.
  • Incomplete and known to misparse some files. Do not rely on it for production data.
  • Tests use synthetic fixtures. Compatibility with any particular vendor version is not guaranteed.

Requirements

  • Linux/macOS shell environment
  • gcc
  • make
  • python3 (synthetic fixture generation for tests)

No external runtime dependencies.

Layout

  • include/psa.h: public API
  • src/: parser, record mapping, JSON helpers
  • cli/main.c: command-line interface
  • tests/: unit and synthetic integration tests

Build and test

make all             # library, CLI, tests
make test            # full test suite
make synthetic-test  # synthetic manifest verification
make clean

CLI

./build/psa-cli path/to/file.psa              # one JSON document (default)
./build/psa-cli --stream path/to/file.psa     # JSON Lines
./build/psa-cli --summary path/to/file.psa    # parse summary
./build/psa-cli --help

Library API

  • psa_parse_file(...), psa_parse_file_ex(...): file parsing (the _ex form accepts limits)
  • psa_parse_buffer(...), psa_parse_buffer_ex(...): in-memory parsing
  • Records arrive via callback as psa_record_t
  • JSON helpers: psa_record_to_json, psa_file_meta_to_json, psa_parse_file_to_json_document, psa_parse_buffer_to_json_document

See include/psa.h for details.

License

MIT. See LICENSE.

About

An unofficial C library and CLI for parsing PSA planogram files.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages