{"id":27881165,"url":"https://github.com/seisollc/cookiecutter-python","last_synced_at":"2026-05-11T22:02:28.995Z","repository":{"id":190203188,"uuid":"339888900","full_name":"SeisoLLC/cookiecutter-python","owner":"SeisoLLC","description":"The Seiso standard python cookiecutter template","archived":false,"fork":false,"pushed_at":"2026-05-07T05:46:39.000Z","size":371,"stargazers_count":14,"open_issues_count":7,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-07T07:38:33.463Z","etag":null,"topics":["cookiecutter","cookiecutter-template","python","seiso"],"latest_commit_sha":null,"homepage":"https://seisollc.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SeisoLLC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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":"2021-02-18T00:06:05.000Z","updated_at":"2025-06-26T13:49:01.000Z","dependencies_parsed_at":"2026-01-26T08:00:18.618Z","dependency_job_id":null,"html_url":"https://github.com/SeisoLLC/cookiecutter-python","commit_stats":null,"previous_names":["seisollc/cookiecutter-python"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/SeisoLLC/cookiecutter-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeisoLLC%2Fcookiecutter-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeisoLLC%2Fcookiecutter-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeisoLLC%2Fcookiecutter-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeisoLLC%2Fcookiecutter-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeisoLLC","download_url":"https://codeload.github.com/SeisoLLC/cookiecutter-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeisoLLC%2Fcookiecutter-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32914533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cookiecutter","cookiecutter-template","python","seiso"],"created_at":"2025-05-05T05:00:06.092Z","updated_at":"2026-05-11T22:02:28.990Z","avatar_url":"https://github.com/SeisoLLC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Seiso's Python Paved Road\n\nThis is Seiso's paved road for creating new python repositories.\n\n## Getting Started\n\n```bash\n# Install the prerequisites\npython3 -m pip install --upgrade pipx gitpython pyyaml\npython3 -m pipx ensurepath\npipx install pipenv\n\n# Initialize your project with *either* HTTP or SSH\n# HTTP\npipx run --system-site-packages cookiecutter gh:seisollc/cookiecutter-python\n# SSH\npipx run --system-site-packages cookiecutter git+ssh://git@github.com/seisollc/cookiecutter-python.git\n\n# Enter the project directory\ncd $(ls -td * | head -1)\n```\n\nAt this point you need to ensure that there is an empty remote Git repository that aligns with the naming of the generated project. If it doesn't yet exist, you\nneed to create it. Once it exists, you can continue.\n\n```bash\n# Push the initial commit (IMPORTANT!)\ngit remote add origin git@github.com:SeisoLLC/$(basename $(pwd)).git\ngit push origin $(git branch --show-current) --follow-tags\n```\n\nAfter you've pushed the initial commit, you should setup your repository settings - such as setting a branch policy, enabling dependabot, adding Docker hub\nsecrets, etc.\n\nThis can be done via Infrastructure as Code (IaC) or manually, but ostensibly at this point your repository is aligned with your organizational practices. If\nyou perform this step manually, consider a tool like OpenSSF [allstar](https://github.com/ossf/allstar) to monitor and alert or mitigate on your behalf.\n\nContinue on if you're ready to add business logic to your new repository.\n\n```bash\n# Initialize the repository\ntask init\n\n# Checkout a new branch for your initial content\ngit checkout -b initial-content\n\n# Check for `NotImplementedError`s and address them\ngrep -r NotImplementedError *\n\n# Add your code and tests\n\n# Commit and build/test your work\ngit add -A\ngit commit -m \"Initial content\"\ntask build test\n\n# Push your branch\ngit push origin $(git branch --show-current)\n\n# Open a Pull Request\n\n# (Optional) If you chose SemVer-ish as your versioning, run a release after your PR is merged\nif grep -q SemVer setup.cfg; then task release -- minor; git push --atomic origin $(git branch --show-current) $(git describe --tags); fi\n```\n\n## Version Control System support\n\nCurrently this project only supports projects hosted on GitHub.\n\n## FAQs\n\nQ: Why am I getting `invalid reference format: repository name must be lowercase` when I try to build my Docker container?\u003cbr /\u003e\nA: You customized the `project_slug` when answering the `cookiecutter` questions and included a capital letter. Don't do that!\n\nQ: What does `SemVer-ish` mean?\u003cbr /\u003e\nA: Docker isn't compatible with SemVer, as it doesn't allow `+` symbols in their tags (which are used by SemVer to indicate builds). As a\nworkaround,\nwe use `-`s instead (only for local builds, not official releases), which is not compliant with the official SemVer spec, but is easily human\nunderstandable. In order to keep the image tags in line with Git tags, both use this SemVer-like notation.\n\nQ: I use `pyenv`; how do I keep `pipx` aligned with my activated python version and package installations?\u003cbr /\u003e\nA: Set the `PIPX_DEFAULT_PYTHON` env var like the following:\n\n```bash\nPIPX_DEFAULT_PYTHON=\"${HOME}/.pyenv/versions/$(pyenv version | cut -f1 -d\\ )/bin/python3\"\nexport PIPX_DEFAULT_PYTHON\n```\n\nYou may also want to consider storing this in your .zshrc or similar if it fixes your issue.\n\nQ: How do I contribute?\u003cbr /\u003e\nA: See our [contributing docs](./CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseisollc%2Fcookiecutter-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseisollc%2Fcookiecutter-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseisollc%2Fcookiecutter-python/lists"}