{"id":13691469,"url":"https://github.com/JacobCoffee/niapi","last_synced_at":"2025-05-02T15:32:16.882Z","repository":{"id":176370162,"uuid":"658228833","full_name":"JacobCoffee/niapi","owner":"JacobCoffee","description":"Toy project to showcase Litestar, HTMX, TailwindCSS. Network Information API","archived":false,"fork":false,"pushed_at":"2024-04-28T04:03:13.000Z","size":1506,"stargazers_count":14,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-10T01:51:29.588Z","etag":null,"topics":["api","htmx","litestar","network","python","tailwindcss"],"latest_commit_sha":null,"homepage":"https://niapi.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacobCoffee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"JacobCoffee","open_collective":"coffee"}},"created_at":"2023-06-25T06:49:03.000Z","updated_at":"2024-05-02T21:15:53.000Z","dependencies_parsed_at":"2023-12-07T16:26:28.555Z","dependency_job_id":"43579997-fda3-4eb7-9c15-fcd72e3f1b5c","html_url":"https://github.com/JacobCoffee/niapi","commit_stats":{"total_commits":107,"total_committers":5,"mean_commits":21.4,"dds":"0.15887850467289721","last_synced_commit":"5e7cdb9c454840a58bf5c6a0f4f87d3e2905df17"},"previous_names":["jacobcoffee/niapi"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Fniapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Fniapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Fniapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobCoffee%2Fniapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacobCoffee","download_url":"https://codeload.github.com/JacobCoffee/niapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224318957,"owners_count":17291752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","htmx","litestar","network","python","tailwindcss"],"created_at":"2024-08-02T17:00:45.475Z","updated_at":"2024-11-12T17:31:10.300Z","avatar_url":"https://github.com/JacobCoffee.png","language":"Python","funding_links":["https://github.com/sponsors/JacobCoffee","https://opencollective.com/coffee"],"categories":["Third-Party Extensions"],"sub_categories":["Projects"],"readme":"\u003c!-- markdownlint-disable --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/images/SVG/Transparent/logo-thin.svg#gh-light-mode-only\" alt=\"NIAPI Logo - Light\" width=\"100%\" height=\"auto\" /\u003e\n  \u003cimg src=\"docs/images/SVG/Transparent/logo-dark-thin.svg#gh-dark-mode-only\" alt=\"NIAPI Logo - Dark\" width=\"100%\" height=\"auto\" /\u003e\n\u003c/p\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n\n| Project   |     | Status                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |\n|-----------|:----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| CI/CD     |     | [![Latest Release](https://github.com/JacobCoffee/niapi/actions/workflows/publish.yaml/badge.svg)](https://github.com/JacobCoffee/niapi/actions/workflows/publish.yaml) [![ci](https://github.com/JacobCoffee/niapi/actions/workflows/ci.yaml/badge.svg)](https://github.com/JacobCoffee/niapi/actions/workflows/ci.yaml) [![Documentation Building](https://github.com/JacobCoffee/niapi/actions/workflows/docs.yaml/badge.svg)](https://github.com/JacobCoffee/niapi/actions/workflows/docs.yaml) [![CodeQL](https://github.com/JacobCoffee/niapi/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/JacobCoffee/niapi/actions/workflows/github-code-scanning/codeql)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| Package   |     | [![PyPI - Version](https://img.shields.io/pypi/v/niapi)](https://badge.fury.io/py/niapi) ![PyPI - Support Python Versions](https://img.shields.io/pypi/pyversions/niapi)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| Quality   |     | [![codecov](https://codecov.io/gh/JacobCoffee/niapi/branch/main/graph/badge.svg?token=SFT67X4MEQ)](https://codecov.io/gh/JacobCoffee/niapi) [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=JacobCoffee_niapi\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=JacobCoffee_niapi\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=JacobCoffee_niapi\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi) [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=JacobCoffee_niapi\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=JacobCoffee_niapi\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi) [![Known Vulnerabilities](https://snyk.io/test/github/JacobCoffee/niapi/badge.svg)](https://snyk.io/test/github/JacobCoffee/niapi) |\n| Community |     | [![Twitter](https://img.shields.io/twitter/follow/_scriptr?style=social\u0026logo=twitter)](https://twitter.com/_scriptr)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| Meta      |     | [![Litestar Framework](https://img.shields.io/badge/Litestar%20Framework-%E2%AD%90%20Litestar-202235.svg)](https://github.com/JacobCoffee/niapi) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style - Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![types - Mypy](https://img.shields.io/badge/types-Mypy-85c7f2.svg)](https://github.com/python/mypy) [![License - MIT](https://img.shields.io/badge/license-MIT-85c7f2.svg)](https://spdx.org/licenses/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/JacobCoffee?logo=GitHub%20Sponsors\u0026style=social)](https://github.com/sponsors/JacobCoffee)                                                                                                                                                                                                                                                                                                                                                                                                        |\n\n[![SonarCloud](https://sonarcloud.io/images/project_badges/sonarcloud-white.svg)](https://sonarcloud.io/summary/new_code?id=JacobCoffee_niapi)\n\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c/div\u003e\n\n# `niapi` - Network Information API\n\n[//]: # \"TODO\"\n\n## Table of Contents\n\n- [About](#about)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [Contributors](#contributors)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n- [Screenshots](#screenshots)\n\n## About\n\n[//]: # \"TODO\"\n\n## Installation\n\n```console\npip install niapi\n```\n\n## Usage\n\n[//]: # \"TODO\"\n\nInstall the project:\n\n```console\npip install -e .\n```\n\nRun the project:\n\n\u003e **NOTE:** From within the virtual environment\n\n```console\napp run -r --debug\n```\n\nUsing the CLI:\n\n```console\n# via curl\n➜ curl --request GET \\\n        --url 'http://0.0.0.0:8000/calculator/ip?ip=4.8.15.16\u0026prefix=23' \\\n        --header 'Content-Type: application/json'\n# via App CLI\n# TODO\napp calculate \"10.248.15.39/29\"\n```\n\nUsing the API\n\n1. Browse to:\n   - [Swagger Web](https://niapi.app/api/swagger#/) or [Swagger Localhost](http://127.0.0.1:8000/api/swagger#/)\n   - [Elements](https://niapi.app/api/elements/) or [Elements Localhost](http://127.0.0.1:8000/api/elements/)\n2. Use the auto-generated API docs to interact with the API\n\nFrom around the web:\n\nBrowse to https://niapi.app/ and use the front page form, API, or `curl` to interact with the API.\n\n## Contributing\n\nSee [CONTRIBUTING.rst](CONTRIBUTING.rst) for more information.\n\nStart the app:\n\n```console\napp run-all\n```\n\nStart the TailwindCSS watcher:\n\n```console\ntailwindcss -i niapi/domain/web/resources/input.css -o niapi/domain/web/resources/style.css --watch\n```\n\n## Contributors\n\n[//]: # \"TODO\"\n\n## License\n\n[MIT](LICENSE)\n\n## Acknowledgements\n\n- Built on Litestar and Pydantic\n- Using https://feathericons.dev/\n- Using TailwindCSS\n\n## Screenshots\n\n[//]: # \"TODO\"\n\n![home.png](docs/images/index.png) ![home-dark.png](docs/images/index-dark.png) ![img.png](docs/images/output.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacobCoffee%2Fniapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJacobCoffee%2Fniapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJacobCoffee%2Fniapi/lists"}