{"id":46057349,"url":"https://github.com/bendog/mooring-data-generator","last_synced_at":"2026-03-01T10:33:05.648Z","repository":{"id":323453882,"uuid":"1089437912","full_name":"bendog/mooring-data-generator","owner":"bendog","description":"Hackathon Mooring Data Generator","archived":false,"fork":false,"pushed_at":"2025-11-10T08:38:59.000Z","size":133,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-10T09:14:58.147Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bendog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-04T10:46:23.000Z","updated_at":"2025-11-10T08:39:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bendog/mooring-data-generator","commit_stats":null,"previous_names":["bendog/mooring-data-generator"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/bendog/mooring-data-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendog%2Fmooring-data-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendog%2Fmooring-data-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendog%2Fmooring-data-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendog%2Fmooring-data-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bendog","download_url":"https://codeload.github.com/bendog/mooring-data-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendog%2Fmooring-data-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29966827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T09:33:09.965Z","status":"ssl_error","status_checked_at":"2026-03-01T09:25:48.915Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-01T10:33:05.101Z","updated_at":"2026-03-01T10:33:05.640Z","avatar_url":"https://github.com/bendog.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mooring Data Generator\n\nA simple script to generate fake mooring data for use in a hackathon.\nThis script will send data payloads to and endpoint to simulate the data which might exist.\n\nThese will be http POST queries to the url provided as an argument at run time.\n\nThe script will run forever until the user sends a Ctrl+C command to end the script.\n\n## Install\n\n### With UV (recommended)\n\nIf you don't have UV on your system, read [the install instructions for UV](https://docs.astral.sh/uv/getting-started/installation/)\n\n```shell\nuv tool install -U mooring-data-generator\n```\n\n### Vanilla python (If you don't want UV)\n\n```shell\npip install -U mooring-data-generator\n```\n\n## Usage\n\n### Running the package\n\n#### Sending data via HTTP POST\n\n```shell\nmooring-data-generator http://127.0.0.1:8000/my/endpoint/\n```\n\n\u003e [!IMPORTANT]\n\u003e replace `http://127.0.0.1:8000/my/endpoint/` with the appropriate url for your system\n\n#### Saving data to a file\n\nYou can also save the generated mooring data to a JSON file instead of sending it via HTTP:\n\n```shell\nmooring-data-generator --file output.json\n```\n\nThis will continuously generate mooring data and save it to the specified file.\n\n\u003e [!NOTE]\n\u003e You can only use either the URL (HTTP POST) or `--file` option, not both at the same time\n\n#### Getting the OpenAPI specification\n\nYou can output an OpenAPI 3.0 specification for the mooring data format:\n\n```shell\nmooring-data-generator --openapi\n```\n\nThis will print a complete OpenAPI specification in JSON format\nthat describes the structure of the mooring data being generated.\nThis is useful for:\n\n- Understanding the data format\n- Generating client libraries\n- API documentation\n- Integration planning\n\nThe specification can be saved to a file for use with OpenAPI tools:\n\n```shell\nmooring-data-generator --openapi \u003e openapi.json\n```\n\n## Testing data is being sent\n\nThere's a helper application included in this package\nto allow you to check that the data is being sent.\n\n`mooring-data-receiver` will display to the console all http traffic it receives.\n\n```shell\nmooring-data-receiver\n```\n\nBy default it will run listening to any traffic `0.0.0.0` on port `8000`\n\nYou can adjust this if needed by using a commend like\n\n```shell\nmooring-data-receiver --host 127.0.0.1 --port 5000\n```\n\n### Formatting output\n\nYou can use the `--format` flag to control how the request body is displayed:\n\n```shell\nmooring-data-receiver --format\n```\n\nWhen `--format` is used, the request body content\nwill be formatted using `json.dumps(indent=2)` for better readability.\nWithout this flag, the content is displayed as received.\n\n## Troubleshooting\n\n### Command not found\n\nIf you are having trouble with the command not being found,\nyou can attempt to run it as a module calling python\n\n```shell\npython -m mooring-data-generator http://127.0.0.1:8000/my/endpoint/\n```\n\n### Pip not found\n\nIf `pip` can't be found on your system.\n\nFirst, make sure you have Python installed.\n\n```shell\npython --version\n```\n\nyou can call `pip` from python directly as a module.\n\n```shell\npython -m pip install -U mooring-data-generator\n```\n\n## Release a new version\n\n### Be sure the tests pass\n\n```shell\nuv sync --all-groups\nuv run ruff format\nuv run ruff check\nuv run tox\n```\n\n### bump version and tag new release\n\n```shell\nuv version --bump minor\ngit commit -am \"Release version v$(uv version --short)\"\ngit tag -a \"v$(uv version --short)\" -m \"v$(uv version --short)\"\n```\n\n### push to github\n\n```shell\ngit push\ngit push --tags\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbendog%2Fmooring-data-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbendog%2Fmooring-data-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbendog%2Fmooring-data-generator/lists"}