Packages

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.

signac (core)

conda-forge signac PyPI signac

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.

signac-flow

conda-forge signac-flow PyPI signac-flow

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.

signac-dashboard

conda-forge signac-dashboard PyPI signac-dashboard

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.

synced-collections

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.