--- id: renew version: "0.5.4" license: MIT license license_treatment: permissive maintenance: abandoned --- # renew — Gives a reproducible manner to your objects and can serialize them in 100% pythonic format. License: permissive · Maintenance: abandoned · Downloads: 141.2K/mo ## What it is and what it does Renew is a serialization library that makes Python objects produce eval-safe repr strings—strings that, when passed to eval(), recreate equivalent objects. Unlike pickle, which produces binary data, renew generates pure Python code that can be read, edited, and imported as a module. You define a class inheriting from renew.Mold, ensure its __init__ arguments are stored as same-named attributes, and renew automatically generates a reproducible __repr__. You can then call renew.serialize() to write object graphs to a Python file with proper imports and formatting. The main constraint is structural: your class must store constructor arguments as attributes with matching names, and variadic/keyword arguments must be stored in specific container types (tuple, list, set, OrderedDict for args; dict or OrderedDict for kwargs). This design trades flexibility for transparency—the resulting code is human-readable and can serve as a lightweight alternative to pickle for scenarios where you want to inspect or manually edit serialized state. Use it for: - Store application configuration or cached object state as importable Python files instead of binary formats. - Serialize test fixtures or example data in a format that's both machine-readable and human-editable. - Debug object hierarchies by inspecting their eval-safe repr output before deciding whether to persist them. - Generate Python code that reconstructs complex object graphs without requiring pickle at load time. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Generates reproducible string representations of Python objects that can be eval'd back into equivalent instances, and serializes object graphs to importable Python files. No. The package is abandoned (last release 2019-06-03) with no ongoing maintenance. While it has no known vulnerabilities and low install friction, the lack of updates means it will not receive bug fixes or compatibility patches for newer Python versions. For new projects, consider maintained alternatives. ## Install pip install renew uv add renew poetry add renew ## Installing renew Before you install: Low friction installation with a single dependency (six). However, the package is abandoned—last release was 2019-06-03 with no subsequent maintenance or updates. License in practice: MIT license (permissive). You can use, modify, and distribute this package freely with minimal restrictions. Quickstart: import renew class MyClass(renew.Mold): def __init__(self, a, b): self.a, self.b = a, b obj = MyClass(1, 2) print(repr(obj)) # MyClass(1, 2) renew.serialize('/tmp/out.py', obj=obj) Class must store all constructor arguments as instance attributes with identical names; variadic args must be stored as list/tuple/set/OrderedDict, keyword args as dict/OrderedDict. Verify before relying: - Whether the package works reliably with Python versions beyond 3.7 (latest tested version in classifiers). - Whether nested object serialization handles circular references or deep graphs without issues. - Real-world performance on large object graphs or complex class hierarchies. ## Package facts - License: MIT license (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 141.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags reproducible object repr, serialize objects to python, eval-safe object representation, python object pickling alternative, store class state as code, serialization, repr-based, abandoned [View on SkillFed](https://skillfed.io/packages/renew) · [View on PyPI](https://pypi.org/project/renew/)