Skip to content

Add noise generation service#12

Merged
lakshay6666 merged 1 commit into
masterfrom
noise-generation-service
Jun 8, 2026
Merged

Add noise generation service#12
lakshay6666 merged 1 commit into
masterfrom
noise-generation-service

Conversation

@lakshay6666

Copy link
Copy Markdown
Collaborator

Summary

Adds noise-generation-service, a new Python FastAPI service for deterministic procedural noise generation and contour-style SVG output. The service is intended for generating random contour-plot style practice data for geostatistical interpolation exercises.

The implementation uses pyfastnoiselite, a Python wrapper around FastNoiseLite, and exposes the functionality through both a REST API and a matching CLI.

What changed

  • Added services/noise-generation-service
  • Added FastAPI REST endpoints:
    • GET /health
    • POST /noise/grid
    • POST /noise/contour.svg
  • Added generated OpenAPI spec:
    • noise-generation-service.openapi.json
  • Added CLI commands:
    • noise-generation grid
    • noise-generation contour
  • Added Dockerfile for image-based distribution
  • Added service Makefile with repository-style targets
  • Added GitHub Actions CI workflow
  • Added README documentation including usage and minimal hardware requirements
  • Registered the service in the root README service table

Validation

Tested locally with:

  • make lint
  • make test
  • make generate-openapi

Test result:

  • 12 passed
  • 100% coverage

Also verified the Dockerized service locally on http://127.0.0.1:8001 using /health and /noise/grid.

Notes

The task mentioned libnoise and fastnoise as possible candidates. This implementation uses pyfastnoiselite, which satisfies the FastNoise candidate path while avoiding a custom in-house noise implementation.

@lakshay6666 lakshay6666 added this pull request to the merge queue Jun 8, 2026
Merged via the queue into master with commit 39f13b3 Jun 8, 2026
8 checks passed
@lakshay6666 lakshay6666 deleted the noise-generation-service branch June 8, 2026 11:10
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.

1 participant