libumccr
UMCCR Reusable Python modules
Usage
- Install through
piplike so
pip install libumccr[aws]
- Somewhere in your Python code
from libumccr.aws import libssm
ssm_value = libssm.get_ssm_param("my_param_name")
- Crawling S3 Objects from a Bucket, efficiently!
from libumccr.aws import libs3
bucket="my-bucket"
key_prefix="my_prefix"
key_suffix=".csv"
for obj in libs3.get_matching_s3_objects(bucket, prefix=key_prefix, suffix=key_suffix):
print(f"s3://{bucket}/{obj['Key']}")
Transitive Dependencies
Self Service
- Starting from
v0.4onwards, by default, the libumccr does not mandate any transitive dependencies installation for you. - That is, if you
pip install libumccrthen it just installs the libumccr package itself only. - If you do this, you will have to manage transitive dependencies at your application as end-of-chain requirement as you see fit.
- This depends on which libumccr modules you need to depend on at your code.
- The bare metal libumccr should only have some hundred KB (~180KB) by size. However, in this case, you can only use those modules that leverage built-in Python standard library (that does not require extra 3rd party library). Which might be perfect for use case like libregex - well-known sample ID pattern parser contributed by team member (Alexis). You may contribute here similar and, reuse it at your end...
Feature Flag
- If you would like to have all transitive dependencies requirement along with the libumccr, then do so
pip install libumccr[all]. - For any aws related module usage with boto3 and botocore, then
pip install libumccr[aws]. - Similarly, for gspread, gdrive and Pandas dataframe stuff, then
pip install libumccr[libgdrive]. - Do check out setup.py
extras_requiresections for all available feature flags.
This arrangement is sometime also known as deferring feature flag toggle at runtime requirement. Google for more...
AWS Lambda
- The AWS Lambda runtime for Python environment already contain the boto3 and botocore.
- Hence, if you are bundling your application for AWS Lambda Python runtime environment then you just need to
pip install libumccr. - The AWS Lambda Python runtime is already satisfied the
libumccr[aws]feature requirement, and you can still leverage the libumccr.aws modules with the lowest asset bundle footprint. - In this case, you just put
boto3in your local development environment only; such asreqirements-dev.txtor equivalent.
Development
- Create Python virtual environment
git clone https://github.com/umccr/libumccr.git
cd libumccr
conda activate libumccr
make install all
make check
make test
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
libumccr-0.4.1.tar.gz
(18.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
libumccr-0.4.1-py3-none-any.whl
(18.3 kB
view details)
File details
Details for the file libumccr-0.4.1.tar.gz.
File metadata
- Download URL: libumccr-0.4.1.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c6963bbd164eaf799acdb8cda28ba5b5a49bf06a552978901b49802da4fc5ec
|
|
| MD5 |
d2e7462f7072d9aed878aaaf3b519e0d
|
|
| BLAKE2b-256 |
d96d4a134398b5e27a8116ce6f9ff96419e4c85d28d3500ecc7d9be8219a44e6
|
File details
Details for the file libumccr-0.4.1-py3-none-any.whl.
File metadata
- Download URL: libumccr-0.4.1-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20e06ec4b99ff6d68f9e21b72da10c16e33933314e20f53abe2983d03f3a080e
|
|
| MD5 |
fda03b95119e90069af5f71f711920a1
|
|
| BLAKE2b-256 |
857a47ee2eddaacdd6007b60ec0e8447bc2ec9acdd4b2228e066d213311fabde
|