{"id":21868112,"url":"https://github.com/nyx0uf/yotsugi","last_synced_at":"2026-05-05T14:03:47.068Z","repository":{"id":144958350,"uuid":"314856027","full_name":"Nyx0uf/Yotsugi","owner":"Nyx0uf","description":"Very simple and basic notes manager written in Python 3 with a RESTful API.","archived":false,"fork":false,"pushed_at":"2023-03-17T14:39:32.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T16:16:15.740Z","etag":null,"topics":["flask","note","note-taking","notes","python","python3","rest","rest-api","restful","restful-api"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Nyx0uf.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}},"created_at":"2020-11-21T16:35:35.000Z","updated_at":"2023-03-17T14:39:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"73a6886f-1804-4ff0-867b-e5d7c60ccf61","html_url":"https://github.com/Nyx0uf/Yotsugi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nyx0uf%2FYotsugi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nyx0uf%2FYotsugi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nyx0uf%2FYotsugi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nyx0uf%2FYotsugi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nyx0uf","download_url":"https://codeload.github.com/Nyx0uf/Yotsugi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244874718,"owners_count":20524581,"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":["flask","note","note-taking","notes","python","python3","rest","rest-api","restful","restful-api"],"created_at":"2024-11-28T05:11:55.187Z","updated_at":"2025-10-26T17:36:19.128Z","avatar_url":"https://github.com/Nyx0uf.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yotsugi\n\n**Yotsugi** is a very simple notes manager written in Python 3. It comes with a RESTful API, a CLI and readonly web pages to render notes.\n\n## Server\n\nFirst install **Flask** package.\n\n```bash\npip3 install Flask\n```\n\nThen run `yotsugi_server.py`.\n\nYou can check if it's working correctly by going to `http://localhost:9950`\n\n### systemd\n\nIf running Linux you can create a **systemd** service, use the *yotsugi.systemd.service* template file and edit the `User` and `ExecStart` values.\n\n## Client\n\nFirst install the **requests** package.\n\n```bash\npip3 install requests\n```\n\nNext create a configuration file named `~/yotsugi/yotsugi.conf` with the following content :\n\n```ini\n[SERVER]\nurl = http://SERVER_IP\nport = SERVER_PORT\nbasic_auth_user = user\nbasic_auth_password = password\n```\n\n**basic_auth_user** and **basic_auth_password** are optional and need to be set only if you set Basic Authentication on your server.\n\nthen run `yotsugi_cli.py -h` to see available options.\n\n## API Usage\n\nThere is a postman collection available in the postman folder which implement the API described below.\n\n### Creating a note\n\nMake a *POST* request to `SERVER_URL/api/notes/add` with the following body :\n\n```json\n\"title\": \"Your note title\"\n\"content\": \"Your note content\"\n```\n\nThe note object will be returned as JSON.\n\n```json\n{\n    \"content\": null,\n    \"creation_date\": 1605976147,\n    \"id\": 4,\n    \"title\": \"Note title\",\n    \"update_date\": 1605976147\n}\n```\n\n*content* is optional.\n\n### Deleting a note\n\nMake a *DELETE* request to `SERVER_URL/api/notes/delete/\u003cnote_id\u003e`.\n\n### Updating a note\n\nMake a *PUT* request to `SERVER_URL/api/notes/update/\u003cnote_id\u003e` with the following body :\n\n```json\n\"title\": \"Updated title\"\n\"content\": \"Updated content\"\n```\n\n*title* and *content* are optional and if neither are specified the note won't be updated.\n\n### Getting all notes\n\nMake a *GET* request to `SERVER_URL/api/notes`.\n\n```json\n[\n    {\n        \"content\": \"cool\",\n        \"creation_date\": 1605953529,\n        \"id\": 1,\n        \"title\": \"note 1\",\n        \"update_date\": 1605953529\n    },\n    {\n        \"content\": \"blah\",\n        \"creation_date\": 1605963787,\n        \"id\": 2,\n        \"title\": \"note 2\",\n        \"update_date\": 1605966217\n    },\n]\n```\n\n### Getting a single note\n\nMake a *GET* request to `SERVER_URL/api/notes/\u003cnote_id\u003e`.\n\n```json\n{\n    \"content\": \"note content\",\n    \"creation_date\": 1605953529,\n    \"id\": 1,\n    \"title\": \"note title\",\n    \"update_date\": 1605953529\n}\n```\n\n## LICENSE\n\n**Yotsugi** is released under the MIT License, see LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyx0uf%2Fyotsugi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnyx0uf%2Fyotsugi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnyx0uf%2Fyotsugi/lists"}