Metadata-Version: 2.4
Name: mmar-files
Version: 1.1.0
Summary: Local file storage abstraction with content deduplication for MAESTRO
Keywords: file-storage,deduplication,local-storage
Author: Eugene Tagin
Author-email: Eugene Tagin <tagin@airi.net>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Dist: pydantic>=2.0
Requires-Dist: boto3 ; extra == 's3'
Requires-Dist: aioboto3 ; extra == 's3'
Requires-Python: >=3.12
Provides-Extra: s3
Description-Content-Type: text/markdown

# mmar-files

Local file storage abstraction with content deduplication for MAESTRO.

## Installation

Base functionality (local/basic storage only):

```bash
pip install mmar-files
```

With optional S3 support:

```bash
pip install mmar-files[s3]
```

TODO fill this README.md
## Assumed migration
Before:
```python
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
```python
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
