Skip to main content

No project description provided

Project description

Media Management Command Line Interface

PyPI Downloads Supported Versions Contributors Tests Codeball

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmgmt-0.5.3.tar.gz (22.3 kB view hashes)

Uploaded Source

Built Distribution

mmgmt-0.5.3-py3-none-any.whl (22.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page