Skip to main content

Helpers for building Python app or cli.

Project description

wexample-app

Version: 0.0.68

Helpers for building Python app or cli.

Table of Contents

Status & Compatibility

Maturity: Production-ready

Python Support: >=3.10

OS Support: Linux, macOS, Windows

Status: Actively maintained

Prerequisites

No special system dependencies required beyond Python >=3.10.

Installation

pip install wexample-app

Quickstart

Get started with wexample-app in seconds:

# Your first example with wexample-app
from wexample-app import YourClass

# Initialize and use
instance = YourClass()
instance.run()

This package requires Python >=3.10.

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()

Configuration

Configuration can be provided through environment variables or config files.

Environment Variables

  • WEXAMPLE-APP_DEBUG: Enable debug mode
  • WEXAMPLE-APP_LOG_LEVEL: Set logging level (DEBUG, INFO, WARNING, ERROR)

Logging & Verbosity Control

Control logging output with environment variables:

export WEXAMPLE-APP_LOG_LEVEL=DEBUG

Or programmatically:

import logging
logging.getLogger('wexample-app').setLevel(logging.DEBUG)

API Reference

Full API documentation is available in the source code docstrings.

Key modules and classes are documented with type hints for better IDE support.

Additional Examples

Advanced Usage

from wexample-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.

Tests

Run the test suite:

pytest tests/

With coverage:

pytest --cov=wexample-app tests/

Code Quality & Typing

All the suite packages follow strict quality standards:

  • Type hints: Full type coverage with mypy validation
  • Code formatting: Enforced with black and isort
  • Linting: Comprehensive checks with custom scripts and tools
  • Testing: High test coverage requirements

These standards ensure reliability and maintainability across the suite.

Versioning & Compatibility Policy

Wexample packages follow Semantic Versioning (SemVer):

  • MAJOR: Breaking changes
  • MINOR: New features, backward compatible
  • PATCH: Bug fixes, backward compatible

We maintain backward compatibility within major versions and provide clear migration guides for breaking changes.

Changelog

See CHANGELOG.md for detailed version history and release notes.

Major changes are documented with migration guides when applicable.

Migration Notes

When upgrading between major versions, refer to the migration guides in the documentation.

Breaking changes are clearly documented with upgrade paths and examples.

Known Limitations & Roadmap

Current limitations and planned features are tracked in the GitHub issues.

See the project roadmap for upcoming features and improvements.

Troubleshooting & FAQ

Common Issues

Q: Installation fails with dependency errors
A: Ensure you're using Python >=3.10 and have the latest pip version.

Q: Import errors
A: Verify the package is installed: pip show wexample-app

For more help, see the Support Channels section.

Security Policy

Reporting Vulnerabilities

If you discover a security vulnerability, please email security@wexample.com.

Do not open public issues for security vulnerabilities.

We take security seriously and will respond promptly to verified reports.

Privacy & Telemetry

This package does not collect any telemetry or usage data.

Your privacy is respected — no data is transmitted to external services.

Support Channels

  • GitHub Issues: Bug reports and feature requests
  • GitHub Discussions: Questions and community support
  • Documentation: Comprehensive guides and API reference
  • Email: contact@wexample.com for general inquiries

Community support is available through GitHub Discussions.

Contribution Guidelines

We welcome contributions to the Wexample suite!

How to Contribute

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Maintainers & Authors

Maintained by the Wexample team and community contributors.

See CONTRIBUTORS.md for the full list of contributors.

License

MIT

Useful Links

Integration in the Suite

This package is part of the Wexample Suite — a collection of high-quality Python packages designed to work seamlessly together.

Related Packages

The suite includes packages for configuration management, file handling, prompts, and more. Each package can be used independently or as part of the integrated suite.

Visit the Wexample Suite documentation for the complete package ecosystem.

Compatibility Matrix

This package is part of the Wexample suite and is compatible with other suite packages.

Refer to each package's documentation for specific version compatibility requirements.

Requirements

  • Python >=3.10

Dependencies

  • attrs>=23.1.0
  • cattrs>=23.1.0
  • dotenv
  • python-dotenv
  • wexample-filestate==0.0.71
  • wexample-helpers-yaml==0.0.110

Links

About us

Wexample stands as a cornerstone of the digital ecosystem — a collective of seasoned engineers, researchers, and creators driven by a relentless pursuit of technological excellence. More than a media platform, it has grown into a vibrant community where innovation meets craftsmanship, and where every line of code reflects a commitment to clarity, durability, and shared intelligence.

This packages suite embodies this spirit. Trusted by professionals and enthusiasts alike, it delivers a consistent, high-quality foundation for modern development — open, elegant, and battle-tested. Its reputation is built on years of collaboration, refinement, and rigorous attention to detail, making it a natural choice for those who demand both robustness and beauty in their tools.

Wexample cultivates a culture of mastery. Each package, each contribution carries the mark of a community that values precision, ethics, and innovation — a community proud to shape the future of digital craftsmanship.

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

wexample_app-0.0.68.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

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

wexample_app-0.0.68-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

Details for the file wexample_app-0.0.68.tar.gz.

File metadata

  • Download URL: wexample_app-0.0.68.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.25.9 CPython/3.12.3 Linux/6.8.0-87-generic

File hashes

Hashes for wexample_app-0.0.68.tar.gz
Algorithm Hash digest
SHA256 1a74f11bb3e5ba7e7b2361fa94974ab769c943b43e313ce18246d6587eb8acf8
MD5 b8009e2555d2eed45662bac684abac3f
BLAKE2b-256 9539d10e387a6aa4b878308fced754ed2e55b77a143c14544b51a986071e5402

See more details on using hashes here.

File details

Details for the file wexample_app-0.0.68-py3-none-any.whl.

File metadata

  • Download URL: wexample_app-0.0.68-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.25.9 CPython/3.12.3 Linux/6.8.0-87-generic

File hashes

Hashes for wexample_app-0.0.68-py3-none-any.whl
Algorithm Hash digest
SHA256 157618226ae754cee06779b0234c00d7167843d96417cba4fab9bb77c2758593
MD5 dcc6142091cc8f83a44f16f16431a056
BLAKE2b-256 571234590e8f6c232c6f113d28d3c6857f7147adbdf290bfd8119e0efda3a6c6

See more details on using hashes here.

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