Deterministic infinite image library generator inspired by Borges' "The Library of Babel"
Generate unique, deterministic images based on coordinate systems without storing image data.
babylonian-image-library — a deterministic infinite image library generator inspired by Borges' "The Library of Babel". Generate unique, deterministic images based on coordinate systems without storing image data.
⚠️ Project Status: Research & Development
IMPORTANT DISCLAIMER: This project is currently in active research and development phase. It is provided as-is for academic and experimental purposes only. No guarantees of stability, security, or fitness for any particular purpose are provided. Users assume all risks associated with usage.
Current Version: 1.0.1 (New Modular Architecture)
Complete rewrite with breaking changes — this version introduces a completely new architecture inspired by the Smart Babylon Library:
~/babylonian_image_library/Legacy Version: 0.1.4 (Deprecated)
Version 0.1.4 and earlier are no longer supported. The previous monolithic architecture has been completely replaced by the new modular system.
This library implements concepts from our published research:
pip install babylonian-image-library
from babylonian_image_library import SmartBabylonImageLibrary
# Create library instance
library = SmartBabylonImageLibrary()
# Generate a random image
image_path = library.generate_random_image()
print(f"Image saved: {image_path}")
# Get specific image by coordinates
image = library.get_image(floor=1, room=3, cabinet=2, shelf=5, book=42, page=1)
image.save("specific_image.png")
The library follows a modular architecture:
babylonian_image_library/ ├── library/ │ ├── config.py # ImageLibraryConfig │ ├── coordinates.py # ImageCoordinates │ ├── core.py # BabylonianImageLibrary, SmartBabylonImageLibrary │ └── generator.py # BabylonianImageGenerator
Each image is located using 6-dimensional coordinates:
floor — Library floor (0-100)room — Room number (0-50)cabinet — Cabinet number (0-20)shelf — Shelf number (0-10)book — Book number (0-1000)page — Page number (0-500)
from babylonian_image_library import SmartBabylonImageLibrary, ImageLibraryConfig
# Custom configuration
config = ImageLibraryConfig(
universe="abstract_art", # Universe name
width=800, # Image width
height=600, # Image height
image_format="JPEG", # PNG, JPEG, etc.
quality=90 # JPEG quality (1-100)
)
library = SmartBabylonImageLibrary(config)
from babylonian_image_library import SmartBabylonImageLibrary, ImageLibraryConfig # Different universes - different images fantasy_config = ImageLibraryConfig(universe="middle_earth") scifi_config = ImageLibraryConfig(universe="andromeda_galaxy") fantasy_library = SmartBabylonImageLibrary(fantasy_config) scifi_library = SmartBabylonImageLibrary(scifi_config) # Same coordinates, different images fantasy_image = fantasy_library.get_image(1, 1, 1, 1, 1, 1) scifi_image = scifi_library.get_image(1, 1, 1, 1, 1, 1)
SmartBabylonImageLibrary:
get_image(floor, room, cabinet, shelf, book, page) — Get image by coordinatesget_abstract_image(floor, room, cabinet, shelf, book, page) — Get abstract imagesave_image(floor, room, cabinet, shelf, book, page, filename) — Save image to filesave_abstract_image(floor, room, cabinet, shelf, book, page, filename) — Save abstract imagegenerate_random_image() — Generate and save random imageget_library_info() — Get library informationImageLibraryConfig:
universe — Universe name (default: "default")width — Image width (default: 1920)height — Image height (default: 1080)image_format — Image format (default: "PNG")quality — JPEG quality (default: 95)ImageCoordinates:
floor, room, cabinet, shelf, book, page — Coordinate componentsseed — Combined seed string for generationto_dict() — Convert to dictionaryto_json() — Convert to JSON stringBefore (0.1.4):
from babylonian_image_library import BabylonianImageLibrary library = BabylonianImageLibrary() address = library.generate_random_address() # "Room42:Wall3:Shelf7:Volume5:Book23:Page456" library.save_image(address, "image.png")
After (1.0.1):
from babylonian_image_library import SmartBabylonImageLibrary library = SmartBabylonImageLibrary() image_path = library.generate_random_image() # Automatically generates coordinates # Or use specific coordinates: image = library.get_image(floor=1, room=3, cabinet=2, shelf=5, book=42, page=1)
Key breaking changes:
from babylonian_image_library import SmartBabylonImageLibrary~/babylonian_image_library/Images are automatically stored in:
~/babylonian_image_library/{universe}/C:\Users\{username}\babylonian_image_library\{universe}\Image generation is deterministic based on coordinates and universe:
# Same coordinates = same image library1 = SmartBabylonImageLibrary(ImageLibraryConfig(universe="test")) library2 = SmartBabylonImageLibrary(ImageLibraryConfig(universe="test")) image1 = library1.get_image(1, 1, 1, 1, 1, 1) image2 = library2.get_image(1, 1, 1, 1, 1, 1) # Images will be identical
RESEARCH STATUS: This implementation is part of ongoing research into deterministic systems and pointer-based architectures. It should not be used in production environments or for any critical applications.
Basic Usage:
from babylonian_image_library import SmartBabylonImageLibrary
library = SmartBabylonImageLibrary()
# Generate multiple random images
for i in range(5):
path = library.generate_random_image()
print(f"Generated: {path}")
# Get library information
info = library.get_library_info()
print(f"Library location: {info['library_path']}")
print(f"Total images: {info['total_images']}")
Working with Coordinates:
from babylonian_image_library import ImageCoordinates
# Create specific coordinates
coords = ImageCoordinates(floor=5, room=10, cabinet=3, shelf=2, book=150, page=42)
print(f"Coordinates: {coords}")
print(f"Seed: {coords.seed}")
# Use coordinates with library
image = library.get_image(coords.floor, coords.room, coords.cabinet,
coords.shelf, coords.book, coords.page)
Advanced Usage:
from babylonian_image_library import SmartBabylonImageLibrary, ImageLibraryConfig
# Create specialized universe for digital art
art_config = ImageLibraryConfig(
universe="digital_art",
width=1024,
height=768,
image_format="PNG"
)
art_library = SmartBabylonImageLibrary(art_config)
# Generate a series of abstract artworks
for i in range(10):
art_library.save_abstract_image(1, 1, 1, 1, i, 0, f"artwork_{i}.png")
By using this software, you agree to the full disclaimer terms.
Software provided "AS IS" without warranty. You assume all risks.
Full legal disclaimer: See DISCLAIMER.md
License: BSD 3-Clause License