Download the PHP package survos/dataset-bundle without Composer
On this page you can find all versions of the php package survos/dataset-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download survos/dataset-bundle
More information about survos/dataset-bundle
Files in survos/dataset-bundle
Package dataset-bundle
Short Description Shared data directory conventions and path utilities for dataset-driven apps (APP_DATA_DIR).
License MIT
Informations about the package dataset-bundle
Survos Data Bundle
survos/data-bundle centralizes dataset filesystem conventions for
dataset-driven Symfony applications.
Despite the historical name, this bundle is not the owner of shared semantic metadata contracts. It manages where dataset files, provider metadata, Pixie databases, run artifacts, cache files, and related JSONL outputs live.
For shared vocabulary and typed metadata contracts, use
survos/data-contracts.
Scope
This bundle provides:
DataPaths: root-level path resolution underAPP_DATA_DIRDatasetPaths: dataset-scoped path helpers- dataset metadata loading and ensuring
DatasetInfo/Providerregistry entities- provider snapshot encoding
- dataset context helpers for console/import workflows
- commands for browsing, diagnosing, and resolving dataset paths
This bundle does not provide:
- Dublin Core vocabulary constants
- collection-object DTO contracts
- metadata claim storage
- AI workflow execution
- media upload, IIIF, or mediary publishing
- import/normalize/profile logic
Relationship to Other Packages
survos/data-contracts: shared metadata vocabulary and DTO contracts.survos/data-bundle: dataset paths, provider storage, and dataset registry.survos/import-bundle: import/convert workflows that may ask this bundle for dataset paths.survos/ai-workflow-bundle: task execution in apps that own subject context.- claims bundle: tracked metadata assertions with provenance and confidence.
survos/media-bundle: media identity and mediary publishing.
The dependency direction should stay honest: packages should require
survos/data-contracts directly when they only need DcTerms, ContentType,
or metadata DTOs. Do not require this bundle just to get vocabulary classes.
Core Idea
All dataset work lives under a single root directory:
The bundle avoids repository-relative paths and gives services and commands one place to ask for canonical locations.
Tiers (v2)
Placement is decided by one rule: can I regenerate it from another tier + code?
| Tier | Holds | Backed up / shipped? |
|---|---|---|
vault/ |
acquired source + AI claims + _vocab/ reference |
yes — durable, mirror of HF/S3 |
cache/ |
bulky re-fetchable materializations (clones, firehose, unzipped) | no |
work/ |
pipeline output — disposable (rm -rf work/<p>/<c> is always safe) |
no |
folio/ |
built .folio databases |
no — rebuilt from work |
Work-tree stage directory names have no numeric prefixes and sort in pipeline
order; _-prefixed dirs are tier portals (config / vault / folio), often symlinks,
not computed stages.
Stage enum — the single source of truth
Survos\DatasetBundle\Enum\Stage owns stage identity and dir names. The backed value
is the stable semantic key (events, import:convert --stage); Stage::dir() is the only
place directory names live; Stage::fromKey() is the fail-loud string boundary (unknown →
throws). Reference Stage cases in code — do not pass raw stage strings.
Installation
Set the root directory:
Usage
Inject DataPaths for root and dataset path resolution:
Common dataset paths:
Pixie paths:
Operational directories:
Commands
Current command names retain the historical data:* prefix:
These may eventually move to dataset:* aliases when the bundle is renamed.
Directory Creation
Ensure global roots exist:
Ensure standard dataset stage directories exist:
Atomic File Writes
For small metadata files:
The write uses a temporary file in the same directory followed by an atomic rename.
Design Principles
- Dataset path conventions are centralized.
- Paths are semantic, not stringly typed.
- Dataset/provider storage concerns stay separate from semantic metadata contracts.
- Import, AI workflow, claims, and media publishing remain in their own packages.
- The bundle should stay boring and infrastructure-focused.
Future Rename
The better long-term name is survos/dataset-bundle. See
docs/rename-to-dataset-bundle.md.
All versions of dataset-bundle with dependencies
doctrine/dbal Version ^4.2
symfony/framework-bundle Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/config Version ^8.1
symfony/serializer Version ^8.1
symfony/filesystem Version ^8.1
symfony/console Version ^8.1
symfony/ux-twig-component Version ^3
survos/data-contracts Version ^2.5
survos/lingua-contracts Version ^2.5
survos/lingua-core Version ^2.5
survos/jsonl-bundle Version ^2.5
survos/state-bundle Version ^2.5
zenstruck/bytes Version ^1.1