.. _related_software:
================
Related Software
================
The Python ecosystem containsa variety of packages designed to make it easier
to work with classes. The following list is by no means exhaustive.
If we missed anything, feel free to open a Pull Request.
**Table of contents**
* `Packages that make it easier to define Python classes <#defining-classes>`_,
* `Related frameworks <#related-frameworks>`_.
Defining classes
================
Libraries
---------
.. list-table::
:header-rows: 1
* - Project Name
- Description
* - `attrs `_
- Python classes without boilerplate
* - `dataclasses `_
- Decorators and functions for generating special methods based on
`PEP557 `_
Related frameworks
==================
.. list-table::
:header-rows: 1
* - Project name
- Description
* - `param `_
- Make your Python code clearer and more reliable by declaring parameters
* - `traitlets `_
- User defined classes with type checking, dynamically computed defaults and more
* - `pydantic `_
- Data parsing and validation using type hints