Skip to main content

Panl Logo

Panl

Tests Python Version Poetry

Panl is a Python library for analyzing structural panels with cutouts, providing tools for stress analysis, geometric optimization, and design validation.

Features

  • 🔧 Structural panel analysis with cutout support
  • 📊 Stress concentration calculations
  • 🎯 Geometric optimization
  • ✅ Comprehensive testing with pytest
  • 🎨 Code quality enforced with pre-commit hooks

Installation

From PyPI (once published)

pip install panl

For Development

# Clone the repository
git clone https://github.com/Czarified/panl.git
cd panl

# Install Poetry if you haven't already
# Visit: https://python-poetry.org/docs/#installation

# Install dependencies
poetry install

# Install pre-commit hooks
poetry run pre-commit install

Quick Start

import panl

# Your code here
print(f"Panl version: {panl.__version__}")

Development

This project uses several tools to maintain code quality:

  • Poetry: Dependency management
  • Nox: Task automation and testing across Python versions
  • pre-commit: Git hooks for code quality
  • pytest: Testing framework with coverage

Running Tests

# Run tests with coverage
poetry run nox -s tests

# Run tests for specific Python version
poetry run nox -s tests-3.11

Code Quality

# Run all linters
poetry run nox -s lint

# Format code with black
poetry run nox -s black

# Sort imports with isort
poetry run nox -s isort

# Run pre-commit hooks
poetry run nox -s pre-commit

Available Nox Sessions

# List all available sessions
poetry run nox --list

# Run a specific session
poetry run nox -s <session-name>

Requirements

  • Python >= 3.11
  • Poetry for dependency management

Contributing

Contributions are welcome! Please ensure:

  1. All tests pass: poetry run nox -s tests
  2. Code is formatted: poetry run nox -s black
  3. Linting passes: poetry run nox -s lint
  4. Pre-commit hooks pass: poetry run pre-commit run --all-files

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Benjamin Crews - your.email@example.com

This project is an Agentic Experiment by the author, and uses Gemini 3 Flash.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panl-1.0.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

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

panl-1.0.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file panl-1.0.0.tar.gz.

File metadata

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

File hashes

Hashes for panl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 39b1455a2e1fdce347b1daaa1177262f8839465a86fed4681a1ead7c524ebe3b
MD5 34a6410e3169878aedee915a346523be
BLAKE2b-256 b109d46915f9980e2702011b512534646c9dcbab95d383362eec6027aa5d94ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for panl-1.0.0.tar.gz:

Publisher: release.yml on Czarified/panl

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

File details

Details for the file panl-1.0.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for panl-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbee5a29e1861c55aa46d3abd2f79b5b8f449a590d5238a63f679d12b5df6226
MD5 98895f3b13129b5d6bf4f54c192bd607
BLAKE2b-256 deee06c560deb8ea07d5b517e83b442caddcb2ec450326269834168cf1394cb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for panl-1.0.0-py3-none-any.whl:

Publisher: release.yml on Czarified/panl

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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page