app
Version: 19.6.0
Provides an AbstractKernel base class, command resolvers, typed response objects, and a service-container mixin for building structured Python CLI applications
Table of Contents
- Basic Usage
- Examples
- Installation
- Introduction
- Quickstart
- Install
- Tests
- Roadmap
- Status Compatibility
- Useful Links
Basic Usage
from wexample_helpers.decorator.base_class import base_class
from wexample_app.common.abstract_kernel import AbstractKernel
from wexample_app.common.mixins.command_line_kernel import CommandLineKernel
from wexample_app.common.mixins.command_runner_kernel import CommandRunnerKernel
@base_class
class MyApp(CommandRunnerKernel, CommandLineKernel, AbstractKernel):
pass
my_app = MyApp()
Additional Examples
Advanced Usage
from app import AdvancedFeature
# Advanced example
feature = AdvancedFeature(config={'option': 'value'})
result = feature.execute()
More examples can be found in the examples/ directory of the repository.
Installation
pip install app
Introduction
app provides essential base classes that facilitate quick development of simple, well-structured CLI programs.
Quickstart
Get started with app in seconds:
# Your first example with app
from app import YourClass
# Initialize and use
instance = YourClass()
instance.run()
This package requires Python >=3.10.
Installation
pip install wexample-app
Requires Python >=3.10.
Tests
This project uses pytest for testing and pytest-cov for code coverage analysis.
Installation
First, install the required testing dependencies:
.venv/bin/python -m pip install pytest pytest-cov
Basic Usage
Run all tests with coverage:
.venv/bin/python -m pytest --cov --cov-report=html
Common Commands
# Run tests with coverage for a specific module
.venv/bin/python -m pytest --cov=your_module
# Show which lines are not covered
.venv/bin/python -m pytest --cov=your_module --cov-report=term-missing
# Generate an HTML coverage report
.venv/bin/python -m pytest --cov=your_module --cov-report=html
# Combine terminal and HTML reports
.venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html
# Run specific test file with coverage
.venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing
Viewing HTML Reports
After generating an HTML report, open htmlcov/index.html in your browser to view detailed line-by-line coverage information.
Coverage Threshold
To enforce a minimum coverage percentage:
.venv/bin/python -m pytest --cov=your_module --cov-fail-under=80
This will cause the test suite to fail if coverage drops below 80%.
Known Limitations & Roadmap
Current limitations and planned features are tracked in the GitHub issues.
See the project roadmap for upcoming features and improvements.
Status & Compatibility
Maturity: Production-ready
Python Support: >=3.10
OS Support: Linux, macOS, Windows
Status: Actively maintained
Useful Links
- Homepage: https://github.com/wexample/python-app
- Issue Tracker: https://github.com/wexample/python-app/issues
- Discussions: https://github.com/wexample/python-app/discussions
- PyPI: pypi.org/project/wexample-app
Metadata
Release files for wexample-app 19.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wexample_app-19.6.0.tar.gz | 42.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wexample_app-19.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.9 kB
Release files / wexample_app-19.6.0.tar.gz
| Download URL | wexample_app-19.6.0.tar.gz |
|---|---|
| Size | 42.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e062e94cf5bf1a0e4723ffcb2608c1a9f3d9c9da646dd06ef1c7285139803c63
|
|
BLAKE2b-256 checksum How to use checksums |
e45a75853364d8ffde728b49acc463f5eaf9d37cf5d08f5750df7997c29132c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64
|
Release files / wexample_app-19.6.0-py3-none-any.whl
| Download URL | wexample_app-19.6.0-py3-none-any.whl |
|---|---|
| Size | 82.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
748390ffea9bbb7abb7975f8a71692ad3e7a615d63fb314b5146fd1a48a4a82b
|
|
BLAKE2b-256 checksum How to use checksums |
1f0f29c0fc58a99b48856f59a4a1587e37c073e4640c022f7cc521238f2e33a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.29.3 CPython/3.12.3 Linux/6.1.0-37-amd64
|
Security for wexample-app 19.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.