Skip to main content

Loads required properties/config from a json file to a Python runtime object

Project description

Adjsoned

This Python library can help you easily load your program's configuration/properties from a json file to a Python runtime object making key-value data accessible via python's "." syntax—as these key-value pairs were fields of this object.

Installation

pip install adjsoned

Get started

Instantiate a FileJsonProperties object giving it your config file's path and it will just work:

from adjsoned import FileJsonProperties


properties = FileJsonProperties(filepath="examples/some_properties.json")

# We can now access key-value/arrays data stored in our JSON file the following way:
# (NB: the ROOT element of your JSON file MUST be a DICT!)

if properties.debug_mode:
    print("We're in debug mode!")
    print("P.S. Properties told me that :)")

# 'properties' is an instance of FileJsonProperties (as well as JsonProperties — a parent class)
# 'properties.app_version' is also a JsonProperties instance, so we can access its fields like that:
print(properties.app_version.code)  # prints '4.1.2'

# arrays are interpreted as regular Python lists, you can just normally iterate through them:
for section in properties.project_settings.ignored_sections:
    print("Ignoring section", section)

# if an array element is a dictionary, it gets interpreted as a JsonProperties object as well:
print(properties.messages[1].title)  # prints: 'Hello again.'

The JSON file used in this example:

{
  "debugMode": true,

  "appVersion": {
    "code": "4.1.2",
    "build": 2
  },

  "projectSettings": {
    "frameRate": 60,
    "ignoredSections": [2, 6, 9]
  },

  "messages": [
    {
      "title": "Hello!",
      "description": "This is the first message."
    },
    {
      "title": "Hello again.",
      "description": "This is the second one. Nice to see you again!"
    }
  ]
}

Project details


Download files

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

Source Distribution

adjsoned-0.0.4.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file adjsoned-0.0.4.tar.gz.

File metadata

  • Download URL: adjsoned-0.0.4.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for adjsoned-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d42235558500206c5fe244dd4902f6adcf0b15a20c0c1e508d5ed1981a1d188d
MD5 02dceabf6be4a2cb1a7110e63c7202eb
BLAKE2b-256 d0e5cff9c556d8ae7c1fac84da97d7c7085008e69a5999802aa9e8936001fb3f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page