{"id":20323661,"url":"https://github.com/erthium/hashi-api","last_synced_at":"2026-04-18T07:32:02.104Z","repository":{"id":257186817,"uuid":"857562692","full_name":"erthium/hashi-api","owner":"erthium","description":"RestAPI for the Hashiwokakero puzzle","archived":false,"fork":false,"pushed_at":"2024-09-30T13:21:37.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-02T16:51:31.849Z","etag":null,"topics":["alembic","fastapi","hashi","hashiwokakero","logic-puzzle","postgresql","puzzle","python","python3","rest-api","sqlalchemy","sqlalchemy-python"],"latest_commit_sha":null,"homepage":"https://erthium.tech/hashi","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erthium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-09-15T01:32:00.000Z","updated_at":"2024-09-30T13:21:42.000Z","dependencies_parsed_at":"2024-12-22T13:01:18.544Z","dependency_job_id":null,"html_url":"https://github.com/erthium/hashi-api","commit_stats":null,"previous_names":["erthium/hashi-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erthium/hashi-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erthium%2Fhashi-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erthium%2Fhashi-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erthium%2Fhashi-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erthium%2Fhashi-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erthium","download_url":"https://codeload.github.com/erthium/hashi-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erthium%2Fhashi-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31961119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["alembic","fastapi","hashi","hashiwokakero","logic-puzzle","postgresql","puzzle","python","python3","rest-api","sqlalchemy","sqlalchemy-python"],"created_at":"2024-11-14T19:29:08.872Z","updated_at":"2026-04-18T07:32:02.087Z","avatar_url":"https://github.com/erthium.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hashiwokakero API\n\nRestAPI with Python's FastAPI, for the Hashiwokakero logic puzzle, to generate, solve and get puzzles from the database.\n\nThe main hashiwokakero repository is [here](https://github.com/erthium/hashiwokakero).\n\nYou can also check the playground of hashiwokakero [here](https://erthium.tech/hashi).\n\n## License\n\nThis project is licensed under the [GNU GPL-3.0](https://github.com/erthium/hashi-api/blob/main/LICENSE) license.\n\nAlthough everything is free to use, modify and distribute, credit is always appreciated.\n\n## Setup\n\n### Dependencies\n\nThe project is written in Python 3.12.4. Create a virtual environment and activate it.\n\n```bash\npython -m venv venv\nsource venv/bin/activate\n```\n\nTo install the dependencies, run:\n\n```bash\npip install -r requirements.txt\n## or\nmake init\n```\n\n### Database\n\nThe backend solely relies on the PostgreSQL database, this part will assume we will be running the database on the local machine.\n\nInstall PostgreSQL to your machine, and make sure that the server/service is running.\n\nCreate a database and preferably a user for the database. After all successfully created, update the `DATABASE_URL` in the `.env` file.\n\nTo create the tables, run the following command on the project root:\n\n```bash\nalembic upgrade head\n```\n\n### Running the server\n\nTo run the server, execute the following command:\n\n```bash\n# development/auto-reload mode\nuvicorn app.main:app --reload\n## or\nmake dev\n```\n\nThe server will be running on `http://127.0.0.1:8000` or in the port that you specified in the `.env` file.\n\nGo to the `/docs` endpoint to see the API documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferthium%2Fhashi-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferthium%2Fhashi-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferthium%2Fhashi-api/lists"}