Skip to main content

The ease of file datafiles

Project description

Github


PYPI

Downloads Downloads Downloads


Discord

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

FastDataFile-2.1.1.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

FastDataFile-2.1.1-py3-none-any.whl (8.5 kB view hashes)

Uploaded Python 3

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