Skip to content

smthngslv/mycelia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Concept

Mycelia is a task based interservice (interagent) communication system. It solves problem of creating and executing multi steps, interconnected and very dependency heavy workflows along with data management in these workflows and interservice (interagent) communication.

Installation

You can clone latest version fron git.

UV_GIT_LFS=1 uv add "https://github.com/smthngslv/mycelia.git[logfire,rabbitmq,postgres,postgres-migrations]"

After that you need to create account in Logfire and run

logfire auth

It will open browser window and you can authenticate there. Then on very first run with you will be asked to select/create project.

Example

Start postgres and rabbitmq:

docker compose -f ./docs/docker-compose.yaml up -d

Initialize postgres:

mycelia-postgres-storage-alembic -x url=postgresql+asyncpg://mycelia:mycelia@localhost/mycelia upgrade head

Run example (server):

python ./docs/example.py server

Run example (client):

python ./docs/example.py client

In server console you will see:

Hello from `get_random_number#G`, number is 2!
Hello from `get_random_number#H`, number is 1!
Hello from `get_random_number#I`, number is 2!
Hello from `get_random_number#A`, number is 1!
Hello from `get_random_number#C`, number is 1!
Hello from `get_random_number#B`, number is 1!
Hello from `get_random_number#E`, number is 2!
Hello from `get_random_number#D`, number is 2!
Hello from `get_random_number#F`, number is 1!
Hello from `get_random_number#Meow`, number is 1!
Hello from `print_numbers`, numbers are (2, 1, 2)!

About

Task-first orchestration for services and agents. Mycelia runs multi-step, dependency-heavy workflows, manages data flow, and connects messaging across components. A clean way to build distributed automation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages