Metadata-Version: 2.4
Name: bee-mesh
Version: 0.1.0
Summary: A lightweight volunteer distributed computing framework for scientific workloads.
Author: Dhanush Vittal Shenoy
License-Expression: MIT
Keywords: distributed-computing,volunteer-computing,cfd,scientific-computing,fastapi
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi
Requires-Dist: uvicorn
Requires-Dist: requests
Requires-Dist: psutil
Requires-Dist: numpy
Dynamic: license-file

# beemesh
BeeMesh: a lightweight volunteer computing framework for distributed scientific workloads.

                +------------------+
                |     BeeMesh      |
                |       Hive       |
                |  (FastAPI API)   |
                +------------------+
                   |   |   |
                   |   |   |
              request_task()
                   |   |   |
             +-----+   |   +-----+
             |         |         |
          [Bee]     [Bee]     [Bee]
         worker1   worker2   worker3
             |         |         |
         execute workload
             |         |         |
         submit_result()


    A True distributed execution.. who asks first gets the work
                +------------------+
                |     BeeMesh      |
                |       Hive       |
                |   Task Queue     |
                +------------------+
                    ↑             ↑
                request        request
                    |             |
                +-------+     +-------+
                | Bee1  |     | Bee2  |
                +-------+     +-------+
                    |             |
                execute        execute
                    |             |
                result         result
            └──────submit_result──────┘


# Long-Poll
                +------------------+
                |      BeeMesh     |
                |       Hive       |
                |    Task Queue    |
                +------------------+
                   ▲            ▲
                   │            │
              long poll    long poll
                   │            │
              +--------+   +--------+
              | Bee 1  |   | Bee 2  |
              +--------+   +--------+
                   │            │
                execute      execute
                   │            │
                   └──submit_result──► Hive


    New architecture 
                Client
                │
                │ submit_job (global simulation)
                ▼
                +---------------------+
                |      BeeMesh Hive   |
                |  job decomposition  |
                +---------------------+
                        │
                        │ create tasks
                        ▼
                    Task Queue
                        │
                ┌────┴────┐
                │         │
                Bee1      Bee2
                │         │
                compute    compute
                │         │
                └──submit_result──► Hive
