Ark.jl (logo) Ark.jl (logo)

Build Status Coverage Aqua QA JET Docs stable Docs dev GitHub DOI:10.5281/zenodo.17512271 MIT license Apache 2.0 license

Ark.jl is an archetype-based Entity Component System (ECS) for Julia. It is a port of the Go ECS Ark.

——

Features

Why ECS?

Entity Component Systems (ECS) offer a clean, scalable way to build individual- and agent-based models by separating agent data from behavioral logic. Agents are simply collections of components, while systems define how those components interact, making simulations modular, extensible, and efficient even with millions of heterogeneous individuals.

Ark.jl brings this architecture to Julia with a lightweight, performance-focused implementation that empowers scientific modellers to design complex and performant simulations without the need for deep software engineering expertise.

Manual Outline

Demos

Benchmarks

API Outline

API Index

Cite as

Lange, M. & Meligrana, A. (2025): Ark.jl – An archetype-based Entity Component System for Julia. DOI: 10.5281/zenodo.17512271, GitHub repository: https://github.com/mlange-42/Ark.jl