Skip to main content

GSAM

GSAM (GraphScript Assembly Markup) is an orchestration language and execution engine designed around a graph-based computation model.

Installation

pip install gsam

Overview

GSAM describes how capabilities are connected together rather than how those capabilities are implemented.

A GSAM program is a graph of nodes:

  • nodes define reusable operations,
  • execution nodes define flow,
  • values connect operations,
  • Materials provide implementations.

The core engine remains minimal while external Materials provide domain-specific behavior.

Materials

Materials are external modules that extend GSAM capabilities.

A Material can provide:

  • application logic,
  • integrations,
  • data operations,
  • system operations,
  • reusable execution nodes.

GSAM focuses on orchestration. Materials focus on implementation.

Syntax

GSAM uses indentation to represent structure.

Core identifiers:

  • ? Comment
  • $ Import Material
  • & Import GSAM file
  • ! Create value
  • * Define node
  • - Execute node
  • + Provide argument
  • = Set value or return value
  • : Define steering
  • > Define steering path

For complete syntax details, refer to the semantics example:

samples/semantics.gsam

Example

$ console

- log
  + Hello, GSAM!

Execution Model

GSAM programs are compiled into an execution graph.

Execution consists of:

  • Parsing source
  • Building intermediate representation
  • Constructing graph nodes
  • Scheduling execution
  • Running node implementations

GSAM does not rely on simple line-by-line execution. Nodes are processed according to their identity and execution semantics.

Architecture

Compiler Pipeline

  • Source parsing
  • Intermediate Representation (IR)
  • Graph construction
  • Execution planning

Runtime

  • Execution queue
  • Execution groups
  • Runtime context
  • Memory storage

Material System

The Material system allows GSAM to remain extensible without requiring the core engine to know every possible capability.

Design Philosophy

GSAM is built around:

  • Orchestration over implementation
  • Composition over duplication
  • Explicit graph structure
  • Small and extensible core
  • Separation between language and runtime behavior

Complex behavior belongs in Materials. GSAM connects those behaviors together.

Status

GSAM is under active development.

The language, runtime, and APIs may evolve as the project matures.

Links


Made with <3 by AttAditya

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gsam-0.2.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gsam-0.2.1-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file gsam-0.2.1.tar.gz.

File metadata

  • Download URL: gsam-0.2.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for gsam-0.2.1.tar.gz
Algorithm Hash digest
SHA256 012f51cd72090a4a703340fdfd5476c988029e8f02ee8f151291565c2a62207c
MD5 5b38041d77b82dd39ff9f53ad8004a85
BLAKE2b-256 b20a719d5619d650359c20ad71ef28f7fb31496589b5e94849202964b8507115

See more details on using hashes here.

File details

Details for the file gsam-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: gsam-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for gsam-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 20151d200de5b9dfc5f47e3fc030ccd5bd002a3032ca083dedb9aee7e7599da0
MD5 166ef285cb554098d414868972efac5b
BLAKE2b-256 156a63c172b1d9c13966bbc060c4e60b8aa766ccf84563034b7f244a334a3743

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.2

2 files

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.22

2 files

0.0.19

2 files

0.0.18

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page