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.