Skip to main content

Wattleflow Core for Python

Project description

WattleFlow Core

WattleFlow Logo


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


Characteristics

Characteristic Value
Version v0.0.0.26 (latest stable release)
License Apache 2.0 License
Python Compatibility Python >=3.8
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.26-py3-none-any.whl (87.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wattleflow-0.0.0.26-py3-none-any.whl
  • Upload date:
  • Size: 87.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for wattleflow-0.0.0.26-py3-none-any.whl
Algorithm Hash digest
SHA256 8d36ca841c3ef5be45883c8e10629e1f88de9def6244aeb551a82f5e775b3399
MD5 c48e3ef2f03a206c8209662f1264658b
BLAKE2b-256 74a7ee4d57cd8680d159519b1519c52216417b548a2d2b5c582018b54e220d08

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