{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/2"}],"enrichment":{"capability":"Cobble is a Python library for creating data classes with automatic implementations of common methods like `__eq__` and `__repr__`, and for building visitor patterns over object hierarchies.","skillfed_tags":["data-class-decorator","visitor-pattern","code-generation"],"use_cases":["Define immutable or semi-immutable data structures with automatic equality and string representation without writing boilerplate methods.","Build expression trees or abstract syntax trees where you need to traverse nodes using the visitor pattern.","Create domain objects in a domain-driven design context where you want minimal ceremony and automatic serialization-friendly representations.","Implement interpreters or evaluators that walk object hierarchies using the visitor pattern to dispatch behavior.","Prototype data models quickly without committing to a heavier framework or dataclass library."],"what_it_does":"Cobble is a decorator-based library for defining data classes with minimal boilerplate. It provides the `@cobble.data` decorator to automatically generate `__eq__`, `__repr__`, and other common methods for classes, along with a `cobble.field()` mechanism for declaring attributes with optional defaults. The library also includes a visitor pattern implementation via `@cobble.visitor` and `@cobble.visitable` decorators, allowing you to traverse and process hierarchies of related objects\u2014useful for building interpreters, AST walkers, or other tree-based algorithms.\n\nThe package has no runtime dependencies and supports Python 3.5 through 3.12. It occupies a niche between manual class definition and more comprehensive solutions like the standard library's dataclasses module or third-party libraries like attrs. The dormant maintenance status (last release in June 2024, repository unarchived) suggests the library is stable but not actively developed.","worth_installing":"Yes, if you need a lightweight visitor pattern implementation or prefer decorator-based data class generation over Python 3.7+ dataclasses. The zero-dependency install and broad Python version support make it low-risk. However, if you are on Python 3.7+ and do not need the visitor pattern, the standard library's dataclasses module or attrs may be more actively maintained alternatives. The dormant maintenance status is not a blocker for stable code, but verify that the feature set meets your needs before adopting."},"id":"cobble","links":{"html":"https://skillfed.io/packages/cobble","md":"https://skillfed.io/packages/cobble.md","pypi":"https://pypi.org/project/cobble/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-06-01","license_spdx":null,"license_treatment":"permissive","name":"cobble","python_support":"supports_current","summary":"Create data objects"},"popularity":{"monthly_downloads":15618177,"position":1178,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.1.4"}
