{"ref":"artifact:wegnerdan-zwdcsv","page":"/artifacts/wegnerdan-zwdcsv","json":"/artifacts/wegnerdan-zwdcsv.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"wegnerdan-zwdcsv","name":"ZwdCSV","artifact_type":"package","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","description":{"one_line":"A CSV parser and generator for ABAP that follows RFC 4180, including line breaks embedded inside quoted fields, for strings and for files on the application server and the frontend.","short":"RFC 4180 CSV parser and generator for ABAP","what_it_solves":"A CSV reader that just splits on line breaks fails once a field itself contains one; ZwdCSV should respect RFC 4180, and because of that 'the entire CSV string is needed for correct parsing' rather than being read line by line. `ZCL_WD_CSV` parses and generates CSV strings directly with `PARSE_STRING` and `GENERATE_STRING`, while `ZCL_WD_CSV_FILE` reads and writes CSV files on the application server and the frontend, assuming UTF-8 encoding. A separate parser and generator, [ZwdCSV-Cloud](https://github.com/WegnerDan/ZwdCSV-Cloud), covers ABAP Cloud, where this version does not run."},"links":{"repo":"https://github.com/WegnerDan/ZwdCSV"},"identity":{"license":"MIT"},"maintainers":["actor:wegnerdan"],"source_available":true,"provides":[{"capability":"capability:serialisation","what_it_does":"Parses and generates CSV strings and files in ABAP, handling RFC 4180 line breaks embedded inside quoted fields.","sources":[{"url":"https://github.com/WegnerDan/ZwdCSV","title":"WegnerDan/ZwdCSV — README","checked":"2026-09-14","quote":"The Parser should respect [RFC 4180](https://tools.ietf.org/html/rfc4180), especially end-of-line characters inside of cells."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:wegnerdan"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-07, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":9,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":9,"forks":4,"open_issues":0,"archived":false,"pushed_at":"2025-07-30","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2019-01-26T18:32:05Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":691,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-01-26","last_commit":"2025-07-30","commits":57,"contributors":1,"readme_path":"README.md","readme_sha":"ae79ea45d2fcb8600ce5782094fc9954cfde0702","repo_read":"2026-10-25"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/WegnerDan/ZwdCSV/releases"},"format":"github-releases","releases":[{"version":"2.0.1","date":"2025-07-30","date_source":"github","heading":"v2.0.1","url":"https://github.com/WegnerDan/ZwdCSV/releases/tag/v2.0.1","sections":[],"hash":"219b2bea04a8f231"},{"version":"2.0.0","date":"2022-04-09","date_source":"github","heading":"v2.0.0","url":"https://github.com/WegnerDan/ZwdCSV/releases/tag/v2.0.0_without_hungarian_notation","sections":[],"hash":"28a618b684e49a6b"},{"version":"1.0.0","date":"2022-04-09","date_source":"github","heading":"hungarian_notation v1.0.0","url":"https://github.com/WegnerDan/ZwdCSV/releases/tag/hungarian_notation","sections":[],"hash":"d1d999fd42e5f190"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:wegnerdan","name":"Daniel Wegner","json":"/actors/wegnerdan.json"}],"contributors":[{"ref":"actor:wegnerdan","name":"Daniel Wegner","json":"/actors/wegnerdan.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}