Remove indexing methods from public API
bdice opened this issue · 8 comments
Feature description
In PR #580, I remove a large portion of the indexing.py
module. Below are some follow-up tasks to be done after #580 is merged.
- Investigate making
Project.index
into a private method. This may eliminate the need for most/all of the contents ofindexing.py
. (See continued discussion below.) - Investigate removing
index
argument from a number ofProject
methods. (See continued discussion below.) - Review package documentation and remove indexing topics.
- Review signac-docs to remove indexing topics. see glotzerlab/signac-docs#152
- Review signac-examples to remove indexing topics.
Discussed in developers meeting. @atravitz and I will work through this checklist and coordinate via Slack.
We agreed that Project.index
can be deprecated in 1.x and removed in 2.0, which will eliminate the need for most/all of indexing.py
.
Next steps (all of these can be done in parallel):
- Wait for #580 to be reviewed/merged.
- In 1.x /
master
:- Deprecate
Project.index
in 1.x. - Add deprecation warnings for all Project methods with non-empty
index
arguments in 1.x.
- Deprecate
- In 2.0 /
next
:- Make
Project.index
a private method, remove all unused arguments (onlyinclude_job_document
should remain, based on current usage). - Remove
index
arguments from all Project methods.
- Make
Next steps:
- Check whether the
Project
's_sp_index()
method and_index_cache
attribute are redundant with_sp_cache
attribute and_index
method. There may also be some overlap with the_build_index
or_update_in_memory_cache
methods. - Do we need to support custom
Job
subclasses that do not adhere to the same workspace layout? This looks like it's incompletely supported in theProject
class and should probably be removed.signac/signac/contrib/project.py
Line 1966 in 378a6be
The indexing example in signac-examples
is already deprecated. Should I remove it now, or wait for the 2.0 release?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Update since this issue is marked as stale:
Next steps:
- Check whether the
Project
's_sp_index()
method and_index_cache
attribute are redundant with_sp_cache
attribute and_index
method. There may also be some overlap with the_build_index
or_update_in_memory_cache
methods.
This is under active development in #652. I'll finalize that PR.
- Do we need to support custom
Job
subclasses that do not adhere to the same workspace layout? This looks like it's incompletely supported in theProject
class and should probably be removed.signac/signac/contrib/project.py
Line 1966 in 378a6be
I think this still needs to be done. It should be a small PR.