Skip to main content

Python library that allows you to easily load languages and settings ​​into your project using JSON files

Project description

EasyJsonPy

EasyJsonPy is a Python library for loading and managing languages ​​and settings in JSON format.

Installation

To install EasyJsonPy, simply clone the repository and run:

pip install easyjsonpy

Usage

Simple use of language functions.

You need the language files in your project in their respective path

from easyjsonpy import (
    load_language,
    load_languages,
    set_language,
    translate_message,
    get_current_language,
    get_languages
)

# Load a single language
load_language('en', 'path/to/en.json')

# Load multiple languages
languages = [
    {'name': 'en', 'path': 'path/to/en.json'},
    {'name': 'es', 'path': 'path/to/es.json'}
]
load_languages(languages)

# Set the current language
set_language('en')

# Translate a message
message = translate_message('greeting.hello')
print(message)  # Output: Hello (if the translation exists in en.json)

# Get the current language
current_language = get_current_language()
print(current_language)  # Output: en

# Get all loaded languages
loaded_languages = get_languages()
print(loaded_languages)  # Output: {'en': {...}, 'es': {...}}

You can load the language in the main file and get the translations in other files.

main.py

from easyjsonpy import load_language, set_language
from test import example_function

load_language('en', 'en.json')
set_language('en')
example_function()
test.py
from easyjsonpy import translate_message

def example_function():
    print(translate_message('helloWorld'))  # Output: Hello World
    print(translate_message('messages.example'))  # Output: Example Message

en.json

{
    "messages": {
        "example": "Example Message"
    },
    "helloWorld": "Hello World"
}

Complete documentation of language features here

Simple use of settings functions.

You need the setting file in your project in their respective path

from easyjsonpy import (
    load_configuration,
    load_configurations,
    get_config_value,
    set_config_value,
    get_configuration,
    get_configurations,
    remove_configuration,
    remove_all_configurations
)

# Load a single configuration
load_configuration('config1', 'path/to/config1.json')

# Load multiple configurations
configs = [
    {'name': 'config1', 'path': 'path/to/config1.json'},
    {'name': 'config2', 'path': 'path/to/config2.json'}
]
load_configurations(configs)

# Get a value from a configuration
value = get_config_value('some.key', 'config1')
print(f"Value from config1: {value}")

# Set a value in a configuration
set_config_value('some.key', 'new_value', 'config1')

# Verify the value was set
updated_value = get_config_value('some.key', 'config1')
print(f"Updated value from config1: {updated_value}")

# Get the loaded configuration
config = get_configuration('config1')
print(f"Loaded config1: {config}")

# Get all loaded configurations
all_configs = get_configurations()
print(f"All loaded configurations: {all_configs}")

# Remove a specific configuration
remove_configuration('config1')
print(f"Configurations after removing config1: {get_configurations()}")

# Remove all configurations
remove_all_configurations()
print(f"Configurations after removing all: {get_configurations()}")

Like the language, you can load the configuration in your main file and in the modules get the configuration directly

main.py

from easyjsonpy import load_configuration
from test import example_function

load_configuration('default', 'config.json')
load_configuration('anotherConfig', 'anotherConfig.json')
example_function()
test.py
from easyjsonpy import get_config_value


def example_function():
    print(get_config_value('key1', 'default'))  # Output: 'defaultValue'
    print(get_config_value('key1'))  # Default config_name is 'default'. Output: 'defaultValue'
    print(get_config_value('key2', 'anotherConfig'))  # Output: 'anotherValue'

config.json

{
    "key1": "defaultValue"
}

anotherConfig.json

{
    "key2": "anotherValue"
}

Complete documentation of language features here

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

easyjsonpy-1.0.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

easyjsonpy-1.0.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file easyjsonpy-1.0.0.tar.gz.

File metadata

  • Download URL: easyjsonpy-1.0.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for easyjsonpy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7497e5de4ab1cb012d3d683d0f0fe5bea77fe265cf0edd01532d907ccda489bf
MD5 27c1233d27a32d30734a933faff31cf0
BLAKE2b-256 efcb284bdc07005845afa08be68fe3ae6b3e213b9dd0d020aeaf78cc72f5f890

See more details on using hashes here.

File details

Details for the file easyjsonpy-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: easyjsonpy-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for easyjsonpy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03030a66e625ff0b00c48d6647c31007c2c7c2b4bf111856d4e375a3b11940e5
MD5 b887dfb0e7116db15da2906ce326bc07
BLAKE2b-256 ff3f9a3c1a6476e0fcd2e7ef53939a3f9a3a877340186a80007c5af2cf6b69aa

See more details on using hashes here.

Supported by

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