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 jpl.pipedreams

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 release 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 the GitHub release:

$ python3 -m venv venv
$ venv/bin/pip install --upgrade setuptools pip wheel
$ venv/bin/pip install jpl.pipedreams
$ curl -LO https://github.com/EDRN/jpl.pipedreams/releases/download/v1.0.1/demo.py
$ curl -L https://github.com/EDRN/jpl.pipedreams/releases/download/v1.0.1/test-data.tar.gz | tar xzf -
$ 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.1

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.1
File Size Uploaded
jpl.pipedreams-1.0.1.tar.gz 55.4 kB Details

Built distribution (wheel)

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

Total release size: 124.0 kB

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

Download URL jpl.pipedreams-1.0.1.tar.gz
Size 55.4 kB
Tags Source
SHA-256 checksum
How to use checksums
496e14063e3b461f6cda6cca5131434840243260712ae0b3f8a1883f7ec110f0
BLAKE2b-256 checksum
How to use checksums
f833b02d708559c980f7ca0715496ccd8decc8951d6343084158e8485fa735a6
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.1-py3-none-any.whl

Download URL jpl.pipedreams-1.0.1-py3-none-any.whl
Size 68.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0d55dd50a276fdb1f807656cb8246ce4af0d5e93588f29b76de401264c10bb93
BLAKE2b-256 checksum
How to use checksums
66b5aad4f18d65612c53506ffd015b385ce68a27a94ebedc5f73bd387e54e844
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

This release

1.0.1 This release

2 release files

1.0.0

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