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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| everythingcubic-0.1.3.tar.gz | 19.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.