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

MITLibraries / s3-bagit-validator
91%
main: 90%

Build:
Build:
LAST BUILD BRANCH: v0.1.6
DEFAULT BRANCH: main
Repo Added 18 Mar 2025 01:02PM UTC
Token Tg8qBmvISmVGy9L9VvQ0SIU82pYCn4NdA regen
Build 495 Last
Files 8
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 cli-errors-in-response
branch: cli-errors-in-response
CHANGE BRANCH
x
Reset
Sync Branches
  • cli-errors-in-response
  • IN-1203-scaffold-repository
  • IN-1454-batch-operations
  • INFRA-597-input-metadata-fix
  • IR-182-athena-util
  • IR-182-port-aip-validation
  • IR-182-port-poc-code
  • IR-182-s3-util
  • IR-183-lambda-handler
  • IR-191-cli-sidecar
  • IR-192-add-sentry
  • IR-193-parallelize-checksum-generation
  • IR-206-subtasks
  • IR-207-duckdb-instead-of-athena
  • IR-209-missing-or-empty-inventory
  • IR-210-large-file-checksumming
  • IR-219-app-limitations
  • IR-220
  • IR-220-manifests-and-error-details
  • IR-222-223
  • IR-228-resume-bulk-validation
  • IR-228-small-updates-and-aws-sam-cli
  • IR-233-validate-all
  • IR-238-multi-region
  • IR-240-aip-inventory
  • IR-240-inventory-csv
  • IR-247-record-aip-id-for-all-errors
  • IR-258-cloudshell
  • bug-unit-test-invokes-lambda
  • dependabot/pip/black-25.1.0
  • dependabot/pip/boto3-1.37.29
  • dependabot/pip/boto3-1.37.30
  • dependabot/pip/boto3-1.37.31
  • dependabot/pip/boto3-1.37.32
  • dependabot/pip/boto3-1.37.33
  • dependabot/pip/boto3-1.37.34
  • dependabot/pip/boto3-1.37.35
  • dependabot/pip/boto3-1.37.36
  • dependabot/pip/boto3-1.37.37
  • dependabot/pip/boto3-1.37.38
  • dependabot/pip/boto3-1.38.0
  • dependabot/pip/boto3-1.38.1
  • dependabot/pip/boto3-1.38.10
  • 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.2
  • 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.3
  • dependabot/pip/boto3-1.38.30
  • dependabot/pip/boto3-1.38.32
  • dependabot/pip/boto3-1.38.33
  • 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.4
  • 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.38.5
  • dependabot/pip/boto3-1.38.6
  • dependabot/pip/boto3-1.38.7
  • dependabot/pip/boto3-1.38.8
  • dependabot/pip/boto3-1.38.9
  • 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.7
  • dependabot/pip/boto3-1.39.8
  • dependabot/pip/boto3-1.39.9
  • dependabot/pip/boto3-1.40.0
  • dependabot/pip/boto3-1.40.10
  • dependabot/pip/boto3-1.40.12
  • dependabot/pip/boto3-1.40.13
  • 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.23
  • 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.36
  • 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.46
  • 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.58
  • dependabot/pip/boto3-1.40.59
  • dependabot/pip/boto3-1.40.6
  • dependabot/pip/boto3-1.40.60
  • dependabot/pip/boto3-1.40.61
  • dependabot/pip/boto3-1.40.62
  • dependabot/pip/boto3-1.40.8
  • dependabot/pip/boto3-1.40.9
  • dependabot/pip/boto3-stubs-1.37.20
  • dependabot/pip/boto3-stubs-1.37.21
  • dependabot/pip/boto3-stubs-1.37.22
  • dependabot/pip/boto3-stubs-1.37.23
  • dependabot/pip/boto3-stubs-1.37.24
  • dependabot/pip/boto3-stubs-1.37.25
  • dependabot/pip/boto3-stubs-1.37.26
  • dependabot/pip/boto3-stubs-1.37.27
  • dependabot/pip/boto3-stubs-1.37.28
  • dependabot/pip/boto3-stubs-1.37.29
  • dependabot/pip/boto3-stubs-1.37.30
  • dependabot/pip/boto3-stubs-1.37.31
  • dependabot/pip/boto3-stubs-1.37.32
  • dependabot/pip/boto3-stubs-1.37.33
  • dependabot/pip/boto3-stubs-1.37.34
  • dependabot/pip/boto3-stubs-1.37.35
  • dependabot/pip/boto3-stubs-1.37.36
  • dependabot/pip/boto3-stubs-1.37.37
  • dependabot/pip/boto3-stubs-1.37.38
  • dependabot/pip/boto3-stubs-1.38.0
  • dependabot/pip/boto3-stubs-1.38.1
  • dependabot/pip/boto3-stubs-1.38.10
  • dependabot/pip/boto3-stubs-1.38.11
  • dependabot/pip/boto3-stubs-1.38.12
  • dependabot/pip/boto3-stubs-1.38.13
  • dependabot/pip/boto3-stubs-1.38.14
  • dependabot/pip/boto3-stubs-1.38.15
  • 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.2
  • 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.29
  • dependabot/pip/boto3-stubs-1.38.3
  • dependabot/pip/boto3-stubs-1.38.30
  • 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.35
  • 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.4
  • 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.38.5
  • dependabot/pip/boto3-stubs-1.38.6
  • dependabot/pip/boto3-stubs-1.38.7
  • dependabot/pip/boto3-stubs-1.38.8
  • dependabot/pip/boto3-stubs-1.38.9
  • 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.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.10
  • 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.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.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.46
  • dependabot/pip/boto3-stubs-1.40.47
  • dependabot/pip/boto3-stubs-1.40.48
  • dependabot/pip/boto3-stubs-1.40.49
  • 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.59
  • dependabot/pip/boto3-stubs-1.40.6
  • dependabot/pip/boto3-stubs-1.40.60
  • dependabot/pip/boto3-stubs-1.40.61
  • dependabot/pip/boto3-stubs-1.40.62
  • dependabot/pip/boto3-stubs-1.40.7
  • dependabot/pip/boto3-stubs-1.40.8
  • dependabot/pip/boto3-stubs-1.40.9
  • dependabot/pip/click-8.2.0
  • dependabot/pip/click-8.2.1
  • dependabot/pip/duckdb-1.2.2
  • dependabot/pip/duckdb-1.3.1
  • dependabot/pip/ipython-9.1.0
  • dependabot/pip/ipython-9.4.0
  • dependabot/pip/ipython-9.5.0
  • dependabot/pip/ipython-9.6.0
  • dependabot/pip/mypy-1.15.0
  • dependabot/pip/mypy-1.16.0
  • dependabot/pip/pandas-stubs-2.2.3.250527
  • dependabot/pip/pip-25.2
  • dependabot/pip/pre-commit-4.1.0
  • dependabot/pip/pre-commit-4.2.0
  • dependabot/pip/pytest-8.3.5
  • dependabot/pip/requests-2.32.4
  • dependabot/pip/ruff-0.11.0
  • dependabot/pip/ruff-0.11.1
  • dependabot/pip/ruff-0.11.10
  • dependabot/pip/ruff-0.11.12
  • dependabot/pip/ruff-0.11.13
  • dependabot/pip/ruff-0.11.2
  • 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.24.0
  • dependabot/pip/sentry-sdk-2.24.1
  • dependabot/pip/sentry-sdk-2.25.0
  • 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/sentry-sdk-2.29.1
  • dependabot/pip/sentry-sdk-2.31.0
  • dependabot/pip/sentry-sdk-2.32.0
  • dependabot/pip/sentry-sdk-2.33.0
  • dependabot/pip/sentry-sdk-2.33.1
  • dependabot/pip/sentry-sdk-2.33.2
  • dependabot/pip/sentry-sdk-2.34.0
  • dependabot/pip/sentry-sdk-2.34.1
  • dependabot/pip/sentry-sdk-2.35.0
  • dependabot/pip/sentry-sdk-2.35.1
  • dependabot/pip/sentry-sdk-2.35.2
  • dependabot/pip/sentry-sdk-2.36.0
  • dependabot/pip/sentry-sdk-2.37.0
  • dependabot/pip/sentry-sdk-2.37.1
  • dependabot/pip/sentry-sdk-2.38.0
  • dependabot/pip/sentry-sdk-2.39.0
  • dependabot/pip/sentry-sdk-2.40.0
  • dependabot/pip/sentry-sdk-2.41.0
  • dependabot/pip/sentry-sdk-2.42.0
  • dependabot/pip/sentry-sdk-2.42.1
  • dependabot/pip/sentry-sdk-2.43.0
  • dependabot/pip/setuptools-78.1.0
  • dependabot/pip/setuptools-80.1.0
  • dependabot/pip/setuptools-80.3.1
  • dependabot/pip/setuptools-80.8.0
  • dependabot/pip/setuptools-80.9.0
  • dependabot/pip/types-requests-2.32.4.20250611
  • dependabot/pip/urllib3-2.5.0
  • ecr-updates
  • feature-branch-readme-update
  • lambda-response-exception
  • main
  • readme-typo
  • rework-and-init-sentry
  • stage-test
  • v0.1.0
  • v0.1.1
  • v0.1.2
  • v0.1.3
  • v0.1.4
  • v0.1.6

