Storage abstraction layer for managing logical spaces.
Project description
A local storage abstraction layer for managing logical spaces using the filesystem and YAML metadata.
Overview
darca-space-manager provides a clean interface to create, delete, and manage isolated storage “spaces” on disk, each optionally enriched with YAML-based metadata. It is designed for modular integration with other DARCA services and utilities.
Maintained by Roel Kist
Features
✅ Create and delete isolated named spaces
🗃️ Store and retrieve structured YAML metadata
🔍 List and count all active spaces
📁 Filesystem-based, no database required
🧪 100% test coverage and automated CI
Installation
git clone https://github.com/roelkist/darca-space-manager.git
cd darca-space-manager
make install
Quick Start
from darca_space_manager.space_manager import SpaceManager
manager = SpaceManager()
manager.create_space("demo", metadata={"purpose": "testing"})
print(manager.space_exists("demo")) # True
print(manager.get_space_metadata("demo")) # {'purpose': 'testing'}
print(manager.list_spaces()) # ['demo']
manager.delete_space("demo")
Development
Run the full test suite and all linters:
make test # Run tests with coverage
make check # Run all quality tools (lint, type check, etc.)
make format # Auto-format code with Black + Ruff
Project Layout
src/darca_space_manager/
├── space_manager.py # Main logic
├── config.py # Directory configuration
└── __version__.py # Version info
tests/ # Pytest suite
Makefile # Developer workflow commands
License
This project is licensed under the MIT License. See LICENSE for full terms.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file darca_space_manager-0.1.0.tar.gz.
File metadata
- Download URL: darca_space_manager-0.1.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
567e1f9c8ce63df63f861e94b52c2bda9790651b52cbf68e71028a0048a31f81
|
|
| MD5 |
ff42b8a90b6a3c5d2de493b8e1d3a2c5
|
|
| BLAKE2b-256 |
f252dd71ed9d7ce6d7631ca80a7905b0edb8052986b514fea5b8b6b64eaf316b
|
Provenance
The following attestation bundles were made for darca_space_manager-0.1.0.tar.gz:
Publisher:
cd.yml on roelkist/darca-space-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darca_space_manager-0.1.0.tar.gz -
Subject digest:
567e1f9c8ce63df63f861e94b52c2bda9790651b52cbf68e71028a0048a31f81 - Sigstore transparency entry: 186896034
- Sigstore integration time:
-
Permalink:
roelkist/darca-space-manager@05140225e16c1a42ba6b159d6047368f1e1da342 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/roelkist
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@05140225e16c1a42ba6b159d6047368f1e1da342 -
Trigger Event:
release
-
Statement type:
File details
Details for the file darca_space_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: darca_space_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8993a14870a8d0f82520bc7b42633bb39ea51626b39694e9862545032936139
|
|
| MD5 |
ed9697e9dd0ca68796a0d5390dcd88f6
|
|
| BLAKE2b-256 |
bb5541667789e88f69f817b97c064a773a036d0f67061531f0ba0cf3a7e7e481
|
Provenance
The following attestation bundles were made for darca_space_manager-0.1.0-py3-none-any.whl:
Publisher:
cd.yml on roelkist/darca-space-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
darca_space_manager-0.1.0-py3-none-any.whl -
Subject digest:
a8993a14870a8d0f82520bc7b42633bb39ea51626b39694e9862545032936139 - Sigstore transparency entry: 186896035
- Sigstore integration time:
-
Permalink:
roelkist/darca-space-manager@05140225e16c1a42ba6b159d6047368f1e1da342 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/roelkist
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@05140225e16c1a42ba6b159d6047368f1e1da342 -
Trigger Event:
release
-
Statement type: