Skeletonkey

Latest version: v0.3.1.0

Safety actively analyzes 682487 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.2.10

Features
- **Recursive Initialization:** Enhanced the instantiation process to support recursive initialization. Now, if any of the values in the Config being instantiated are themselves Configs containing the `target` keyword, those sub-configs will also be instantiated. This allows for sub-targets to be used as arguments for other objects during initialization. An example case demonstrating this behavior has been included, serving as a basic test case.

Enhancements
- **Custom Namespace Class:** Introduced a new custom `Namespace` class in `configs.py`, which is similar to `argparse.Namespace` but includes `__getitem__`, `__setitem__`, and `__str__` methods. This class also supports hierarchical formatting of nested namespaces, essentially in YAML format.

Changes
- **Replacement of `argparse.Namespace`:** All references to `argparse.Namespace` have been replaced with the custom `Namespace` class provided by SkeletonKey.
- **Refactoring of Keywords:** Some of the keywords have been extracted as constants at the top of the file for better clarity and maintainability. This change was intended to be a separate pull request but was included due to a mix-up in the git history.

0.2.0

New Features

1. **Defining Flags in Configuration:**
- Flags can be defined in the configuration YAML using the `?` prefix.
- Command-line arguments can be used to override flags.

2. **Using Modular Subconfigurations (`keyring` feature):**
- Modularize configurations using subconfigurations.
- Define a `keyring` section in the main configuration file to reference various subconfigurations from separate files.

3. **Integration of Environment Variables in Configuration:**
- Incorporate environment variables in the configuration YAML using the `$` prefix.
- Enables users to store sensitive information outside the configuration file.

0.0.11

Provides a decorator and a function to simplify the management of complex configurations for applications using YAML files. The key features include:

- unlock decorator: It parses and injects configuration arguments into a main function from a YAML file. Given the name of the configuration file and an optional path to the directory containing the file, this decorator reads the configuration, creates an argument parser, and adds the arguments from the configuration to the parser. The arguments are then passed to the decorated main function.

- instantiate function: It instantiates a class object using a dictionary of keyword arguments. The dictionary should contain the keys "kwargs" and "target" to specify the class to instantiate and its arguments. This function is useful for dynamically creating class instances with their configurations at runtime.

By using this tool, you can easily manage complex configurations for your applications and dynamically load classes and their arguments at runtime.

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.