Skip to main content

EverythingCubic

EverythingCubic is a reusable 3D grid-based programming puzzle engine.

The engine lets you build programs from programming blocks, execute those programs in a simulated 3D world, and evaluate the resulting state against objectives.

It is designed to be useful for:

  • Building and experimenting with 3D programming puzzles
  • Creating custom EverythingCubic problems
  • Running the simulation locally
  • Developing new objectives and mechanics
  • Experimenting with program execution
  • Building educational programming experiences
  • Research and experimentation with the EverythingCubic simulation
  • Developing tools and applications on top of the EverythingCubic engine

Installation

Install EverythingCubic from PyPI:

pip install everythingcubic

What is included?

The Python package contains the reusable EverythingCubic engine.

everythingcubic/
├── evaluator.py
├── problem.py
├── world_config.py
├── levels/
├── objectives/
├── programming/
└── simulation/

Simulation

The simulation package contains the core 3D world mechanics, including:

  • Cubes
  • Movement
  • Rotation
  • Gravity
  • Floors
  • Holes
  • Ice
  • Switches
  • Boxes
  • Entities
  • Lasers
  • Reflectors
  • Octahedrons
  • Collision handling
  • World state
  • History and replay state
  • Colors and painting
  • Quaternions
  • Shapes

Programming

The programming package provides the system used to construct and execute cube programs.

It includes:

  • Programming blocks
  • Programs
  • Repeat blocks
  • Program compilation
  • Action limits
  • Cube API
  • Program execution

For example, a program can be constructed using the programming package:

from everythingcubic.programming.program import Program

The programming API is modular so applications can build their own interfaces and program editors.

Objectives

EverythingCubic provides reusable objective types for evaluating simulation results.

Examples include:

  • Reaching a goal
  • Reaching a floor
  • Placing an entity at a position
  • Hitting an octahedron with a laser
  • Painting cells
  • Painting target cells

Applications can use these objectives to create their own problems without implementing the simulation rules themselves.

Problems

The Problem model combines a starting world, available programming blocks, action limits, and objectives into a reusable puzzle definition.

This makes it possible to define custom problems using the engine.

Levels

The package currently includes the existing EverythingCubic levels.

Levels can be discovered through the package's level system, allowing applications to work with the bundled problems without depending on the EverythingCubic website backend.

Example

A problem can be evaluated using the reusable engine.

The exact example will be documented using the public API provided by the package.

Package Philosophy

EverythingCubic is intended to provide the reusable engine, not the entire EverythingCubic website.

The package focuses on the parts that developers, researchers, educators, students, and other applications can build upon.

The package does not provide the EverythingCubic website infrastructure.

In particular, the package does not contain:

  • User accounts
  • Authentication
  • PostgreSQL
  • Database migrations
  • User progress tracking
  • Website APIs
  • FastAPI application infrastructure
  • Auth0 integration
  • Website-specific repositories and services
  • Frontend code
  • Community features
  • Centralized puzzle sharing and discovery

These are part of the EverythingCubic website and application infrastructure rather than the reusable Python engine.

Dependencies

The core EverythingCubic engine currently has no third-party runtime dependencies.

It uses Python's standard library for its runtime functionality.

Python Version

EverythingCubic currently requires Python 3.12 or newer.

Development

The EverythingCubic source repository contains the complete project, including the Python engine, website backend, frontend, and development infrastructure.

The Python package can be used independently of the website.

License

License information will be added here.

Metadata

Release files for everythingcubic 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for everythingcubic 0.1.2
File Size Uploaded Provenance
everythingcubic-0.1.2.tar.gz 19.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for everythingcubic 0.1.2
File Interpreter ABI Platform
everythingcubic-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.8 kB

Release files / everythingcubic-0.1.2.tar.gz

Download URL everythingcubic-0.1.2.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1180d40971d921a55609b6e568dd231a19ccca4dc22b813b217bcbed2304d61c
BLAKE2b-256 checksum
How to use checksums
142e274419c2c85d99bd0eb22584883fcdd40869bca844812ea48b703d2d30d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / everythingcubic-0.1.2-py3-none-any.whl

Download URL everythingcubic-0.1.2-py3-none-any.whl
Size 28.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aec164ecd5947af8a6f3075d7d7bcfb460fdbaa319e00afba905f37c92398a84
BLAKE2b-256 checksum
How to use checksums
163f8288ba7cb97e803347c453ba80e279a0c718faef8d78eafdb29ffb6fca73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Security for everythingcubic 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page