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.

Metadata

Release files for everythingcubic 0.1.3

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.3
File Size Uploaded Provenance
everythingcubic-0.1.3.tar.gz 19.9 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 48.7 kB

Release files / everythingcubic-0.1.3.tar.gz

Download URL everythingcubic-0.1.3.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b67ff0bf3a609ec93b5ae1c3a3f6525a41b6373dca8b9b35f5171be53dfccbc6
BLAKE2b-256 checksum
How to use checksums
03edc717684e1705c777ef1c54c6566f59b7787482e12ba018e854b4998b1f4e
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.3-py3-none-any.whl

Download URL everythingcubic-0.1.3-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85cb7c15d74522962c1c59c36e87aae601415355482531f9710adf8fcbcbdc65
BLAKE2b-256 checksum
How to use checksums
6c9fbf06cee28a177fdd0b2fb6f9dea0e172ebe8d2793b4b1f4851c2c21d157f
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.3

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