```AttributeError Trace...
# python
v
Copy code
AttributeError                            Traceback (most recent call last)
~/virtuals/sourcescrub/lib/python3.9/site-packages/IPython/core/formatters.py in __call__(self, obj)
    700                 type_pprinters=self.type_printers,
    701                 deferred_pprinters=self.deferred_printers)
--> 702             printer.pretty(obj)
    703             printer.flush()
    704             return stream.getvalue()

~/virtuals/sourcescrub/lib/python3.9/site-packages/IPython/lib/pretty.py in pretty(self, obj)
    392                         if cls is not object \
    393                                 and callable(cls.__dict__.get('__repr__')):
--> 394                             return _repr_pprint(obj, self, cycle)
    395
    396             return _default_pprint(obj, self, cycle)

~/virtuals/sourcescrub/lib/python3.9/site-packages/IPython/lib/pretty.py in _repr_pprint(obj, p, cycle)
    698     """A pprint that just redirects to the normal repr function."""
    699     # Find newlines and replace them with p.break_()
--> 700     output = repr(obj)
    701     lines = output.splitlines()
    702     with p.group():

~/virtuals/sourcescrub/lib/python3.9/site-packages/pulumi/automation/_stack.py in __repr__(self)
    189
    190     def __repr__(self):
--> 191         return f"Stack(stack_name={self.name!r}, workspace={self.workspace!r}, mode={self._mode!r})"
    192
    193     def __str__(self):

~/virtuals/sourcescrub/lib/python3.9/site-packages/pulumi/automation/_local_workspace.py in __repr__(self)
    102
    103     def __repr__(self):
--> 104         return f"{self.__class__.__name__}(work_dir={self.work_dir!r}, program={self.program.__name__}, " \
    105                f"pulumi_home={self.pulumi_home!r}, env_vars={self.env_vars!r}, " \
    106                f"secrets_provider={self.secrets_provider})"

AttributeError: 'NoneType' object has no attribute '__name__'