Botree is a higher level API and text user intercace tool for AWS services.
- ✔️ High level and easy to remember API for AWS services.
- 🔨 TUI (text user interface) powered by Textual.
- ✔️ S3
- ✔️ Secrets
- 🔨 CloudWatch
- 🔨 EC2
Until I've written the documentation, some dummie examples may be the best way to get used to the Botree API.
To start a Botree session, use the following:
import botree
session = botree.session("us-east-1", profile="dev")
Create a bucket:
session.s3.create_bucket("sample-bucket")
session.s3.list_buckets()
Note that all S3 operations will use Python's pathlib to handle directory paths, so let's import it:
from pathlib import Path
Download and upload:
source_file = Path("sample_source_file.png")
target_file = Path("sample_target_file.png")
session.s3.bucket("sample-bucket").upload(source_file, target_file)
# downloads are more of the same
session.s3.bucket("sample-bucket").download(source_file, target_file)
Copy files:
source_file = Path("sample_source_file.png")
target_file = Path("sample_target_file.png")
session.s3.bucket("sample-bucket").copy(source_file, target_file)
# you can specify a source bucket to copy a file from
session.s3.bucket("sample-bucket").copy(source_file, target_file, source_bucket="other-bucket")
List files:
session.s3.bucket("sample-bucket").list_objects()
Delete files:
session.s3.bucket("sample-bucket").delete("sample_target_file")
Botree relies on Poetry.
Install the Python dependencies with:
poetry install
poetry run pytest --cov=botree tests/