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)
| File | Size | Uploaded | |
|---|---|---|---|
| bind9_parser-0.9.8.tar.gz | 48.3 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|