Skip to main content

Storage abstraction layer for managing logical spaces.

Project description

A local storage abstraction layer for managing logical spaces using the filesystem and YAML metadata.

Build Status Deploy Status Codecov Black code style License PyPi GitHub Pages

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

darca_space_manager-0.2.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

darca_space_manager-0.2.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file darca_space_manager-0.2.0.tar.gz.

File metadata

  • Download URL: darca_space_manager-0.2.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for darca_space_manager-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8ef0ca51bfff337285fbfb21cbbed205a7ab7ddb33e7c39d70badd67855b4b98
MD5 3d40f58425cdec452a6dd660c8e111a5
BLAKE2b-256 0a8dc5fa5d69f84e459c4fc6c586575a7c943956d066e41fb7f67e5399ccec5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for darca_space_manager-0.2.0.tar.gz:

Publisher: cd.yml on roelkist/darca-space-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file darca_space_manager-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for darca_space_manager-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d2842e44917fbad7716e4772fd8e2692f33560f2e740bc961dc4ac5b6c3b83b
MD5 7be4a7b928f131a7a498702a4d435be6
BLAKE2b-256 911c01b3dd0e6e131f8a23f6b5dc66ed1ede978ffe5a4c8faa9b65fa47189077

See more details on using hashes here.

Provenance

The following attestation bundles were made for darca_space_manager-0.2.0-py3-none-any.whl:

Publisher: cd.yml on roelkist/darca-space-manager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page