11 Apr 2025 03:02PM UTC coverage: 91.141% (+0.5%) from 90.646%
14406182936

push

github

ghukill
Bubble up handled exceptions into lambda response

Why these changes are being introduced:

It was pointed out that even for some handled exceptions (e.g.
a bad UUID) the error message returned by the Lambda + CLI was
still opaque.  Effort had gone into catching those cases and
providing meaningful python Exceptions, but they weren't getting
returned by the Lambda.

Turns out the CLI has some copy pasta for requests that was
raising an exception based on a HTTP status code, which was
short-circuiting the returning of those curated exceptions.

How this addresses that need:

Remove the .raise_for_status() call in the CLI which allows
the exceptions to get returned in the Lambda response.  Also,
improve exception handling to expose when a UUID is not found.

Side effects of this change:
* Lambda, and by proxy CLI, responses are improved with more
details when something fails

Relevant ticket(s):
* None

8 of 11 new or added lines in 1 file covered. (72.73%)

535 of 587 relevant lines covered (91.14%)

0.91 hits per line

Relevant lines Covered
Build:
Build:
587 RELEVANT LINES 535 COVERED LINES
0.91 HITS PER LINE
Source Files on cli-errors-in-response
  • Tree
  • List 8
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
14406182936 cli-errors-in-response Bubble up handled exceptions into lambda response Why these changes are being introduced: It was pointed out that even for some handled exceptions (e.g. a bad UUID) the error message returned by the Lambda + CLI was still opaque. Effort had gon... push 11 Apr 2025 03:07PM UTC ghukill github
91.14
See All Builds (494)

Badge your Repo: s3-bagit-validator

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

© 2026 Coveralls, Inc