Ini file manipulator
Project description
Ini Uts
Installation
pip install iniUts
GitHub
https://github.com/ZdekPyPi/IniUts
Usage
read
test.ini file
[Person]
name = myname
age = 31
amount = 20.3
friends = friend1,friend2,friend3
dob = 1991-12-23
python code
from iniUts import IniUts
ini = IniUts('test.ini')
p_name = ini.cp_prd.read('Person','name')
print(p_name)
output
"myname"
write
test.ini file
[PERSON]
name = myname
python code
from iniUts import IniUts
ini = IniUts('test.ini')
ini.cp_prd.write('PERSON','last_name','mylastname')
getKeys
test.ini file
[PERSON]
name = myname
last_name = mylastname
python code
from iniUts import IniUts
ini = IniUts('test.ini')
keys = ini.cp_prd.getKeys("PERSON")
print(keys)
output
['name','last_name']
Section2Dict
test.ini file
[PERSON]
name = myname
age = 31
amount = 20.3
friends = friend1,friend2,friend3
dob = 1991-12-23
python code
from iniUts import IniUts
ini = IniUts('test.ini')
ini.cp_prd.section2Dict('PERSON')
print(Person)
output
{
"name" = "myname"
"age" = "31"
"amount" = "20.3"
"friends" = "friend1,friend2,friend3"
"dob" = "1991-12-23"
}
link
test.ini file
[PERSON]
name = myname
age = 31
amount = 20.3
friends = friend1,friend2,friend3
dob = 1991-12-23
python code
from iniUts import IniUts
from datetime import datetime
from dataclasses import dataclass
ini = IniUts('test.ini')
@ini.link('PERSON')
class Person():
name : str
age : int
amount : float
friends: tuple = ','
dob : datetime = "%Y-%m-%d"
print(Person.name)
print(Person.age)
print(Person.amount)
print(Person.friends)
print(Person.dob)
output
myname
31
20.3
("friend1","friend2","friend3")
datetime.datetime(1991, 12, 2, 0, 0)
ENCRYPTION
Using Encryption
test.ini file
[CREDENTIALS]
username = myuser
&_password = &_mypassword123
&_api_key = &_secret_api_key_12345
python code
from iniUts import IniUts
# Initialize with encryption key
ini = IniUts('test.ini', encryption_key="my_secure_encryption_key_32_chars")
@ini.link('CREDENTIALS')
class Credentials():
username: str
password: str
api_key : str
print(Credentials.username)
print(Credentials.password)
print(Credentials.api_key)
# Save encrypted values back to file
Credentials.password = "new_secure_password"
Credentials.save()
output
myuser
mypassword123
secret_api_key_12345
Note: When using encryption, the values in the INI file will be encrypted. The encryption key must be provided every time you read or write to the file.
ENVIORNMENT CHANGING
Link
prd.ini file
[PERSON]
name = myName # Will be changed in DEV
age = 31
amount = 20.3
friends = friend1,friend2,friend3
dob = 1991-12-23
[CONFIG]
ip = <some_ip>
path = <some_path> # Will be changed in DEV
dev.ini file
[PERSON] #change only PERSON name
name = myOtherName
[CONFIG] #change only CONFIG path
path = <another_path>
python code
from iniUts import IniUts,envar
from datetime import datetime
from dataclasses import dataclass
ini = IniUts('prd.ini','dev.ini',in_prd=True) #CHANGE S WILL BE MADE IF IN DEVELOPMENT MODE
@ini.link('PERSON')
class Person():
name : str
age : int
amount : float
friends: tuple = ','
dob : datetime = "%Y-%m-%d"
mode : envar(key='MODE',default='DEV')
@ini.link('CONFIG')
class Config():
ip : str
path : str
print(Person.name)
print(Person.age)
print(Config.ip)
print(Config.path)
output
#==================== IN PRD
myName
31
<some_ip>
<some_path>
#==================== IN DEV
myOtherName
16
<some_ip>
<some_path>
Change Log
1.0.0 (2023-04-26)
- First Release
1.0.1 (2023-04-26)
- Bug Fixed
1.0.2 (2023-04-26)
- Upercase Bug Fixed
1.0.3 (2023-04-26)
- Upercase Write Bug Fixed
1.0.4 (2023-04-28)
- Update Class bug fixed
1.0.6 (2023-04-28)
- empty_as_null
1.0.7 (2023-04-28)
- changing enviornment
1.3.0 (2025-12-01)
- encription and decription
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 iniuts-2.0.3.tar.gz.
File metadata
- Download URL: iniuts-2.0.3.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db9eab6aaf47a4376085640367f1fb36263b36ccb00439c1a8b7ed5d2282139
|
|
| MD5 |
056349f7f07d473ab54904a7a6236594
|
|
| BLAKE2b-256 |
4440db6b8aa2cf676e1de97d66c2ab199ce2cb1ff16008c9f7f209bd41ca8b1b
|
Provenance
The following attestation bundles were made for iniuts-2.0.3.tar.gz:
Publisher:
deploy.yml on ZdekPyPi/IniUts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
iniuts-2.0.3.tar.gz -
Subject digest:
7db9eab6aaf47a4376085640367f1fb36263b36ccb00439c1a8b7ed5d2282139 - Sigstore transparency entry: 920856409
- Sigstore integration time:
-
Permalink:
ZdekPyPi/IniUts@85e62dc7b6316ab5d7069be36db0515d2418f5b5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ZdekPyPi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@85e62dc7b6316ab5d7069be36db0515d2418f5b5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file iniuts-2.0.3-py3-none-any.whl.
File metadata
- Download URL: iniuts-2.0.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0484aeccf39dca45afeef13df8855aafbdb25929bcf0d2dcd247211be7030561
|
|
| MD5 |
a6160292f18eb941394572dfc2a0afb0
|
|
| BLAKE2b-256 |
dd358c79fae6f1fa431e21ebf03bb3e855b0db83547db3c403230853ec826d78
|
Provenance
The following attestation bundles were made for iniuts-2.0.3-py3-none-any.whl:
Publisher:
deploy.yml on ZdekPyPi/IniUts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
iniuts-2.0.3-py3-none-any.whl -
Subject digest:
0484aeccf39dca45afeef13df8855aafbdb25929bcf0d2dcd247211be7030561 - Sigstore transparency entry: 920856457
- Sigstore integration time:
-
Permalink:
ZdekPyPi/IniUts@85e62dc7b6316ab5d7069be36db0515d2418f5b5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ZdekPyPi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
deploy.yml@85e62dc7b6316ab5d7069be36db0515d2418f5b5 -
Trigger Event:
push
-
Statement type: