Skip to main content

archetype-smol

archetype-smol is a deliberately small, synchronous, in-memory DataFrame ECS for learning the core Archetype model. It is a separate engine, not a compatibility layer for archetype-ecs.

uv add archetype-smol
from daft import col

from archetype.smol import Component, Processor, World


class Position(Component):
    x: float = 0.0


class Move(Processor):
    components = (Position,)

    def process(self, df, *, tick):
        return df.with_column("position__x", col("position__x") + 1)


world = World(processors=[Move()])
entity_id = world.spawn(Position(x=2))
world.step()

assert world.query(Position).to_pylist() == [
    {"entity_id": entity_id, "tick": 1, "is_active": True, "position__x": 3.0}
]

Smol keeps only the teaching loop: typed Components, priority-ordered DataFrame Processors, immediate in-memory entity mutation, atomic steps, and queryable snapshots. It intentionally has no storage providers, commands, Activities, hooks, runtime host, API, CLI, or world-library extension system.

Component fields must resolve to None, bool, int, float, str, bytes, or nested lists of those scalar values. Smol rejects mappings, tuples, enums, nested models, and other values whose Python identity is erased by DataFrame materialization. Encode structured teaching state as a JSON string in a _json field; use archetype-ecs when typed structured storage is part of the exercise.

Download files

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

Source Distribution

archetype_smol-0.6.3.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

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

archetype_smol-0.6.3-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file archetype_smol-0.6.3.tar.gz.

File metadata

  • Download URL: archetype_smol-0.6.3.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for archetype_smol-0.6.3.tar.gz
Algorithm Hash digest
SHA256 586ed4df907ca52a1b17bc8774fde18a17b02336bd73ce7d3b50a7c631c45f2b
MD5 cc9a5efea72e4fa37b142a49b0e1e63d
BLAKE2b-256 47279b5803de2483e3fd9adaa5d474721acc0f9a68f1d2a7e71b007972543d54

See more details on using hashes here.

Provenance

The following attestation bundles were made for archetype_smol-0.6.3.tar.gz:

Publisher: publish-archetype-smol.yml on VangelisTech/archetype

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file archetype_smol-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: archetype_smol-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for archetype_smol-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b63cb63b0bb440873174ab28635e2bf158ac5272d01db5ad28e254fafe8138
MD5 4fca6797d0dca21ac93944625b9c9b5c
BLAKE2b-256 8c38494db68cc294c36ac7c7c8b797dd2bf8285dc2633f15819f697722e31d90

See more details on using hashes here.

Provenance

The following attestation bundles were made for archetype_smol-0.6.3-py3-none-any.whl:

Publisher: publish-archetype-smol.yml on VangelisTech/archetype

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.3 This release

2 files

0.6.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