Skip to main content

Tools for screen deck layouts, wear monitoring and partition models

Project description

geomet-screen

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.0.tar.gz (111.8 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.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geomet_screen-0.1.0.tar.gz
  • Upload date:
  • Size: 111.8 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.0.tar.gz
Algorithm Hash digest
SHA256 c77df58185cb504d774cf573aeb81b6e17e6d5a96c7ec0c788ddb09c007e9914
MD5 ad98b7877898d338bc74a2b92bede616
BLAKE2b-256 327113869c3e662a2441678c0fa9c4227c2679f3c2313beb5cee32aebee70ea4

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomet_screen-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: geomet_screen-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2449f090d8cfb0dbd75662af16402779647d7cbfcf906e4b167367e678d73056
MD5 c3dc4d228d73ca3edbc396b2756dbf8b
BLAKE2b-256 f64cbb21fda4582aebe529e964831e80668772b1d44ee3865857879774f5e058

See more details on using hashes here.

Provenance

The following attestation bundles were made for geomet_screen-0.1.0-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