1.7.0
This release adds SyncedCollection
s, a new, performant, and flexible approach to syncing job state points and documents with an underlying resource. Thanks to all who contributed! 🎨
Added
- New
SyncedCollection
class and subclasses to replaceJSONDict
with more general support for different types of resources (such as MongoDB collections or Redis databases) and more complete support for different data types synchronized with files (#196, #234, #249, #316, #383, #397, #465, #484, #529, #530). This change introduces a minor-backwards incompatible change; for users making direct use of signac buffering, theforce_write
parameter is no longer respected. If the argument is passed, a warning will now be raised to indicate that it is ignored and will be removed in signac 2.0. - Unified querying for state point and document filters using 'sp' and 'doc' as prefixes (#332, #514). This change introduces a minor backwards-incompatible change to the
Collection
index schema ('statepoint'->'sp'), but this does not affect any APIs, only indexes saved to file using a previous version of signac. Indexing APIs will be removed in signac 2.0.
Changed
- Optimized internal path joins to speed up project iteration (#515).
Deprecated
doc_filter
arguments, which are replaced by namespaced filters. Due to their long history,doc_filter
arguments will still be accepted in signac 2.0 and will only be removed in 3.0 (#516).- The modules
signac.core.attrdict
,signac.core.json
,signac.core.jsondict
, andsignac.core.synceddict.py
are deprecated in favor of the newSyncedCollection
classes and will be removed in signac 2.0 (#483).