Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Introduction

bicop is a python library to process ISC bind-style configuration files. These are nested structures that look like this:

datasource1 {
    server     "server1.your.domain";
    username   "client";
    password   "secret";
    extra {
        isolation "full";
    };
};

tables {
    "users";
    "groups";
};

Parsing

Parsing is trivial using the ‘’parse’’ method:

from bicop import parse
parse("/etc/bind/named.conf")

This returns a standard python dictionary with all data read from the file. Entries in the dictionary can be other dictionaries or lists.

Merging

A common need is to be able to support default values for configurations or to handle configuration at multiple levels with priorities, for example a uer configuration overriding entries from the system-wide configuration. To support this bicop has a utility method that can merge dictionaries. You can use it like this:

from bicop import parse
from bicop import merge

configuration=parse("/etc/application.conf")
userconfig=parse("/home/user/.application")
merge(configuration, userconfig, overwrite=True)

Easy access for nested dictionaries

Configuration files in this format can have deeply nested structures. Accessing those using standard python dictionaries is a slightly cumbersone. To make this a bit more pleasant on the eyes you can use the NestedDict wrapper:

from bicop import parse
from bicop import NestedDict

configuration=NestedDict(parse("/etc/application.conf"))
print "Your signature is: %s" % configuration["profiles/user/signature"]

Changes

1.0rc2 - August 2, 20009

  • Add an optional dictclass parameter to the parse method. This can be used to use alternative dictionary types, most typically ordered dictionaries.

  • Drop dependency on nose to run tests.

  • Use ez_setup to automatically install setuptools if needed.

Metadata

Release files for bicop 1.0rc2

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

Source distribution (sdist)

Source distribution for bicop 1.0rc2
File Size Uploaded
bicop-1.0rc2.tar.gz 9.6 kB Details

Release files / bicop-1.0rc2.tar.gz

Download URL bicop-1.0rc2.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6969171cf7f064738e13f6b045d24e4b54100c1d1e4e3fbee9bd89f8c069715e
BLAKE2b-256 checksum
How to use checksums
7290b7cf47a8a19eaeab838ce180f8c978ec7a49dbdeafd61bc8a2a52b8de542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0rc2 This release

1 release file

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