Skip to content

Add local dev environment for testing without AWS or hardware#44

Open
InterstellarIntruder wants to merge 1 commit into
Project-CETI:mainfrom
InterstellarIntruder:feature/local-dev-setup
Open

Add local dev environment for testing without AWS or hardware#44
InterstellarIntruder wants to merge 1 commit into
Project-CETI:mainfrom
InterstellarIntruder:feature/local-dev-setup

Conversation

@InterstellarIntruder
Copy link
Copy Markdown

@InterstellarIntruder InterstellarIntruder commented Apr 17, 2026

Addresses #22, fixes #29

Note: There's overlap here with #33 (LocalStack), #34 (netifaces dep), #35 (whale tag mockup), and #32 (importlib_resources). This PR takes a lighter approach -- moto instead of LocalStack, a minimal Docker mock -- but happy to close this in favor of those if the maintainers prefer.

Currently there's no way to work on this project without AWS credentials and a physical whale tag. This adds a local dev setup so anyone can clone, install, and run tests.

What's included:

  • Docker mock whale tag (Alpine + SSH, same credentials as real tags, sample data in /data/)
  • Moto-based S3 mock so pytest runs fully offline
  • Fixed missing dependencies: added netifaces, removed python_version < "3.9" guard on importlib_resources, loosened boto3 pin for modern Python
  • Makefile targets: make install, make test, make whaletag-up, make whaletag-down
  • README section covering local dev quickstart

Quick start:

git clone ... && cd data-ingest
make install
make test

- Fix missing dependencies: add netifaces, remove python_version guard
  on importlib_resources, loosen boto3 pin for modern Python compat
- Add Docker mock whale tag (Alpine + SSH + sample /data/) so
  ceti whaletag commands can run locally without physical hardware
- Add moto-based S3 mock for offline pytest (no AWS credentials needed)
- Add Makefile targets: install, test, whaletag-up, whaletag-down
- Update README with Local Development quickstart section

Addresses Project-CETI#22, Project-CETI#29
@InterstellarIntruder
Copy link
Copy Markdown
Author

Heads up -- I noticed after submitting that #33, #34, and #35 from @claymore666 and #32 from @BlindMuadDib cover a lot of the same ground. This PR uses moto instead of LocalStack and a simpler Docker setup, but I'm fine closing this if you'd rather go with those.

@claymore666
Copy link
Copy Markdown

Yeah I needed something to test against, might be outdated and/or overly complicated. I'd say its worth reducing complexity so one less failure point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing dependency - importlib_resources

2 participants