Skip to main content

The Pythonic Archive Kit

Project description

PAK: Picklable and Encrypted Recursive Namespace

PAK is a simple, recursive namespace that can be pickled and encrypted.

Usage

The PAK class provides a way to create a recursive namespace that can be pickled and encrypted.

Classes

PAK

class PAK(SimpleNamespace):
    """This is the core of the PAK system. It is a recursive namespace that can be pickled and encrypted."""
    # ...

Methods

save(data, path, password=None)

def save(data, path, password=None):
    """Save a PAK file to disk."""
    # ...

load(path, password=None, create=True)

def load(path, password=None, create=True):
    """Load a PAK file from disk. If create is True, a new PAK file will be created if one does not exist."""
    # ...

open_pak(path, password=None, create=True)

@contextlib.contextmanager
def open_pak(path, password=None, create=True):
    """Open a PAK file from disk. If create is True, a new PAK file will be created if one does not exist. Saves the PAK file on exit."""
    # ...

Examples

RPG Save Data

Here's an example of using PAK to save and load player data for an RPG game:

# Save player data
with open_pak("player_data.pak") as player_data:
    player_data.stats.level = 10
    player_data.inventory.gold = 500
    player_data.inventory.items = ["sword", "shield"]

# Load player data
with open_pak("player_data.pak") as player_data:
    print(player_data.stats.level)  # Output: 10

Project Management

PAK can also be used for managing project data:

# Save project data
with open_pak("project_data.pak") as project:
    project.name = "My Awesome Project"
    project.tasks = ["design", "implementation", "testing"]

# Load project data
with open_pak("project_data.pak") as project:
    print(project.name)  # Output: My Awesome Project

Personal Notes

Even for personal note-taking, PAK can be useful:

# Save personal notes
with open_pak("personal_notes.pak") as notes:
    notes.journal.day1 = "Visited the park"
    notes.reminders = ["Buy groceries", "Call mom"]

# Load personal notes
with open_pak("personal_notes.pak") as notes:
    print(notes.journal.day1)  # Output: Visited the park

Installation

pip install -r requirements.txt

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

pythonic_archive_kit-1.0.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pythonic_archive_kit-1.0.0-py2.py3-none-any.whl (16.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pythonic_archive_kit-1.0.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for pythonic_archive_kit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f8c48aad7d18b9583cac753819679f74316600ef784437bc50c27e4a8e01c109
MD5 020f657abb0033d571fd8beb4c5170b7
BLAKE2b-256 c1d119dbe193057a68339f0812b96cb761abe852d06bed212026c453e9365ebf

See more details on using hashes here.

File details

Details for the file pythonic_archive_kit-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pythonic_archive_kit-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0d802b3bdb36e26beb2580828b35d41d2782585437ed2fd637919a7b519e0afa
MD5 0ba09a6020bd7678ae9ab923165fbdb7
BLAKE2b-256 d9d77a2046d503a2e06868ee44ba9182471a3bbe730fb4b9fd89e2a4636d7bce

See more details on using hashes here.

Supported by

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