Skip to main content

An entity engine that turns operational events into temporal, queryable state

Project description

Defacto

An entity engine that turns operational events into temporal, queryable state.

You define your entities as state machines in YAML. Defacto handles ingestion, identity resolution, state computation, and temporal queries.

from defacto import Defacto

d = Defacto("definitions/")
d.ingest("app", events, process=True)

# current state
d.table("customer").execute()

# point-in-time
d.history("customer").as_of("2024-01-15").execute()

Status

Pre-alpha. The engine works, the API is stabilizing, documentation is in progress.

Getting started

Requires Python 3.12+ and a Rust toolchain.

git clone https://github.com/derek-yn-zhang/defacto.git
cd defacto
make setup
python examples/quickstart/main.py

See examples/quickstart/ for a minimal example and examples/showcase/ for multi-entity, multi-source, identity resolution, merges, and erasure.

Project details


Download files

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

Source Distribution

defacto-0.0.2.tar.gz (205.7 kB view details)

Uploaded Source

Built Distributions

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

defacto-0.0.2-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

defacto-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

defacto-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

defacto-0.0.2-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

defacto-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

Details for the file defacto-0.0.2.tar.gz.

File metadata

  • Download URL: defacto-0.0.2.tar.gz
  • Upload date:
  • Size: 205.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for defacto-0.0.2.tar.gz
Algorithm Hash digest
SHA256 360a6cb9a0f8397296b19b3b700257557f64b19223af7bb694145a54bc02820f
MD5 202db0f860c0a39b62116f60c6726068
BLAKE2b-256 d2e25cbba2c43985d70f375d7b69c718490668248ce99239fd97194cdecf7e05

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2.tar.gz:

Publisher: publish.yml on derek-yn-zhang/defacto

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

File details

Details for the file defacto-0.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: defacto-0.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for defacto-0.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a923f9759cc0ae8c138b7ff165036dc59a48d85be099daef3bea50b96b51f8e8
MD5 32726165920138b2b7b9d23200fdc21f
BLAKE2b-256 218067a11d9999bbc54ce35c586dee09b6d7921abfdee158f67258debe47b939

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on derek-yn-zhang/defacto

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

File details

Details for the file defacto-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for defacto-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5cee0f9f60fcc4d83d9c65747796082c458a0694b3dc87bc78636a0617007e08
MD5 df4134a208ddf1bdbe9de994d8f50d00
BLAKE2b-256 53ff4f24172b016a0d5df4b07929cc6542e496cf12d604f090cc1ae1a86ea266

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on derek-yn-zhang/defacto

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

File details

Details for the file defacto-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for defacto-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d484431499b9521089b4e5246fcd5ca492f29bc24c2870762fea8af8a32ccfd
MD5 66379a63641a9ef6d53b537b0b020cee
BLAKE2b-256 ba3c634c17e9ef78112c748af4c5d7f2c9379a9988a04372c59f00181c2efdc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on derek-yn-zhang/defacto

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

File details

Details for the file defacto-0.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for defacto-0.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bc7050d9c6534af511852aa1a293772f4ebae03df50273326faad81384fe402
MD5 d2116893e5f3a9d83ed19d279f71a310
BLAKE2b-256 024cae20968680822731bbf823af5ddccb98b6f33e1512b19e2d81baee6cfb29

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on derek-yn-zhang/defacto

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

File details

Details for the file defacto-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for defacto-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c8ae9b894bc25ce514641178c8aa22cb6eaf1efda0a318b3d7a57aaf14304c23
MD5 521e4b602665083f062ebc270d70054d
BLAKE2b-256 6e010811d83ab400c877ab61b0e083b3e827a088c23f6213f41b0e6afdd0def7

See more details on using hashes here.

Provenance

The following attestation bundles were made for defacto-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on derek-yn-zhang/defacto

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

Supported by

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