Skip to main content

A lightweight, fully-tested Python library to manage logical file-based spaces. Ideal for sandboxing, test environments, or dynamic storage orchestration.

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

🚀 Overview

darca-space-manager provides a simple abstraction over local file storage by organizing content in logical “spaces”. Each space has its own metadata and supports file-level operations such as reading, writing, deleting, and listing — including support for structured content like YAML and JSON.

✨ Features

  • Space creation, deletion, existence checks, and metadata tracking

  • File read/write/delete operations within a given space

  • Automatic handling of .yaml, .yml, and .json for dictionaries

  • Strict ASCII validation when reading text

  • Custom exceptions for robust error tracing (SpaceFileManagerException, SpaceManagerException)

  • Parallel-safe test fixtures (100% test coverage)

  • CI/CD pipelines, auto-doc generation, and live documentation via GitHub Pages

📦 Installation

pip install darca-space-manager

Or using Poetry:

poetry add darca-space-manager

🔧 Usage

from darca_space_manager import SpaceManager, SpaceFileManager

sm = SpaceManager()
sfm = SpaceFileManager()

sm.create_space("demo")
sfm.set_file("demo", "example.yaml", {"foo": "bar"})
print(sfm.get_file("demo", "example.yaml"))  # raw text
sm.delete_space("demo")

📚 Documentation

Visit the full documentation:

👉 https://roelkist.github.io/darca-space-manager/

To build locally:

make docs

📂 Project Layout

darca_space_manager/
├── config.py
├── space_executor.py
├── space_file_manager.py
├── space_manager.py
└── __version__.py

🧪 Testing

Run all tests using:

make test

Coverage and reports:

  • Generates coverage.svg badge

  • Stores HTML output in htmlcov/

  • Fully parallel test support with xdist

🤝 Contributing

We welcome all contributions!

  • Create a new branch from main

  • Use PRs to submit changes

  • You can also open feature requests or issues using our GitHub templates

See CONTRIBUTING.rst for detailed guidelines.

📄 License

This project is licensed under the MIT License. See LICENSE for details.

Release files for darca-space-manager 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for darca-space-manager 0.6.1
File Size Uploaded
darca_space_manager-0.6.1.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for darca-space-manager 0.6.1
File Interpreter ABI Platform
darca_space_manager-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / darca_space_manager-0.6.1.tar.gz

Download URL darca_space_manager-0.6.1.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
072cc9ded65ce1f7f6fcaf733ba8e4c188e488e9d75eb8a8d0516f14dce3591a
BLAKE2b-256 checksum
How to use checksums
d536574caeff04f0ca3a7333278cc498eea29a7f2ffa9600c1ea5bed1523fc0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2025.

Transparency log

Release files / darca_space_manager-0.6.1-py3-none-any.whl

Download URL darca_space_manager-0.6.1-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca6d707059820b678807a66890fceef5142c579a554df0dc12c7e86c092cc890
BLAKE2b-256 checksum
How to use checksums
ed9f3ef7f40fb78217eb6bc167e3f4e8ba8d1926c31f352bdfe69c8153329a6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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