# Consume business logic without copying source | EasyNet Source: https://easynet.run/cases/function-reuse # Consume business logic without copying source A consumer invokes publisher-owned logic through a stable typed interface. [All source cases](https://easynet.run/cases)[Inspect the pinned project](https://github.com/EasyRemote/EasyRemote/tree/44c768ca26d0f92a5ab9d1d03342895c29c27dc6/gallery/projects/04_function_marketplace) ## The problem After code is copied, maintenance ownership, the current version, and the source of each change quickly become unclear. ## What gets published The team that maintains the logic publishes its smallest reusable function interface. ## What stays local Source, implementation dependencies, and maintenance ownership. ## Business data crossing the call boundary Typed arguments, released result, and invocation facts. ## What this shows The publisher can improve one implementation while consumers keep the same contract. ## What it doesn't prove Discovery does not imply pricing, ranking, payment, or legal marketplace terms. ## Public source evidence for this case Evidence level Source layout and declarations are anonymously inspectable Pinned public EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 Public inspection [Public inspection](https://easynet.run/docs/source-check#run-check) Expected check Required files, Python syntax, and @node.register declaration are checked without installing dependencies Runtime invocation Not established by this source fixture; record separate discovery, Invocation, and terminal Receipt evidence ## Run in a compatible source workspace This Provider/Client walkthrough requires compatible EasyRemote, EasyNet-Cli, and EasyNet-Axon sibling source checkouts, a compatible Hub, and a paired, running Runtime. The source is public; clean installation from public packages is not yet verified. Technical Alpha offers guided setup. Use the pinned EasyRemote revision below; this page does not pin the other components. Runtime admission still determines whether the caller may execute the function. ``` # From EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 cd gallery/projects/04_function_marketplace # Terminal 1 uv sync --frozen uv run python node.py # Terminal 2 (same project) uv run python client.py ``` [Connect your own function](https://easynet.run/docs/connect/function) Read the setup first. You need compatible sibling source checkouts, a compatible Hub, and a paired, running Runtime. Technical Alpha offers guided help; public-package clean installation is not yet verified. [All source cases](https://easynet.run/cases)[Request technical alpha](https://easynet.run/pilot)