mmar-files
Local file storage abstraction with content deduplication for MAESTRO.
Installation
Base functionality (local/basic storage only):
pip install mmar-files
With optional S3 support:
pip install mmar-files[s3]
Testing
Unit Tests
Run unit tests (these use mocks and don't require external services):
make test
# or
uv run pytest
Integration Tests
Integration tests use MinIO (S3-compatible storage) via Docker to test real S3 functionality.
Quick start - Run everything:
make test-integration-full
This will:
- Start MinIO in Docker
- Wait for it to be ready
- Run integration tests
- Stop MinIO
Manual control:
# Start MinIO in background
make minio-up
# Run integration tests (MinIO must be running)
make test-integration
# View MinIO logs
make minio-logs
# Stop MinIO
make minio-down
MinIO credentials:
- Console: http://localhost:9001
- S3 Endpoint: http://localhost:9000
- Access Key:
minioadmin - Secret Key:
minioadmin
The integration tests can be configured via environment variables:
MINIO_ENDPOINT(default:http://localhost:9000)MINIO_ACCESS_KEY(default:minioadmin)MINIO_SECRET_KEY(default:minioadmin)
Assumed migration
Before:
from mmar_mapi import FileStorage, FileStorageAPI
from mmar_mimpl import SettingsModel
...
class Config(SettingsModel):
files_dir: str = "/mnt/data/maestro/files"
...
config: Config = ...
file_storage: FileStorageAPI = FileStorage(config.files_dir)
After
from mmar_mimpl import SettingsModel
from mmar_files import FilesConfigDir, FileStorageAPI, create_file_storage
...
class Config(SettingsModel):
files: FilesConfig = Field(default=FilesConfigDir(dir="/mnt/data/maestro/files"))
...
config: Config = ...
file_storage: FileStorageAPI = create_file_storage(config.files)
License
MIT
Metadata
Release files for mmar-files 1.1.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 | Provenance | Actions |
|---|---|---|---|---|
| mmar_files-1.1.1.tar.gz | 6.8 kB | Without provenance | Details for mmar_files-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mmar_files-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for mmar_files-1.1.1-py3-none-any.whl |
Total release size: 17.0 kB
Release files / mmar_files-1.1.1.tar.gz
| Download URL | mmar_files-1.1.1.tar.gz |
|---|---|
| Size | 6.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
65ba8a8d99ec7c3461ec0a4bd866381f995449d126c66e2bc732f95f3720d7cd
|
|
BLAKE2b-256 checksum How to use checksums |
ff090a3ea5224cb0487e14a29eae51c010202f3402db6cb6194979c0b2447261
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.31
|
Release files / mmar_files-1.1.1-py3-none-any.whl
| Download URL | mmar_files-1.1.1-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb586124ed7fa34336a7976a1eac4edf25cb4ed9601e753285185779935c0a90
|
|
BLAKE2b-256 checksum How to use checksums |
925c67935a6776838126c7bfc90a2589faab7a58f72f34e4d0b79ee1f1dcf22f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.31
|
Security for mmar-files 1.1.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.