The signac framework is currently comprised of the following packages. The synced_collections package is a standalone package containing data structures used by the core signac data management package. Both signac-flow and signac-dashboard require the signac core package.
The links below lead to the package-specific documentation, including a complete API documentation and changelogs.
The core signac package implements a simple, serverless, distributed database directly on the file system. It allows users to:
Manage project data with a well-defined indexable storage layout for data and metadata.
Search, filter, group, and manipulate the data in existing signac projects.
Create, track, and archive datasets.
Collaborate on data-intensive projects using a common schema.
The signac-flow package allows users to:
Implement reproducible computational workflows for a project data space managed with signac.
Specify operation dependencies with conditions, allowing linear or branched execution
Run workflows from the command line.
Submit jobs to high-performance computing (HPC) clusters.
The signac-dashboard package allows users to:
Browse signac-managed data spaces
Visualize and analyze job data such as text, images, or video.
Share and collaborate on workspace data through a browser-based GUI.
The synced_collections package defines data structures that allow users to:
Transparently synchronize Python objects like lists and dicts with an underlying data store
Seamlessly translate data from an in-memory Python representation to various storage backends with arbitrary data validation
Tune for performance using different buffering strategies
These collections are leveraged by signac to store and work with data and metadata.