The ease of file datafiles
Project description
Github
PYPI
Discord
FastDataFile
This library is a simple library helping you to establish file datafiles with ease
How to install
To install just use following command
pip install fastdatafile
If you are looking for latest beta/alpha, you can use following command
pip install --upgrade git+https://github.com/Ashenguard/FastDataFile.git
By installing this library following libraries and their dependencies will be installed too.
Json & Yaml - Used as basic encoders
Example
This example JSON file
{
"Test": {
"BranchA": 5,
"BranchB": "Great ;)"
},
"TestValue": 1234
}
Basic example on how fast datafiles work, JSONDataFile
is an example here and YAMLDataFile
is also the same
from FastDataFile import JSONDataFile
"""
If you set `create_if_missing` to `True` it will create the file if it's missing and will save the `default_data` in it.
Providing `None` to `default_data` will result of saving an empty data (`{}`)
Arguments shown here are default values, You can ignore them if you want to use the default values.
"""
json_db = JSONDataFile.open('path/to/file.json', create_if_missing=True, default_data=None, encoding='utf8')
"""
Data can be nested tree, You can move in the tree by using `.` as seperator.
You can provide the method a type or lambda as cast, It will use it to process data one more time! It's not required!
"""
print(json_db.get_data('Test.BranchA', cast=int) * 2)
# Prints: 10
print(json_db.get_data('Test.BranchA', cast=str) * 2)
# Prints: 55
"""
Same rules is applied here for the pathing in the data.
If `default` is set to `True` it will only apply data if the path do not exists!
"""
json_db.set_data('Test.BranchB', "Hey!") # Change the data to `Hey!`
json_db.set_data('Test.BranchB', "Hi!", default=True) # Skips as it exists
json_db.set_data('Test.BranchC', "Hi!", default=True) # Adds the new path and save the data
"""
Removes the path and value for ever! (A long time!!!)
"""
json_db.remove('TestValue')
"""
Removes the data file for ever! (A long time!!!)
You must provide the `confirm` wih `True` or it will not remove the file!
"""
json_db.delete(confirm=True)
You can use YAMLDataFile
instead of JSONDataFile
and it will be the same, Just another format of file encoding will be used.
❗ There will be more tutorials and examples at FastDataFile Wiki ❗
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
Built Distribution
File details
Details for the file FastDataFile-2.1.1.tar.gz
.
File metadata
- Download URL: FastDataFile-2.1.1.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.26.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51a3dc047e63879b3441ee19e6138d92aaab5adec5a90319ff4d13c526b87dd6 |
|
MD5 | bd2087483564cba31248e35a4a5a6609 |
|
BLAKE2b-256 | b592797e56606430256d9984d7ed2895c40180d90221c3b3702a9daf90c18e57 |
File details
Details for the file FastDataFile-2.1.1-py3-none-any.whl
.
File metadata
- Download URL: FastDataFile-2.1.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.26.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a958ed62effe479c893e663915905db30d3fd1f5837fbf6e461b5aef7bac711 |
|
MD5 | 56365d3a89b99e63af33ae30caa92ec9 |
|
BLAKE2b-256 | 3a3b22226d19a58977d4acc82079ebc2acb1e0545e1156e404e6a80e0ab12770 |