Skip to main content

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:

  1. Start MinIO in Docker
  2. Wait for it to be ready
  3. Run integration tests
  4. 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)

Source distribution for mmar-files 1.1.1
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)

Table of built distributions (wheels) for mmar-files 1.1.1
File Interpreter ABI Platform Actions
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.

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