{"id":44813729,"url":"https://github.com/recursivezero/sample-py","last_synced_at":"2026-02-16T17:37:08.078Z","repository":{"id":330579342,"uuid":"1122443964","full_name":"recursivezero/sample-py","owner":"recursivezero","description":"Kickstart your Pytho projects with a minimal Poetry + Streamlit + FastAPI setup — simple, clean, and ready to extend.","archived":false,"fork":false,"pushed_at":"2026-02-12T18:20:21.000Z","size":482,"stargazers_count":1,"open_issues_count":4,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-12T23:09:15.287Z","etag":null,"topics":[],"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/recursivezero.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":".github/SUPPORT.md","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-12-24T18:32:19.000Z","updated_at":"2026-01-17T20:36:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/recursivezero/sample-py","commit_stats":null,"previous_names":["recursivezero/sample-py"],"tags_count":2,"template":true,"template_full_name":null,"purl":"pkg:github/recursivezero/sample-py","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursivezero%2Fsample-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursivezero%2Fsample-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursivezero%2Fsample-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursivezero%2Fsample-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/recursivezero","download_url":"https://codeload.github.com/recursivezero/sample-py/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recursivezero%2Fsample-py/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29514035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: 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-02-16T17:37:07.327Z","updated_at":"2026-02-16T17:37:08.072Z","avatar_url":"https://github.com/recursivezero.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fabric Generator and Search Utility\r\n\r\nA Streamlit template for Recursive Zero repository\r\n\r\n## Installation Guide\r\n\r\n## Prerequisites\r\n\r\n- Python ≥ 3.11\r\n- Poetry ≥ 2.2.1\r\n- Streamlit ≥ 1.49.1\r\n\r\n## Getting Started\r\n\r\n- [Unix/macOS Setup Guide](./docs/setup-for-osx.md)\r\n\r\n- [Windows Setup Guide](./docs/setup-for-windows.md)\r\n\r\n## Poetry Setup\r\n\r\n```bash\r\ncurl -sSL https://install.python-poetry.org | python3 -\r\n# OR\r\npip install poetry\u003e=2.2.1\r\n```\r\n\r\n## Virtual Environment Configuration\r\n\r\n```bash\r\npoetry config virtualenvs.path /your/desired/path\r\n```\r\n\r\nEnsure below files are configured (create if not exist) properly to run the project;\r\n\r\n- `.env.local`,\r\n- `.env`, and\r\n- `.streamlit/secrets.toml`\r\n\r\n## Install Dependencies\r\n\r\n```bash\r\npoetry lock --no-cache --regenerate\r\npoetry install  --all-extras --with dev\r\n```\r\n\r\nOr manually\r\n\r\n```bash\r\npoetry install\r\n```\r\n\r\n## How to Run\r\n\r\n## Run Streamlit App\r\n\r\n```bash\r\npoetry run sample dev\r\n```\r\n\r\nAccess: \u003chttp://localhost:8501\u003e\r\n\r\n## Run FastAPI Server\r\n\r\n```bash\r\npoetry run sample api\r\n# OR\r\npython src/api/fast_api.py\r\n```\r\n\r\nAccess: \u003chttp://127.0.0.1:5000\u003e\r\n\r\n## 🧹 Linting \u0026 Code Quality\r\n\r\nPre-commit hooks are enabled. If commits fail, run:\r\n\r\n```bash\r\npoetry run lint\r\n```\r\n\r\nor run individual\r\n\r\n```bash\r\npoetry run black .\r\npoetry run flake8 .\r\npoetry run mypy .\r\npoetry run ruff check .\r\n```\r\n\r\n## Build \u0026 Packaging\r\n\r\n## Build Package\r\n\r\n```bash\r\npoetry clean\r\npoetry build\r\n```\r\n\r\nArtifacts in `dist/`\r\n\r\n- sample-x.y.0-py3-none-any.whl\r\n- sample-x.y.0.tar.gz\r\n\r\n## Test Locally\r\n\r\n```bash\r\npython -m venv .venv-dist\r\nsource .venv-dist/bin/activate\r\n# Windows\r\n.venv-dist\\Scripts\\activate\r\n```\r\n\r\n### Install package\r\n\r\n```bash\r\npip install dist/*.whl\r\npip install --upgrade dist/*.whl\r\n# Install extras:\r\npip install sample\r\n```\r\n\r\n## CLI Shortcuts\r\n\r\n`sample dev` → Launch Streamlit UI\r\n\r\n`sample api` → Launch FastAPI\r\n\r\ncurrent version will be printed on start of above commands.\r\n\r\n## Install GIT hooks\r\n\r\nthese hooks will\r\n\r\n- Check for lint and audit for security before commit\r\n- Append branch name in commit message\r\n- Generate requirements.txt on checkout on new branch\r\n\r\n```bash\r\n# Install git hooks\r\npoetry run ./scripts/setup-hooks.sh\r\n```\r\n\r\nthere is `.vscode/Python.code-profile` file; import this as a profile in vscode which include necessary extension for python development.\r\n\r\n## Troubleshooting\r\n\r\nsometimes there might be chances that virtual environment get corrupted then delete the old virtual environment and start afresh.\r\n\r\n```sh\r\npoetry env info\r\n# this will provide virtual environment name\r\npoetry env remove \u003cenvironment-full-name\u003e\r\n```\r\n\r\n## License\r\n\r\n[MIT](./LICENSE)\r\n\r\n## References\r\n\r\n- [Python Downloads](https://www.python.org/downloads)\r\n- [Virtualenv Docs](https://docs.python.org/3/library/venv.html)\r\n- [Python Tips](https://www.airplane.dev/blog/12-useful-python-scripts-for-developers)\r\n- [Poetry Docs](https://python-poetry.org/docs/)\r\n- [MyPy Docs](https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports)\r\n- [Useful Poetry commands](./docs//POETRY_COMMANDS.md)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecursivezero%2Fsample-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frecursivezero%2Fsample-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecursivezero%2Fsample-py/lists"}