Skip to main content

fusion-datasource-cloner

A real Python CLI that clones a Lucidworks Fusion datasource in the same Fusion instance and also copies the linked configuration objects it references.

What it clones:

  • datasource configuration
  • linked index pipeline
  • linked query pipeline
  • linked index profile
  • scheduler entries that reference the datasource
  • optionally the parser

What it does not clone by default:

  • collections and indexed data
  • connector binaries / plugin jars
  • blob contents referenced by custom stages

Install

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run

Basic auth:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --verbose

API key:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --api-key 'Bearer eyJhbGciOi...' \
  --source-datasource products-json \
  --target-datasource products-json-copy

Dry run:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --dry-run

Clone and also move the clone to a different collection reference:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --collection products_copy

Clone parser too:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --clone-parser

Replace already-existing target objects:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --overwrite

Notes

The tool derives new linked object IDs from the target datasource ID. Example:

  • source datasource: my-source
  • source index pipeline: my-source
  • target datasource: my-source-copy
  • target index pipeline: my-source-copy

If a linked object ID does not start with the source datasource ID, the tool creates a stable derived ID by suffixing the target datasource ID, for example:

  • source query pipeline: shared-catalog-qp
  • target query pipeline: shared-catalog-qp-my-source-copy

The parser API is still supported by the tool, but it is disabled by default because the current Lucidworks docs label parts of parser CRUD as deprecated.

Metadata

Release files for fusion-datasource-cloner 0.1.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 fusion-datasource-cloner 0.1.0
File Size Uploaded
fusion_datasource_cloner-0.1.0.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fusion-datasource-cloner 0.1.0
File Interpreter ABI Platform
fusion_datasource_cloner-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / fusion_datasource_cloner-0.1.0.tar.gz

Download URL fusion_datasource_cloner-0.1.0.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fc397ac4ca69c1b3afb54dc56eb384920fca6b8680465276c7ca28c6b6f50df8
BLAKE2b-256 checksum
How to use checksums
b37c2b85c9b423199bc76d1b2c8a2749e213ffd00495db81086c06f0c40c99d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / fusion_datasource_cloner-0.1.0-py3-none-any.whl

Download URL fusion_datasource_cloner-0.1.0-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed5aeaeeda1193919362ee6e4ff46c7a9c1683eae22e05903f65030c7e153a40
BLAKE2b-256 checksum
How to use checksums
66d885bf51aec67ad4f50ad8438aa9567d8b3d19fe617eefd29282b837a962c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.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