No project description provided
Project description
Media Management Command Line Interface
Summary
An intuitive command line interface wrapper around boto3 to search and manage media assets
Installing mmgmt
& Supported Versions
mmgmt
is available on PyPI:
python -m pip install mmgmt
Media Management Command Line Interface officially supports Python 3.8+.
Supported Features & Usage
For help, run:
mmgmt --help
You can also use:
python -m mmgmt --help
Commands:
Usage: mmgmt [OPTIONS] COMMAND [ARGS]...
A simple CLI to search and manage media assets in S3 and locally. Setup with
`mmgmt configure`
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
configure print project configs & set configs manually
delete delete file from cloud storage - TODO -
download download object from cloud storage
get-status get object head from cloud storage
hello test endpoint
ls list files in location (local, s3, or global)
search search files in local directory and cloud storage
upload upload file to cloud storage
Why not use awscli
?
You can, and I do, in tandem with mmgmt
-- the purpose is to create an additional interface that minimized the lookup/copy/paste process I found myself frequently going through.
Another use case is for rapid prototyping applications that require an S3 interface.
For example:
import pandas as pd
import mmgmt as mmgmt
aws = mmgmt.AwsStorageMgmt(project_name="mmgmt")
obj_list = aws.get_bucket_objs()
res = []
for s3_obj in obj_list:
res.append(
[
str(s3_obj.key),
str(s3_obj.key.split('/')[0]),
s3_obj.last_modified,
s3_obj.storage_class,
s3_obj.size
]
)
df = pd.DataFrame(res)
df.columns = [
'key',
'group',
'last_modified',
'storage_class',
'size'
]
Development
To contribute to this tool, first checkout the code:
git clone https://github.com/will-wright-eng/media-mgmt-cli.git
cd media-mgmt-cli
Then create a new virtual environment:
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest
Install pre-commit before submitting a PR:
brew install pre-commit
pre-commit install
References
- PyPI Package
- Based on cookiecutter template will-wright-eng/click-app
- Rewrite of original project will-wright-eng/media_mgmt_cli
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.