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
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7497e5de4ab1cb012d3d683d0f0fe5bea77fe265cf0edd01532d907ccda489bf
|
|
| MD5 |
27c1233d27a32d30734a933faff31cf0
|
|
| BLAKE2b-256 |
efcb284bdc07005845afa08be68fe3ae6b3e213b9dd0d020aeaf78cc72f5f890
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03030a66e625ff0b00c48d6647c31007c2c7c2b4bf111856d4e375a3b11940e5
|
|
| MD5 |
b887dfb0e7116db15da2906ce326bc07
|
|
| BLAKE2b-256 |
ff3f9a3c1a6476e0fcd2e7ef53939a3f9a3a877340186a80007c5af2cf6b69aa
|