• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MITLibraries / archival-packaging-tool
96%
main: 96%

Build:
Build:
LAST BUILD BRANCH: dependabot/pip/boto3-stubs-1.40.58
DEFAULT BRANCH: main
Repo Added 03 Apr 2025 03:05PM UTC
Token J21Deno0qFd01xKHFLSHRwmsoh0u8reFL regen
Build 318 Last
Files 4
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH IN-1294-s3-efs-read-write-performance
branch: IN-1294-s3-efs-read-write-performance
CHANGE BRANCH
x
Reset
Sync Branches
  • IN-1294-s3-efs-read-write-performance
  • ETD-669-remove-default-contact-name
  • IN-1192-scaffold-repository
  • IN-1214-core-bagitarchive-class
  • IN-1215-create-bag-action-and-class-design
  • IN-1215-wire-lambda-handler
  • IN-1219-lamdda-request-response-specs
  • IN-1230-use-efs-mount
  • IN-1238-use-pip-audit
  • bug-extra-bag-zipfile
  • dependabot/pip/black-25.1.0
  • dependabot/pip/boto3-1.38.11
  • dependabot/pip/boto3-1.38.12
  • dependabot/pip/boto3-1.38.13
  • dependabot/pip/boto3-1.38.14
  • dependabot/pip/boto3-1.38.15
  • dependabot/pip/boto3-1.38.16
  • dependabot/pip/boto3-1.38.17
  • dependabot/pip/boto3-1.38.18
  • dependabot/pip/boto3-1.38.19
  • dependabot/pip/boto3-1.38.20
  • dependabot/pip/boto3-1.38.21
  • dependabot/pip/boto3-1.38.22
  • dependabot/pip/boto3-1.38.23
  • dependabot/pip/boto3-1.38.24
  • dependabot/pip/boto3-1.38.25
  • dependabot/pip/boto3-1.38.26
  • dependabot/pip/boto3-1.38.27
  • dependabot/pip/boto3-1.38.28
  • dependabot/pip/boto3-1.38.29
  • dependabot/pip/boto3-1.38.30
  • dependabot/pip/boto3-1.38.31
  • dependabot/pip/boto3-1.38.32
  • dependabot/pip/boto3-1.38.34
  • dependabot/pip/boto3-1.38.35
  • dependabot/pip/boto3-1.38.36
  • dependabot/pip/boto3-1.38.37
  • dependabot/pip/boto3-1.38.38
  • dependabot/pip/boto3-1.38.39
  • dependabot/pip/boto3-1.38.40
  • dependabot/pip/boto3-1.38.41
  • dependabot/pip/boto3-1.38.42
  • dependabot/pip/boto3-1.38.43
  • dependabot/pip/boto3-1.38.44
  • dependabot/pip/boto3-1.38.45
  • dependabot/pip/boto3-1.38.46
  • dependabot/pip/boto3-1.39.0
  • dependabot/pip/boto3-1.39.1
  • dependabot/pip/boto3-1.39.10
  • dependabot/pip/boto3-1.39.11
  • dependabot/pip/boto3-1.39.12
  • dependabot/pip/boto3-1.39.13
  • dependabot/pip/boto3-1.39.15
  • dependabot/pip/boto3-1.39.16
  • dependabot/pip/boto3-1.39.17
  • dependabot/pip/boto3-1.39.2
  • dependabot/pip/boto3-1.39.3
  • dependabot/pip/boto3-1.39.4
  • dependabot/pip/boto3-1.39.6
  • dependabot/pip/boto3-1.39.7
  • dependabot/pip/boto3-1.39.8
  • dependabot/pip/boto3-1.39.9
  • dependabot/pip/boto3-1.40.0
  • dependabot/pip/boto3-1.40.1
  • dependabot/pip/boto3-1.40.10
  • dependabot/pip/boto3-1.40.11
  • dependabot/pip/boto3-1.40.12
  • dependabot/pip/boto3-1.40.13
  • dependabot/pip/boto3-1.40.14
  • dependabot/pip/boto3-1.40.15
  • dependabot/pip/boto3-1.40.16
  • dependabot/pip/boto3-1.40.17
  • dependabot/pip/boto3-1.40.18
  • dependabot/pip/boto3-1.40.19
  • dependabot/pip/boto3-1.40.2
  • dependabot/pip/boto3-1.40.20
  • dependabot/pip/boto3-1.40.21
  • dependabot/pip/boto3-1.40.22
  • dependabot/pip/boto3-1.40.24
  • dependabot/pip/boto3-1.40.25
  • dependabot/pip/boto3-1.40.26
  • dependabot/pip/boto3-1.40.27
  • dependabot/pip/boto3-1.40.28
  • dependabot/pip/boto3-1.40.29
  • dependabot/pip/boto3-1.40.3
  • dependabot/pip/boto3-1.40.30
  • dependabot/pip/boto3-1.40.31
  • dependabot/pip/boto3-1.40.32
  • dependabot/pip/boto3-1.40.33
  • dependabot/pip/boto3-1.40.34
  • dependabot/pip/boto3-1.40.35
  • dependabot/pip/boto3-1.40.37
  • dependabot/pip/boto3-1.40.38
  • dependabot/pip/boto3-1.40.39
  • dependabot/pip/boto3-1.40.4
  • dependabot/pip/boto3-1.40.40
  • dependabot/pip/boto3-1.40.41
  • dependabot/pip/boto3-1.40.42
  • dependabot/pip/boto3-1.40.43
  • dependabot/pip/boto3-1.40.44
  • dependabot/pip/boto3-1.40.45
  • dependabot/pip/boto3-1.40.47
  • dependabot/pip/boto3-1.40.48
  • dependabot/pip/boto3-1.40.49
  • dependabot/pip/boto3-1.40.5
  • dependabot/pip/boto3-1.40.50
  • dependabot/pip/boto3-1.40.51
  • dependabot/pip/boto3-1.40.52
  • dependabot/pip/boto3-1.40.53
  • dependabot/pip/boto3-1.40.54
  • dependabot/pip/boto3-1.40.55
  • dependabot/pip/boto3-1.40.56
  • dependabot/pip/boto3-1.40.57
  • dependabot/pip/boto3-1.40.6
  • dependabot/pip/boto3-1.40.7
  • dependabot/pip/boto3-1.40.8
  • dependabot/pip/boto3-1.40.9
  • dependabot/pip/boto3-stubs-1.38.16
  • dependabot/pip/boto3-stubs-1.38.17
  • dependabot/pip/boto3-stubs-1.38.18
  • dependabot/pip/boto3-stubs-1.38.19
  • dependabot/pip/boto3-stubs-1.38.20
  • dependabot/pip/boto3-stubs-1.38.21
  • dependabot/pip/boto3-stubs-1.38.22
  • dependabot/pip/boto3-stubs-1.38.23
  • dependabot/pip/boto3-stubs-1.38.24
  • dependabot/pip/boto3-stubs-1.38.25
  • dependabot/pip/boto3-stubs-1.38.26
  • dependabot/pip/boto3-stubs-1.38.27
  • dependabot/pip/boto3-stubs-1.38.28
  • dependabot/pip/boto3-stubs-1.38.29
  • dependabot/pip/boto3-stubs-1.38.31
  • dependabot/pip/boto3-stubs-1.38.32
  • dependabot/pip/boto3-stubs-1.38.33
  • dependabot/pip/boto3-stubs-1.38.34
  • dependabot/pip/boto3-stubs-1.38.36
  • dependabot/pip/boto3-stubs-1.38.38
  • dependabot/pip/boto3-stubs-1.38.39
  • dependabot/pip/boto3-stubs-1.38.40
  • dependabot/pip/boto3-stubs-1.38.41
  • dependabot/pip/boto3-stubs-1.38.42
  • dependabot/pip/boto3-stubs-1.38.43
  • dependabot/pip/boto3-stubs-1.38.44
  • dependabot/pip/boto3-stubs-1.38.45
  • dependabot/pip/boto3-stubs-1.38.46
  • dependabot/pip/boto3-stubs-1.39.0
  • dependabot/pip/boto3-stubs-1.39.1
  • dependabot/pip/boto3-stubs-1.39.10
  • dependabot/pip/boto3-stubs-1.39.11
  • dependabot/pip/boto3-stubs-1.39.12
  • dependabot/pip/boto3-stubs-1.39.13
  • dependabot/pip/boto3-stubs-1.39.15
  • dependabot/pip/boto3-stubs-1.39.16
  • dependabot/pip/boto3-stubs-1.39.17
  • dependabot/pip/boto3-stubs-1.39.2
  • dependabot/pip/boto3-stubs-1.39.3
  • dependabot/pip/boto3-stubs-1.39.4
  • dependabot/pip/boto3-stubs-1.39.6
  • dependabot/pip/boto3-stubs-1.39.7
  • dependabot/pip/boto3-stubs-1.39.8
  • dependabot/pip/boto3-stubs-1.39.9
  • dependabot/pip/boto3-stubs-1.40.0
  • dependabot/pip/boto3-stubs-1.40.1
  • dependabot/pip/boto3-stubs-1.40.10
  • dependabot/pip/boto3-stubs-1.40.11
  • dependabot/pip/boto3-stubs-1.40.12
  • dependabot/pip/boto3-stubs-1.40.13
  • dependabot/pip/boto3-stubs-1.40.14
  • dependabot/pip/boto3-stubs-1.40.15
  • dependabot/pip/boto3-stubs-1.40.16
  • dependabot/pip/boto3-stubs-1.40.17
  • dependabot/pip/boto3-stubs-1.40.18
  • dependabot/pip/boto3-stubs-1.40.19
  • dependabot/pip/boto3-stubs-1.40.2
  • dependabot/pip/boto3-stubs-1.40.20
  • dependabot/pip/boto3-stubs-1.40.21
  • dependabot/pip/boto3-stubs-1.40.22
  • dependabot/pip/boto3-stubs-1.40.23
  • dependabot/pip/boto3-stubs-1.40.24
  • dependabot/pip/boto3-stubs-1.40.25
  • dependabot/pip/boto3-stubs-1.40.26
  • dependabot/pip/boto3-stubs-1.40.27
  • dependabot/pip/boto3-stubs-1.40.28
  • dependabot/pip/boto3-stubs-1.40.29
  • dependabot/pip/boto3-stubs-1.40.3
  • dependabot/pip/boto3-stubs-1.40.30
  • dependabot/pip/boto3-stubs-1.40.31
  • dependabot/pip/boto3-stubs-1.40.32
  • dependabot/pip/boto3-stubs-1.40.33
  • dependabot/pip/boto3-stubs-1.40.34
  • dependabot/pip/boto3-stubs-1.40.35
  • dependabot/pip/boto3-stubs-1.40.36
  • dependabot/pip/boto3-stubs-1.40.37
  • dependabot/pip/boto3-stubs-1.40.38
  • dependabot/pip/boto3-stubs-1.40.39
  • dependabot/pip/boto3-stubs-1.40.4
  • dependabot/pip/boto3-stubs-1.40.40
  • dependabot/pip/boto3-stubs-1.40.41
  • dependabot/pip/boto3-stubs-1.40.42
  • dependabot/pip/boto3-stubs-1.40.43
  • dependabot/pip/boto3-stubs-1.40.44
  • dependabot/pip/boto3-stubs-1.40.45
  • dependabot/pip/boto3-stubs-1.40.47
  • dependabot/pip/boto3-stubs-1.40.48
  • dependabot/pip/boto3-stubs-1.40.5
  • dependabot/pip/boto3-stubs-1.40.50
  • dependabot/pip/boto3-stubs-1.40.51
  • dependabot/pip/boto3-stubs-1.40.52
  • dependabot/pip/boto3-stubs-1.40.53
  • dependabot/pip/boto3-stubs-1.40.54
  • dependabot/pip/boto3-stubs-1.40.55
  • dependabot/pip/boto3-stubs-1.40.56
  • dependabot/pip/boto3-stubs-1.40.57
  • dependabot/pip/boto3-stubs-1.40.58
  • dependabot/pip/boto3-stubs-1.40.6
  • dependabot/pip/boto3-stubs-1.40.8
  • dependabot/pip/boto3-stubs-1.40.9
  • dependabot/pip/ipython-9.2.0
  • dependabot/pip/mypy-1.15.0
  • dependabot/pip/pip-25.2
  • dependabot/pip/pre-commit-4.2.0
  • dependabot/pip/requests-2.32.4
  • dependabot/pip/ruff-0.11.10
  • dependabot/pip/ruff-0.11.11
  • dependabot/pip/ruff-0.11.12
  • dependabot/pip/ruff-0.11.13
  • dependabot/pip/ruff-0.11.3
  • dependabot/pip/ruff-0.11.4
  • dependabot/pip/ruff-0.11.5
  • dependabot/pip/ruff-0.11.6
  • dependabot/pip/ruff-0.11.7
  • dependabot/pip/ruff-0.11.8
  • dependabot/pip/ruff-0.11.9
  • dependabot/pip/ruff-0.12.1
  • dependabot/pip/ruff-0.12.10
  • dependabot/pip/ruff-0.12.11
  • dependabot/pip/ruff-0.12.12
  • dependabot/pip/ruff-0.12.2
  • dependabot/pip/ruff-0.12.3
  • dependabot/pip/ruff-0.12.4
  • dependabot/pip/ruff-0.12.5
  • dependabot/pip/ruff-0.12.7
  • dependabot/pip/ruff-0.12.8
  • dependabot/pip/ruff-0.12.9
  • dependabot/pip/ruff-0.13.0
  • dependabot/pip/ruff-0.13.1
  • dependabot/pip/ruff-0.13.2
  • dependabot/pip/ruff-0.13.3
  • dependabot/pip/ruff-0.14.0
  • dependabot/pip/ruff-0.14.1
  • dependabot/pip/ruff-0.14.2
  • dependabot/pip/sentry-sdk-2.25.1
  • dependabot/pip/sentry-sdk-2.26.0
  • dependabot/pip/sentry-sdk-2.26.1
  • dependabot/pip/sentry-sdk-2.27.0
  • dependabot/pip/sentry-sdk-2.28.0
  • dependabot/pip/setuptools-80.4.0
  • dependabot/pip/setuptools-80.7.1
  • dependabot/pip/setuptools-80.8.0
  • dependabot/pip/setuptools-80.9.0
  • dependabot/pip/types-jsonschema-4.23.0.20250516
  • dependabot/pip/types-jsonschema-4.24.0.20250528
  • dependabot/pip/types-jsonschema-4.24.0.20250708
  • dependabot/pip/types-jsonschema-4.25.0.20250720
  • dependabot/pip/types-jsonschema-4.25.0.20250809
  • dependabot/pip/types-jsonschema-4.25.1.20250821
  • dependabot/pip/types-jsonschema-4.25.1.20250822
  • dependabot/pip/types-jsonschema-4.25.1.20251008
  • dependabot/pip/types-jsonschema-4.25.1.20251009
  • dependabot/pip/urllib3-2.5.0
  • deployment-automation
  • main
  • pipenv-check-safety-auto-install
  • v1.0
  • v1.1

14 May 2025 05:10PM UTC coverage: 95.714% (+0.2%) from 95.472%
15026957009

push

github

ghukill
Replace smart-open with direct boto3

Why these changes are being introduced:

Some testing in Dev environment revealed that downloading
and uploading of files from S3, via the utils function stream_file_transfer()
was not as performant as it could be. For very large files in a Bag, this
resulted in long Lambda runtimes that could exceed the 15 minute timeout.

How this addresses that need:

Instead of using smart-open to handle S3 or local files, the utility
function stream_file_transfer() now detects the type of transfer,
e.g. S3-to-Local, Local-to-S3, Local-to-Local, or S3-to-S3, and uses
more tailored code and libraries for each.

Read/write times are notably faster now, clocking in around
450 Mbps (megabits per second).  Any remaining bottlenecks
are likely related more to the Lambda's network throughput as
governed by its memory setting (they are correlated) or the EFS
mount's throughput.  Any improvements to those will be handled
outside of code in infrastructure most likely.

Side effects of this change:
* Removes `smart-open` as a dependency
* Runtimes are shorter due to increased S3 read/write throughput

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/IN-1294

28 of 28 new or added lines in 1 file covered. (100.0%)

268 of 280 relevant lines covered (95.71%)

0.96 hits per line

Relevant lines Covered
Build:
Build:
280 RELEVANT LINES 268 COVERED LINES
0.96 HITS PER LINE
Source Files on IN-1294-s3-efs-read-write-performance
  • Tree
  • List 4
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
15026957009 IN-1294-s3-efs-read-write-performance Replace smart-open with direct boto3 Why these changes are being introduced: Some testing in Dev environment revealed that downloading and uploading of files from S3, via the utils function stream_file_transfer() was not as performant as it coul... push 14 May 2025 05:17PM UTC ghukill github
95.71
See All Builds (317)

Badge your Repo: archival-packaging-tool

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc