Skip to main content

bind9-parser reads ISC config files and produces a (massive) Pythonized Dict/List containing all of its configuration settings.

bind9-parser

I needed a parser in Python that can handle ISC Bind configuration file.

Why Did I Do This?

I see lots of Python scripts for ISC Bind Zone files, but not its configuration.

The closest cousin of Bind configuration format is NGINX config.

The closest Python (and configuration file parser) I could find was liuyangc3/nginx_config_parser on GitHub here.

On GitHub, I have found lots of generator, beautifier, lint, builder, change detector for Bind9, but no really good parser for Bind9 configuration file.

I built a complete parser that will work on version 4.9 to 9.15. Why did I name it Bind9-parser? Because I started out only to cover Bind version 9.0 to 9.15. I later expanded it to cover 4.9 on up.

Features

Features:

  • 'include' statements are also supported (my favorite)
  • Relative directory support (not stuck on /etc/bind or /var/lib/bind)
    • Useful for testing many config files in their respective local subdirectory(s).
  • Support for Bind 4.8 to v9.15.1 (working on Bind10)
  • ISC config files are used in ISC Bind9 server, as well as both ISC DHCP server and client.

bind9-parser make it so easy to do all of that, and now easier for you.

An example Bind9 config file that contains:

    options {
        version "4.1";
        recursion no;
    }

bind9-parser result is:

    result = { 'options': { 'version': "4.1", 'recursion': 'no' }}

Unit Tests

A massive unit test is supplied (under tests/ subdirectory) to ensure that future breakage does not occur.

Release files for bind9-parser 0.9.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bind9-parser 0.9.8
File Size Uploaded
bind9_parser-0.9.8.tar.gz 48.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for bind9-parser 0.9.8
File Interpreter ABI Platform
bind9_parser-0.9.8-py3.7.egg Legacy Egg format - - Details
bind9_parser-0.9.8-py2.7.egg Legacy Egg format - - Details

Total release size: 248.4 kB

Release files / bind9_parser-0.9.8.tar.gz

Download URL bind9_parser-0.9.8.tar.gz
Size 48.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3208e0af244e3f24d401ecfe0a6e0772fe54d8b18ede7be9dfc3dd046b039856
BLAKE2b-256 checksum
How to use checksums
68aa3d7b0d2a16616b41e785bff058728a30dfbafa29ae736f9d69880cf90bb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3

Release files / bind9_parser-0.9.8-py3.7.egg

Download URL bind9_parser-0.9.8-py3.7.egg
Size 103.7 kB
Tags Egg
SHA-256 checksum
How to use checksums
ac0c30aeca9137f528cadff88ced487f20878eaf96dac412d55cd20217f69a4b
BLAKE2b-256 checksum
How to use checksums
2fa87165d5f15d2eff08433c52be8cb8e49e964e3e2005a20a4b95832379115c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3

Release files / bind9_parser-0.9.8-py2.7.egg

Download URL bind9_parser-0.9.8-py2.7.egg
Size 96.4 kB
Tags Egg
SHA-256 checksum
How to use checksums
7ad4d045cf6c6f7dc1eb4c744c9705d60ae01c0f742f89d9950b598f45371f10
BLAKE2b-256 checksum
How to use checksums
f47df2fb08d0a8539fa7babfa463275ab36dbb847516c131abe1e02436719923
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3

Release history Release notifications | RSS feed

This release

0.9.8 This release

3 release 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