Skip to main content

🔬 Pipe Dreams

This is an application programmer interface (API) to support the construction and processing of data pipes for scientific data, primarily for the Laboratory Catalog and Archive System, but open-ended for other systems.

🚗 Starting Redis

The Pipe Dreams API requires Redis (although apparently not—try it without, it seems to work) to run. To start Redis, run:

$ docker container run \
    --name labcas-redis \
    --publish 5002:5002 \
    --detach \
    redis:6.2.4-alpine

💿 Installing Pipe Dreams

Pipe Dreams is an open source, installable Python packge. It requires Python 3.7 or later. Typically, you'd install it into Python virtual environment, but you can also put it into a Conda or—if you must—your system's Python.

To use a virtual environment, run:

$ python3 -m venv venv
$ venv/bin/pip install --upgrade setuptools pip wheel
$ venv/bin/pip install labcas_publishing_api

Once this is done, you can run venv/bin/python as your Python interpreter and it will have the Pipe Dreams API (and all its dependencies) ready for use.

👩‍💻 Customizing the Workflow

The next step is to create a workflow to define the processing steps to publish the data. As an example, see the demo.py which is available from the GitHub source of this package.

In summary you need to

  1. Create an Operation instance.
  2. Add pipes to the instance.
  3. Run the instance's graph.

📗 Publishing the Data

Finally, with Redis running (or not—seems to work in any case) and a custom workflow defined, you can then execute the publication. For example, using the demo.py from the GitHub source:

$ python3 -m venv venv
$ venv/bin/pip install --upgrade setuptools pip wheel
$ venv/bin/pip install labcas_publishing_api
$ curl -LO https://github.com/EDRN/labcas_publish_api/blob/master/demo.py
$ venv/bin/python demo.py
Adding Node: hello_world_read|+|mydata0.txt
…
num nodes in task graph: 7
num task completed: 7
time taken: 0:00:00.306140

That's it 🥳

Metadata

Release files for jpl.pipedreams 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jpl.pipedreams 1.0.0
File Size Uploaded
jpl.pipedreams-1.0.0.tar.gz 55.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jpl.pipedreams 1.0.0
File Interpreter ABI Platform
jpl.pipedreams-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 124.1 kB

Release files / jpl.pipedreams-1.0.0.tar.gz

Download URL jpl.pipedreams-1.0.0.tar.gz
Size 55.5 kB
Tags Source
SHA-256 checksum
How to use checksums
153af8470442628f3d0cba59f66d5061187e1ef1868b1094781cac249318b59b
BLAKE2b-256 checksum
How to use checksums
3750730d20ffc37de024c94ae4e5255ceab66b2ef71437b63999b2c7f4a05bc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.5

Release files / jpl.pipedreams-1.0.0-py3-none-any.whl

Download URL jpl.pipedreams-1.0.0-py3-none-any.whl
Size 68.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31bea46723ae8616e5ac151ef97967c0b59dc1e43925c8e1254d6abcd589aaeb
BLAKE2b-256 checksum
How to use checksums
53253f9ba8c90a79861fa25fda011e36606f25b7e45b0303bfa9df61d77e6ebf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.5

Release history Release notifications | RSS feed

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page