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.1.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.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: archetype_smol-0.6.1.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.1.tar.gz
Algorithm Hash digest
SHA256 60e7408e7c335ff273e510818b77cb557cebd482e556f4b93ad8085f34e045f7
MD5 4130363a70b759d149ce8ecdfc5add69
BLAKE2b-256 edc50d443ac41f99ef12bf51ab34456b586ebaaca06ee0a69561d9e5928ee0c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for archetype_smol-0.6.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: archetype_smol-0.6.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0d8d38931fa9b3cb53765bfe67059acbf365d5f2f817228c2125e4a3bcabfc7f
MD5 62a212228cbe0502d790dc345ae5984e
BLAKE2b-256 0d9842a5334c36524ba308c9555f9f9245f1fe8d3ac0f545fbf74ebbdb5ca915

See more details on using hashes here.

Provenance

The following attestation bundles were made for archetype_smol-0.6.1-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

0.6.3

2 files

This release

0.6.1 This release

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