Skip to main content

Tools for screen deck layouts, wear monitoring and partition models

Project description

geomet-screen

PyPI version Python versions Build status Documentation status License

Tools for screen deck layouts, wear monitoring and partition models.

Features

  • SQLAlchemy Database Integration: SQLite-based database connection for managing screen deck layouts
  • Excel Data Loading: Load screen deck layouts from Excel workbooks (one sheet per deck)
  • Data Models: SQLAlchemy ORM models for screen decks and grid cells
  • Plotly Visualization: Create interactive heatmap visualizations of deck grids
  • Kaleido Integration: Export plots to static images (PNG, JPEG, SVG)
  • Sphinx Documentation: Comprehensive documentation with Sphinx Book Theme
  • Sphinx Gallery: Executable examples with automatic thumbnail generation
  • Comprehensive Tests: Full test coverage using pytest

Installation

pip install geomet-screen

For development:

git clone https://github.com/elphick-consulting/geomet-screen.git
cd geomet-screen
pip install -e ".[dev,docs]"

Quick Start

Load a Screen Deck from Excel

from geomet.screen import DatabaseConnection, ExcelLoader

# Initialize database
db = DatabaseConnection("screen_data.db")
db.create_tables()

# Load deck from Excel
loader = ExcelLoader(db.get_session())
deck = loader.load_deck_from_excel(
    workbook_path="screen.xlsx",
    sheet_name="Deck1",
    screen_name="Screen_A",
    deck_name="Deck_1",
)

Visualize the Deck

from geomet.screen import plot_deck_grid

# Get deck data
grid_df = loader.get_deck_data(deck.id)

# Create plot
fig = plot_deck_grid(grid_df, title="Screen Deck Layout")
fig.show()

Running Tests

pytest tests/

Building Documentation

cd docs
make html

The documentation will be built in docs/build/html/.

Project Structure

geomet-screen/
├── geomet_screen/          # Main package
│   ├── database/           # Database connection and Excel loader
│   ├── models/             # SQLAlchemy models
│   └── visualization.py    # Plotly visualization functions
├── tests/                  # Test suite
├── examples/               # Sphinx Gallery examples
├── docs/                   # Sphinx documentation
│   ├── source/             # Documentation source files
│   └── build/              # Generated documentation
└── pyproject.toml          # Project configuration

Technologies Used

  • uv: Modern Python package manager
  • SQLAlchemy: SQL toolkit and ORM
  • pandas: Data manipulation and analysis
  • openpyxl: Excel file reading/writing
  • plotly: Interactive plotting library
  • kaleido: Static image export for plotly
  • Sphinx: Documentation generator
  • sphinx-book-theme: Beautiful book-style theme
  • sphinx-gallery: Gallery of examples with thumbnails
  • pytest: Testing framework

License

See LICENSE file for details.

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

geomet_screen-0.1.1.tar.gz (116.3 kB view details)

Uploaded Source

Built Distribution

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

geomet_screen-0.1.1-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file geomet_screen-0.1.1.tar.gz.

File metadata

  • Download URL: geomet_screen-0.1.1.tar.gz
  • Upload date:
  • Size: 116.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geomet_screen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 26c46d5c34a34b060c51cd7aa172b7b92da959a39c2c45aaeb54bd52443d1f92
MD5 bd5e64fcf19e5650305a96994a0aa912
BLAKE2b-256 0719dee92654b51aa6c62697129cbf2a5eb02914dc9c8f1c6272b22678fbe88e

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomet_screen-0.1.1.tar.gz:

Publisher: publish_to_pypi.yml on elphick-consulting/geomet-screen

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

File details

Details for the file geomet_screen-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: geomet_screen-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geomet_screen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 74935a429ab66394331ba0d6f629f1dcf45dda7005b1977018721c9cfe3ed2eb
MD5 861a1786c3a0f9bb700bb5c2534a9f09
BLAKE2b-256 607f569bcd060dc49a8085fc5ef96ba029d827560bb49d0b641034004f5f3b5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomet_screen-0.1.1-py3-none-any.whl:

Publisher: publish_to_pypi.yml on elphick-consulting/geomet-screen

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