{"id":31698847,"url":"https://github.com/benorbiato/dictionary-search","last_synced_at":"2026-05-15T22:03:06.071Z","repository":{"id":317850343,"uuid":"1069086373","full_name":"benorbiato/dictionary-search","owner":"benorbiato","description":"A Python project demonstrating data structures, concurrency, and API design for searching words efficiently.","archived":false,"fork":false,"pushed_at":"2025-10-03T12:55:43.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-03T13:28:57.743Z","etag":null,"topics":["fastapi","pydantic","python","uvicorn"],"latest_commit_sha":null,"homepage":"","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/benorbiato.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T11:35:26.000Z","updated_at":"2025-10-03T12:55:46.000Z","dependencies_parsed_at":"2025-10-03T13:29:00.416Z","dependency_job_id":"8536b4d0-f809-454c-924a-44e6e1498e9c","html_url":"https://github.com/benorbiato/dictionary-search","commit_stats":null,"previous_names":["benorbiato/dictionary-search"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/benorbiato/dictionary-search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benorbiato%2Fdictionary-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benorbiato%2Fdictionary-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benorbiato%2Fdictionary-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benorbiato%2Fdictionary-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benorbiato","download_url":"https://codeload.github.com/benorbiato/dictionary-search/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benorbiato%2Fdictionary-search/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000702,"owners_count":26082805,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["fastapi","pydantic","python","uvicorn"],"created_at":"2025-10-08T19:11:13.736Z","updated_at":"2025-10-08T19:11:38.298Z","avatar_url":"https://github.com/benorbiato.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dictionary Search\n\n**Dictionary Search** is a Python project demonstrating efficient word searches using linear and hash-based methods, along with concurrency and a RESTful API.\n\n## Key Features\n\n* **RESTful API**: FastAPI endpoints to list, search, and add words.\n* **Concurrency**: Parallel word search using threads and locks.\n* **Performance**: Compare sequential vs concurrent execution times.\n\n## Project Structure\n\n```\ndictionary-search/\n│\n├── data/\n│   └── dictionary.json        # Word list in JSON\n│\n├── src/\n│   ├── search.py              # Linear and hash search functions\n│   ├── dictionary_loader.py   # Loads dictionary from JSON\n│   ├── api_design.py          # FastAPI implementation\n│   └── concurrency_demo.py    # Parallel search and performance demo\n│\n└── requirements.txt           # Dependencies\n```\n\n## Quick Start\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/your-username/dictionary-search.git\ncd dictionary-search\n```\n\n2. Create and activate a virtual environment:\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate  # Linux/macOS\nvenv\\Scripts\\activate     # Windows\n```\n\n3. Install dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n## Usage\n\n### Run the API\n\n```bash\nuvicorn src.api_design:app --reload\n```\n\n* Access API at `http://127.0.0.1:8000`\n* Interactive docs: `http://127.0.0.1:8000/docs`\n\n### Run Concurrency Demo\n\n```bash\npython src/concurrency_demo.py\n```\n\n* Measures execution time for linear vs hash searches, sequential vs concurrent.\n\n## Big O Complexity\n\n| Method        | Time Complexity |\n| ------------- | --------------- |\n| Linear Search | O(n)            |\n| Hash Search   | O(1) average    |\n| Adding Word   | O(1)            |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenorbiato%2Fdictionary-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenorbiato%2Fdictionary-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenorbiato%2Fdictionary-search/lists"}