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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26c46d5c34a34b060c51cd7aa172b7b92da959a39c2c45aaeb54bd52443d1f92
|
|
| MD5 |
bd5e64fcf19e5650305a96994a0aa912
|
|
| BLAKE2b-256 |
0719dee92654b51aa6c62697129cbf2a5eb02914dc9c8f1c6272b22678fbe88e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geomet_screen-0.1.1.tar.gz -
Subject digest:
26c46d5c34a34b060c51cd7aa172b7b92da959a39c2c45aaeb54bd52443d1f92 - Sigstore transparency entry: 844155953
- Sigstore integration time:
-
Permalink:
elphick-consulting/geomet-screen@673f1ff1169f26f1f70bc28b08218b7a20d9cb5a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elphick-consulting
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@673f1ff1169f26f1f70bc28b08218b7a20d9cb5a -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74935a429ab66394331ba0d6f629f1dcf45dda7005b1977018721c9cfe3ed2eb
|
|
| MD5 |
861a1786c3a0f9bb700bb5c2534a9f09
|
|
| BLAKE2b-256 |
607f569bcd060dc49a8085fc5ef96ba029d827560bb49d0b641034004f5f3b5c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
geomet_screen-0.1.1-py3-none-any.whl -
Subject digest:
74935a429ab66394331ba0d6f629f1dcf45dda7005b1977018721c9cfe3ed2eb - Sigstore transparency entry: 844155958
- Sigstore integration time:
-
Permalink:
elphick-consulting/geomet-screen@673f1ff1169f26f1f70bc28b08218b7a20d9cb5a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elphick-consulting
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@673f1ff1169f26f1f70bc28b08218b7a20d9cb5a -
Trigger Event:
workflow_dispatch
-
Statement type: