Observed since 20 Oct, 18:10 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
CLI tool for synchronizing points, equipment, and entities from ACE FlightDeck to SkySpark
CLI tool for synchronizing points, equipment, and entities from ACE FlightDeck to SkySpark with idempotent operations and haystack tag management.
haystackRef tags to maintain relationships between ACE and SkySparkpip install ace-skyspark-cli
ace-skyspark-cli init
Edit the generated .env file with your credentials:
FLIGHTDECK_JWT=your-jwt-token
FLIGHTDECK_API_URL=https://flightdeck.aceiot.cloud/api
SKYSPARK_URL=http://localhost:8080/api
SKYSPARK_PROJECT=myProject
SKYSPARK_USER=admin
SKYSPARK_PASSWORD=secret
# Sync configured points for a site
ace-skyspark-cli sync --site "Building A"
# Dry run to see what would be synced
ace-skyspark-cli sync --site "Building A" --dry-run
# Sync all points (including non-configured)
ace-skyspark-cli sync --site "Building A" --sync-all
# Limit sync to first 10 points
ace-skyspark-cli sync --site "Building A" --limit 10
# Write historical data for a date range
ace-skyspark-cli write-history --site "Building A" \
--start 2025-11-01 \
--end 2025-11-02
# With custom chunk size
ace-skyspark-cli write-history --site "Building A" \
--start 2025-11-01T00:00:00Z \
--end 2025-11-01T23:59:59Z \
--chunk-size 5000
# Sync haystack refs back to ACE FlightDeck
ace-skyspark-cli sync-refs-from-skyspark
# For specific site only
ace-skyspark-cli sync-refs-from-skyspark --site "Building A"
Generate and use job configuration files for complex workflows:
# Generate template for all commands
ace-skyspark-cli generate-job-template
# Generate template for specific command
ace-skyspark-cli generate-job-template --command sync --output sync-job.yaml
# Use job file
ace-skyspark-cli sync --job-file sync-job.yaml
# Override job file parameters
ace-skyspark-cli sync --job-file sync-job.yaml --limit 50 --dry-run
Example job file:
credentials:
flightdeck_jwt: your-jwt-token
skyspark_url: http://localhost:8080/api
skyspark_project: myProject
skyspark_user: admin
skyspark_password: secret
sync:
site: Building A
dry_run: false
limit: null
sync_all: false
batch_size: 500
See Job Configuration Guide for complete documentation.
syncSynchronize points from FlightDeck to SkySpark for a specific site.
Options:
--site TEXT - Site name to synchronize (required)--dry-run - Perform dry run without making changes--limit INT - Limit number of points to sync--sync-all - Sync all points including non-configured--batch-size INT - Override batch size--job-file PATH - Load parameters from job filewrite-historyWrite historical timeseries data from ACE to SkySpark.
Options:
--site TEXT - Site name (required)--start TEXT - Start time in ISO format (required)--end TEXT - End time in ISO format (required)--limit INT - Limit number of points to process--chunk-size INT - Samples per write chunk (default: 1000)--dry-run - Show what would be written--job-file PATH - Load parameters from job filesync-refs-from-skysparkSync haystack refs from SkySpark back to ACE FlightDeck.
Options:
--site TEXT - Optional site filter--dry-run - Perform dry run--job-file PATH - Load parameters from job filecheck-timezonesCheck for timezone inconsistencies in SkySpark points.
Options:
--site TEXT - Check specific site--dry-run - Dry run mode--job-file PATH - Load parameters from job filegenerate-job-templateGenerate job configuration file templates.
Options:
--command TEXT - Command to generate template for (sync, write-history, etc.)--output PATH - Output file path--format TEXT - Output format (yaml or json)--force - Overwrite existing fileinitInitialize a new .env configuration file.
versionDisplay version and configuration information.
Credentials can be provided via three methods (in order of precedence):
--flightdeck-jwt, --skyspark-usercredentials section.env fileExample using CLI arguments:
ace-skyspark-cli --flightdeck-jwt "new-token" \
--skyspark-project "production" \
sync --site "Building A"
# Clone repository
git clone https://github.com/ACE-IoT-Solutions/ace-skyspark-cli.git
cd ace-skyspark-cli
# Install with development dependencies
uv sync --all-extras --group dev
# Run unit tests
uv run pytest -m unit
# Run integration tests (requires FlightDeck and SkySpark)
uv run pytest -m integration
# Run all tests with coverage
uv run pytest --cov=ace_skyspark_cli
# Run linting
uv run ruff check .
uv run ruff format .
# Run type checking
uv run pyrefly check src tests
haystackRef tags to track existing entitiesSync Command
haystackRef tagsWrite History Command
haystack_entityRef tagsSync Refs Command
ace_topic tagsMIT License - see LICENSE file for details
Contributions are welcome! Please open an issue or pull request.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.12.0 | 12 Jun 2026 | 6 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 18:10 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:d15446cd7d34c8abce9310373cdf0b5de67ade663313902b50fe1fa62f1a1fd8