← Back to list

acsets-hatchery
by plurigrid
everything is topological chemputer!
⭐ 2🍴 3📅 Jan 20, 2026
SKILL.md
name: acsets-hatchery description: Attributed C-Sets as algebraic databases. Category-theoretic data structures generalizing graphs and dataframes with Gay.jl color integration. version: 1.0.0
ACSets Hatchery
Overview
ACSets.jl provides acsets ("attributed C-sets") - data structures generalizing both graphs and data frames. They are an efficient in-memory implementation of category-theoretic relational databases.
Core Features
- Acset schemas - Category-theoretic data structure definitions
- Acsets - Instances of schemas (like database rows)
- Tabular columns - Efficient columnar storage
- Serialization - JSON/binary format support
What Are ACSets?
An ACSet is a functor from a category C to Set, with attributes. This means:
- Objects become tables
- Morphisms become foreign keys
- Attributes add data types to objects
Usage
using ACSets
# Define a schema
@present SchGraph(FreeSchema) begin
V::Ob
E::Ob
src::Hom(E, V)
tgt::Hom(E, V)
end
# Create an acset
g = @acset Graph begin
V = 3
E = 2
src = [1, 2]
tgt = [2, 3]
end
Extensions
- Catlab.jl - Homomorphisms, limits/colimits, functorial data migration
- AlgebraicRewriting.jl - DPO/SPO/SqPO rewriting for acsets
Learning Resources
- Graphs and C-sets I - What is a graph?
- Graphs and C-sets II - Half-edges and rotation systems
- Graphs and C-sets III - Reflexive graphs and homomorphisms
- Graphs and C-sets IV - Propositional logic of subgraphs
Gay.jl Integration
# Rec2020 wide gamut with acset seed
gay_seed!(0xb4545686b9115a09)
# Mixed mode checkpointing
params = OkhslParameters()
∂params = Enzyme.gradient(Reverse, loss, params, seed)
Citation
Patterson, Lynch, Fairbanks. Categorical data structures for technical computing. Compositionality 4, 5 (2022). arXiv:2106.04703
Repository
- Source: plurigrid/ACSets.jl (fork of AlgebraicJulia/ACSets.jl)
- Seed:
0xb4545686b9115a09 - Index: 494/1055
- Color: #204677
GF(3) Triad
algebraic-rewriting (-1) ⊗ acsets-hatchery (0) ⊗ gay-monte-carlo (+1) = 0 ✓
Related Skills
acsets-algebraic-databases- Full ACSet guidespecter-acset- Bidirectional navigationworld-a- AlgebraicJulia ecosystem
Forward Reference
- unified-reafference (ACSet schema consumer)
Patterns That Work
- Schema-first database design
- Morphism-based foreign keys
- Integration with unified-reafference
Patterns to Avoid
- Ad-hoc schema changes
- Missing attribute type annotations
Score
Total Score
60/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon