Skip to main content

Wattleflow Core for Python

Project description

WattleFlow Core

WattleFlow Logo

PyPI version Python versions License


WattleFlow—graceful flow, modular, scaled with purpose, patterns guide the stream, extensible, clear design, built to last and grow.


Characteristics

Characteristic Value
Version PyPI version (latest release on PyPI)
License Apache 2.0 License
Python Compatibility Python >=3.9
Dependencies None
Size nimble
Documentation WattleFlow Core Documentation

WattleFlow Core Framework

A modular framework for Python, that facilitates design patterns as an architectural building blocks to enable efficient architecture.

Core Concepts:

  • Design Patterns
  • Modular Architecture
  • Scalability
  • Code Maintainability
  • Minimal Dependencies within the Python Ecosystem

Design Principles

Following the guidelines from the book "Design Patterns: Elements of Reusable Object-Oriented Software" (commonly known as the "Gang of Four" or GoF), Wattleflow framework is based on the principles that have become the de facto standard in the software industry, particularly in:

  • Object-Oriented Design (OOP)
  • Development of Scalable Systems
  • Enterprise Architecture
  • Microservices and Distributed Systems

Details

  • Design Patterns - The framwork libraries follows proven software engineering principles based on the internationally recognised Gang of Four (GoF) design patterns. These patterns provide standardised, reusable solutions for common architectural and development challenges. Their adoption enhances code readability, promotes consistent system design, and ensures alignment with best practices in object-oriented development.

  • Modular Architecture - The framework is following modular principles, where individual components (or interfaces) are developed, tested, and maintained independently. This enables flexibility, simplifies system evolution, and reduces the impact of changes on other parts of the solution design. Modular architecture also facilitates team collaboration by allowing parallel development across different functional units

  • Code Maintainability - The system emphasises maintainable code, which reduces technical debt and simplifies ongoing development, testing, and debugging. Clean, well-structured, and documented code ensures long-term sustainability, making it easier for new team members to onboard and for existing teams to evolve the solution without introducing instability.

  • Scalability - Wattleflow is specifically designed for Data-Flow and parallelism for scaling solutions both vertically and horizontally, ensuring that the system can efficiently handle increased workloads, higher data volumes, and a growing number of concurrent processes or users. Scalability is essential for maintaining system performance and reliability in high-demand environments, particularly in data-intensive or mission-critical operations. In the context of scalability, parallelism, and data processing pipelines, there are specific design patterns that are considered industry standards across domains such as:

    • Big Data solutions (e.g., Hadoop, Spark utilise Data Pipeline and MapReduce patterns)
    • ETL systems (Extract-Transform-Load patterns)
    • Stream data processing (Reactive Streams, Event-Driven patterns)
    • Asynchronous and concurrent programming (Actor Model, Futures, Producer-Consumer patterns)
    • WattleFlow is built upon these exact principles, making it fully aligned with industry expectations and standards.
  • Minimal Dependencies within the Python Ecosystem - The solution is intentionally designed with minimal external dependencies, relying primarily on stable, well-supported components within the Python ecosystem. This reduces complexity, simplifies deployment, and minimises security risks associated with third-party packages. At the same time, it ensures compatibility with common data engineering tools and frameworks. The Security and sustainability principle of minimal dependencies reduces:

    • The attack surface
    • The risk of outdated or vulnerable dependencies
    • The complexity of installation and deployment

Installation

pip install wattleflow

Usage examples

Dependencies

  • none

Documentation

When available, full documentation will be accessible at WattleFlow documentation.

License

Wattleflow Core is licensed under the Apache 2.0 License. See the LICENSE file for more 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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

wattleflow-0.0.0.37-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file wattleflow-0.0.0.37-py3-none-any.whl.

File metadata

  • Download URL: wattleflow-0.0.0.37-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for wattleflow-0.0.0.37-py3-none-any.whl
Algorithm Hash digest
SHA256 8f2320b98e2ca3dc16bfd3bdf8bd7209eb7719890a40503572bcbef1a2251cd1
MD5 c6da5a3fdb91df81598eec767f3bb31b
BLAKE2b-256 6fe149719ed75999a046914291e9d937fa919389ebadd098a8f272785194ee4c

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