A lightweight, fully-tested Python library to manage logical file-based spaces. Ideal for sandboxing, test environments, or dynamic storage orchestration.
🚀 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)
| File | Size | Uploaded | |
|---|---|---|---|
| darca_space_manager-0.6.1.tar.gz | 11.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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