glotzerlab/signac

Rename `root` parameter for all `Project` methods to `path`

vyasr opened this issue ยท 6 comments

vyasr commented

For consistency with the new terminology that we're standardizing on for both Job and Project, we should rename the root parameters of Project methods to path. This change affects get_project and init_project, as well as the Project constructor. Since we're moving forward with the breaking changes in #752, w should also change the signature of init_project to not require path to be a keyword-only argument. There may be other related changes as well that we need to consider, but I don't think there is any way to construct e.g. a Job at a specific path (we always construct by id or statepoint so I can't think of anything else that I might be missing right now.

Original comment
Do we want to keep the requirement that root is a keyword-only argument? All our previous discussions about compatibility layers are somewhat moot now, so I would be willing to revisit that.

It could even be named path for consistency with the new terminology. The more I think about it, it'd be really nice to call it path. :)

Originally posted by @bdice in #752 (comment)

Consider also replacing job.workspace() with something like job.path(). See #743

vyasr commented

@cbkerr already done in #685 and #752 ๐Ÿ˜‰

bdice commented

I'm looking into this issue.

bdice commented

I opened #758 to address this.

Can we close this issue now?

bdice commented

I think all the public APIs are fixed, based on the docs: https://docs.signac.io/projects/core/en/next/search.html?q=root&check_keywords=yes&area=default

There are a few lingering uses of the name "root" or "root directory" but they're in the context of import/export or migrations but they're typically used for walking a filesystem, not a project path, so I don't think this naming guidance applies.

There are also references to "root" in the context of synced collections, like the root of a collection, but those certainly don't need to be changed.

Marking as closed unless others wish to make further refactors.