Dewi-core

Latest version: v5.4.0

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

Scan your dependencies

Page 2 of 4

5.0.0

- add support of versioning - Application's version param, and if set,
the --version command-line option
- add Rails-like environment and config dir support, env var is DEWI_ENV
- loader Context is Node-based
- add IniConfig and DictConfigParser - moved from dewi-utils
- add AppConfig to have app-wide global config - projects, work dir (workspace dir)
- add find_file_recursively - moved from dewi-utils
- add support of extensible projects
- yaml: add load_yaml wrapper; save_to_yaml's second args is optional; stdout ('-') is the default
- node.Node:
* it's sealable by subclasses with _seal() class; use _unseal() for further extensions
* add __contains__ (`'something' in the_node`)
* add create_from(cls, data: dict) class method
- add dewi_core/utils/log_dict.py with log_debug_dict()
- rewrite Application, Command, etc. to use click package instead of argparse
- relicense under the terms of Apache License v2.0

4.0.0

- add support of remoting by (de)serializing Namespace and run
the current command (eg. via SSH on a remote server)
- add partial code for XML-based man pages of the commands
- CommandRegistry got all functionality of CommandRegistrar, which is removed
- Application:
* simplified, subclasses like SingleCommandApplication are removed;
plugin loading is explicit (Application.load_plugin and load_plugins)
* add --cwd option to run from that directory
- Python 3.8+ is required (3.7 is not tested)

3.3.0

- commands: log missing subcommand
- miniapp.py, application.py: extract common codes,
the miniapp.ApplicationBase is the base class from now on
subcommand registration is textracted into commands.py
- fix check of DEWI_DEBUG=1
- levenshtein: update based on git - better suggestions, too
- exception handling is moved into dewi_core.utils.exception
and use only documented interface - broken by Python 3.8
- logger creation is moved into dewi_core.logger
- Python 3.7+ (used with Python 3.8+)
- yaml: ignore references, except if DEWI_YAML_WITH_ALIASES is set to non-'0'

3.2.0

- Added "miniapp" module covering the application.SingleCommandApplication's
features but the original Application's parameters are also added
- Application: listing commands use minimal screen width (bugfix)
- subcommand: properly print help command if single command application is used

3.1.0

- Application: support DEWI_DEBUG environment var, if it is '1',
debug mode is used (same as Application's '--debug' option)
- Application: remove dead code, as there is at least one suggestion
if command is not found
- Add SimpleApplication: no loader, just the program name and a plugin name
- Update examples
- Remove Plugin.get_description(), it was never used. It does not break any
plugin having this method. Using docstring instead.
- Add recursive SubCommand support: a Comand and also the SubCommands
can have subcommands via the subcommand_classes member
- Update code to change deprecated implementation to an up-to-date one.
- Update tests and Makefile

3.0.0

- Add SinglePluginApplication class, a subclass of MainApplication
- Add SingleCommandApplication class, a sublcass of MainApplication,
it disables application-level options
- MainApplication is renamed to Application as it's a generic app class
- application.py's non-public classes (the commands) got '_' prefix

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.