{"id":26237327,"url":"https://github.com/mohsenhariri/template-python","last_synced_at":"2025-07-08T20:14:34.727Z","repository":{"id":110941961,"uuid":"489992310","full_name":"mohsenhariri/template-python","owner":"mohsenhariri","description":"A [simple] [general-purpose] Python template 🐍🚀🎉🦕","archived":false,"fork":false,"pushed_at":"2024-07-22T03:12:22.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T20:14:33.686Z","etag":null,"topics":["boilerplate","makefile","package","python"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/mohsenhariri.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-05-08T16:10:47.000Z","updated_at":"2024-07-22T03:12:25.000Z","dependencies_parsed_at":"2024-07-26T04:32:20.432Z","dependency_job_id":null,"html_url":"https://github.com/mohsenhariri/template-python","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/mohsenhariri/template-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsenhariri%2Ftemplate-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsenhariri%2Ftemplate-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsenhariri%2Ftemplate-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsenhariri%2Ftemplate-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohsenhariri","download_url":"https://codeload.github.com/mohsenhariri/template-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsenhariri%2Ftemplate-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264341130,"owners_count":23593298,"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":["boilerplate","makefile","package","python"],"created_at":"2025-03-13T04:31:34.180Z","updated_at":"2025-07-08T20:14:34.689Z","avatar_url":"https://github.com/mohsenhariri.png","language":"Makefile","readme":"# Python Template\n\nA [simple] [general-purpose] Python template 🐍🚀🎉🦕\n\n\nI used this template for [fesenjoon](https://pypi.org/project/fesenjoon/) and [medviz](https://pypi.org/project/medviz/).\n\n## How to use\n\n- Linux and Mac\n  Use GCC Makefile\n\n- Install Makefile\n\n  https://community.chocolatey.org/packages/make\n\n  http://www.cygwin.com/\n\n### Bootstrap\n\nSet a name for the package:\n\n```bash\n    make init newName\n```\n\nTo use env in pool:\n\n``` bash\n    make env\n```\n\nThere is no need to active virtual environment when the `PY` command is used from Makefile.\n\nTo use env here (local directory)\n\n``` bash\n    make env-local\n```\n\n``` bash\n    source env_platform_ver/bin/activate\n```\nCheck Python and pip version\n\n``` bash\n    make\n```\n\nUpdate pip and build tools\n\n``` bash\n    make check\n```\n\nInstall the requirements\n\n``` bash\n    make pireq\n```\n\n### Install a package\n\n``` bash\n    make piu numpy matplotlib scipy\n```\n\n## Features\n\n- Linter: Pylint\n- Formatter: Black\n- CI: GitHub Actions\n\n### ToDo\n\n- [x] Formatter: Black + isort\n- [x] Type checker: MyPy\n- [x] Linter: Ruff\n- [x] Linter: Pylint\n- [x] GitHub Actions\n- [x] Git Hooks\n- [x] PyPI Publish\n- [x] Flit\n- [x] Poetry\n- [x] Ruff \n\n### Git\n\nGit hooks are available in ./scripts/.githooks\n\n``` bash\n    chmod +x ./scripts/.githooks/script\n\n    git config core.hooksPath ./scripts/.githooks\n\n```\n\n\n## Publish to PyPI\n\n\n1. To build a package, run:\n``` bash\n    make pkg-build\n```\n\n2. To check the build, run:\n``` bash\n    make pkg-check\n```\n\n3. To install the package locally, run: \n``` bash\n    make pkg-install\n```\n\n4. Create `.pypirc` file in the root directory of the project. It should look like this:\n\n``` bash\n    [distutils]\n    index-servers =\n        pypi\n        testpypi\n\n    [pypi]\n    repository: https://upload.pypi.org/legacy/\n    username: \u003cyour username\u003e\n    password: \u003cyour password\u003e\n\n    [testpypi]\n    repository: https://test.pypi.org/legacy/\n    username: \u003cyour username\u003e\n    password: \u003cyour password\u003e\n```\n\n4. To publish to PyPI, run:\n\n``` bash\n    make pkg-publish\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsenhariri%2Ftemplate-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohsenhariri%2Ftemplate-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsenhariri%2Ftemplate-python/lists"}