title: Dataclass-style object with mutable and immutable properties?
body: <p>I have been playing around with dataclasses dynamically loaded with property names from a file and I am unable to find a way to create both 'frozen' and 'non-frozen' properties. I believe dataclasses only allow you to set all properites to frozen or non-frozen.</p>
  
  <p>As of now, I create a frozen dataclass and add a mutable class as one of the properties which I can change as I go but I am not very happy with the readability of this approach.</p>
  
  <p>Is there another pythonic dataclass people would recommend without needing to implement a class with the ability to set mutable/immutable properties?</p>
  
  <pre class="lang-py prettyprint-override"><code>import dataclasses
  
  class ModifiableConfig:
      """There is stuff in here but you get the picture."""
      ...
  
  config_dataclass = dataclasses.make_dataclass(
      'c',
      [(x, type(x), v) for x, v in config.items()] + [('var', object, ModifiableConfig())],
      frozen=True
  )
  </code></pre>
  
  <p>However I would prefer the ability to choose which attributes are frozen and which are not. Making the need of adding an additional class to the dataclass obsolete. It may look like this:</p>
  
  <pre><code>config_dataclass_modifiable = dataclasses.make_dataclass(
              'c', [(x, type(x), v, True if 'modifiable' in x else False) for x, v in config.items()])
  </code></pre>
  
  <p>Notice the "True if 'modifiable' in x else False", I'm not saying this is how I would do it in the end but hopefully this helps understand my question better.</p>