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.2.tar.gz (119.2 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.2-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geomet_screen-0.1.2.tar.gz
  • Upload date:
  • Size: 119.2 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.2.tar.gz
Algorithm Hash digest
SHA256 a356b6e05916f5cd8c41ecdb0d9afc2afe32d8993a91b7df9b3185b46ba658b7
MD5 294f6a42d7ab7447d557bb1b8396488f
BLAKE2b-256 254658815578a11bcdb1877062cbf70f87a451882890ded76777a24ee464c260

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: geomet_screen-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 21.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a64b9c8c77805ce7e770a3f19b99935c7d7def5110fdf2ba7b5ea81252338247
MD5 54687d2d305f7ac4025c1736dd747158
BLAKE2b-256 5dff9cec5d64bd19f323bbd3b9fcb0538df4fb7b8facbbd0b3374ea1dabdcf66

See more details on using hashes here.

Provenance

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