Skip to main content

Compute-over-Data (CoD) network for time series data on Aleph.im

Project description

fishnet-cod

P2P Financial Signal Hosting Network on Aleph

Initial setup

Install the FastAPI library and Uvicorn:

pip install -r ./api/requirements.txt

Uvicorn is used to run ASGI compatible web applications, such as the app web application from the example above. You need to specify it the name of the Python module to use and the name of the app:

python -m uvicorn api:app --reload

Then open the app in a web browser on http://localhost:8000

Tip: With --reload, Uvicorn will automatically reload your code upon changes

Upload on Aleph

The same app we just used with Gunicorn can be used by Aleph to run the web app, since Aleph attempts to be compatible with ASGI.

To upload the app, we can use the aleph command line tool.

aleph program api app

Testing

Open the HTTP interface of a node running the VM Supervisor:

http://ip-of-supervisor:4020/vm/{message_hash}/

Deployment

You can deploy your own Fishnet instance using the fishnet_cod.deployment package.

from pathlib import Path

import asyncio

from aleph.sdk.client import AuthenticatedAlephClient
from aleph.sdk.chains.sol import get_fallback_account
from aleph.sdk.conf import settings

from fishnet_cod.deployment import deploy_api, deploy_executors

async def main():
    aleph_session = AuthenticatedAlephClient(
        get_fallback_account(),
        settings.API_HOST
    )  # you'll need tons of $ALEPH
    
    executors = await deploy_executors(
        executor_path=Path("/your/executor/folder"),
        time_slices=[0, -1],  # one executor for all data
        deployer_session=aleph_session,
        channel="MY_DEPLOYMENT_CHANNEL",
    )
    
    await deploy_api(
        api_path=Path("/your/api/folder"),
        deployer_session=aleph_session,
        executors=executors,
        channel="MY_DEPLOYMENT_CHANNEL",
    )

asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fishnet_cod-1.0.0b2.tar.gz (56.8 MB view details)

Uploaded Source

Built Distribution

fishnet_cod-1.0.0b2-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file fishnet_cod-1.0.0b2.tar.gz.

File metadata

  • Download URL: fishnet_cod-1.0.0b2.tar.gz
  • Upload date:
  • Size: 56.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for fishnet_cod-1.0.0b2.tar.gz
Algorithm Hash digest
SHA256 dc39ccb7ef2f4f06afd0770ba50d98ed0ce7444028665fa054db43876d03b393
MD5 f6b648a5d3a133b856fbd1696558ca9d
BLAKE2b-256 99d59fb3ef0361b67ddaee60067f8d0bc87640b2bad39e9133a3efed5f6f0527

See more details on using hashes here.

File details

Details for the file fishnet_cod-1.0.0b2-py3-none-any.whl.

File metadata

File hashes

Hashes for fishnet_cod-1.0.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b8ff5473a907b1c5030132414729b3fff9f90720e5b78451d5719c31776f0ae
MD5 a617a0e3b679eff2ce9c9c1c9850f44b
BLAKE2b-256 70fc61d93b1cd68f4b80114dd2122c1ca3b185a1ace03e960758bb382d6517c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page