Clarity on what Transport.normalize
should do
#5334
Replies: 5 comments 13 replies
-
I didn't write the original The comment in the docstring of suggesting to use If @giovannipizzi can confirm this analysis, I am happy to submit a PR with a patch. |
Beta Was this translation helpful? Give feedback.
-
Indeed, AiiDA doesn't need it directly. I think the answer to your question should be the same as the one to: if do |
Beta Was this translation helpful? Give feedback.
-
I have written below observations / recommendations based on my experience trying to write a new Assumption / Caveats
General observations / questions
Recommendations
|
Beta Was this translation helpful? Give feedback.
-
That could even be replaced by simply requiring that the executable of a local |
Beta Was this translation helpful? Give feedback.
-
I would like to mention that I have recently discovered fsspec package (documentation) which has implementations including sftp and Azure blob storage. While I still believe going to a smaller implementation surface would improve maintainability, fsspec seems like a drop-in replacement for the transport implementations in AiiDA. |
Beta Was this translation helpful? Give feedback.
-
Hi AiiDA team,
I am writing a new Transport plugin to allow Azure Blob Storage to be used, which would be useful when you want to run your calculations in the cloud.
However, I am not sure what
Transport.normalize()
is supposed to do and would appreciate if you could clarify. The reasons I am confused are:normalize
suggest that it should be idempotent.LocalTransport
prependscurdir
to the path which violates idempotence.So I am not sure how to proceed. It seems like
Transport.getcwd()
is a more obvious way to check the "current folder". Can we replace all such uses ofTransport.normalize()
withTransport.getcwd()
and ensure thatnormalize()
is idempotent? Otherwise, would it make sense to renamenormalize()
to something that doesn't imply idempotence?Beta Was this translation helpful? Give feedback.
All reactions