Skip to main content

jcl-parser

Python library for parsing IBM z/OS JCL (Job Control Language) into structured Job, Step, and DD objects. Supports PROC expansion, validation, lint rules, SQL detection, and dataset lifecycle analysis.

Python 3.10+ Coverage License: EULA

Install

pip install -e ".[dev]"

Requires Python 3.10+. No runtime dependencies.

Quick Start

import jclparser

job = jclparser.parse_jcl(source)
print(job.name)
print(job.steps[0].program)

CLI:

jcl-parser FILE steps          # list all steps
jcl-parser FILE --validate     # validate JCL
jcl-parser FILE lint           # run lint rules
jcl-parser FILE --json         # full parse result as JSON

Commands

# Tests
pytest
pytest -m unit

# Lint / format / type-check
ruff check . && ruff format .
mypy jclparser/

# Vendor sync (after changes to jclparser/) — rm first: plain `cp -r` nests
# into dest/jclparser/jclparser/ and leaves stale files when dest exists
rm -rf ../backend/_vendor/jcl-parser/jclparser && cp -r jclparser/ ../backend/_vendor/jcl-parser/jclparser

Documentation

Full reference: index.md

License

Proprietary EULA — see LICENSE.

Download files

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

Source Distribution

jcl_parser-1.2.1.tar.gz (109.4 kB view details)

Uploaded Source

Built Distribution

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

jcl_parser-1.2.1-py3-none-any.whl (130.2 kB view details)

Uploaded Python 3

File details

Details for the file jcl_parser-1.2.1.tar.gz.

File metadata

  • Download URL: jcl_parser-1.2.1.tar.gz
  • Upload date:
  • Size: 109.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jcl_parser-1.2.1.tar.gz
Algorithm Hash digest
SHA256 41b94abd4ece895bf72a36d5dc2d61aa47472341ed6128e648413ec800eef84b
MD5 93224373d1f44a36512e8902e82a0eb5
BLAKE2b-256 778772e134fc4cb21956c85f3633e3ffeaa7ce56f5ea1e39a54a086f16be9f10

See more details on using hashes here.

Provenance

The following attestation bundles were made for jcl_parser-1.2.1.tar.gz:

Publisher: release-please.yml on Landparty/jcl-parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jcl_parser-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: jcl_parser-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 130.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jcl_parser-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1464c5f2bdd8a86befe9c6dcb2b28cd668d0281047cc65bbbc26b0dac0817d6c
MD5 97f4516493dda3ae0adcaa5f764e6282
BLAKE2b-256 edec087674a0f8f810b2c4742e342f6701d8ee300025057f975e7497c20ec989

See more details on using hashes here.

Provenance

The following attestation bundles were made for jcl_parser-1.2.1-py3-none-any.whl:

Publisher: release-please.yml on Landparty/jcl-parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page