{"id":29201900,"url":"https://github.com/mwmdev/py-starter","last_synced_at":"2025-07-02T12:32:40.389Z","repository":{"id":301962168,"uuid":"1005083933","full_name":"mwmdev/py-starter","owner":"mwmdev","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-29T20:04:09.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T21:19:16.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/mwmdev.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,"zenodo":null}},"created_at":"2025-06-19T16:32:43.000Z","updated_at":"2025-06-29T20:04:12.000Z","dependencies_parsed_at":"2025-06-29T21:19:22.254Z","dependency_job_id":"5f4cef7d-4d0e-4031-b35e-179444789f71","html_url":"https://github.com/mwmdev/py-starter","commit_stats":null,"previous_names":["mwmdev/py-starter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mwmdev/py-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fpy-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fpy-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fpy-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fpy-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwmdev","download_url":"https://codeload.github.com/mwmdev/py-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwmdev%2Fpy-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263140229,"owners_count":23419840,"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":[],"created_at":"2025-07-02T12:30:57.950Z","updated_at":"2025-07-02T12:32:40.358Z","avatar_url":"https://github.com/mwmdev.png","language":"Python","readme":"# My Package\n\n[![PyPI version](https://badge.fury.io/py/my-package.svg)](https://badge.fury.io/py/my-package)\n[![Python versions](https://img.shields.io/pypi/pyversions/my-package.svg)](https://pypi.org/project/my-package/)\n[![License](https://img.shields.io/github/license/yourusername/my-package.svg)](https://github.com/yourusername/my-package/blob/main/LICENSE)\n[![Tests](https://github.com/yourusername/my-package/actions/workflows/tests.yml/badge.svg)](https://github.com/yourusername/my-package/actions/workflows/tests.yml)\n[![Coverage](https://codecov.io/gh/yourusername/my-package/branch/main/graph/badge.svg)](https://codecov.io/gh/yourusername/my-package)\n\nA professional Python package template ready for PyPI publication.\n\n## Features\n\n- Modern Python packaging with `pyproject.toml`\n- Comprehensive test suite with pytest\n- Code quality tools (ruff, mypy, pre-commit)\n- Type hints throughout\n- CLI interface\n- GitHub Actions for CI/CD\n- Ready for PyPI publication\n\n## Installation\n\n### From PyPI\n\n```bash\npip install my-package\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/yourusername/my-package.git\ncd my-package\npip install -e \".[dev]\"\n```\n\n## Usage\n\n### As a Library\n\n```python\nfrom my_package import hello_world\n\n# Basic usage\nmessage = hello_world()\nprint(message)  # Output: Hello, World!\n\n# Custom greeting\nmessage = hello_world(\"Alice\")\nprint(message)  # Output: Hello, Alice!\n```\n\n### Command Line Interface\n\n```bash\n# Default greeting\nmy-package\n\n# Custom greeting\nmy-package Alice\n\n# Show version\nmy-package --version\n```\n\n## Development\n\n### Setup Development Environment\n\nThis project uses Nix for reproducible development environments:\n\n```bash\n# With direnv (automatic)\ncd my-package\n# Environment activates automatically\n\n# Without direnv\nnix-shell\n```\n\n### Install Development Dependencies\n\n```bash\npip install -e \".[dev]\"\npre-commit install\n```\n\n### Running Tests\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov\n\n# Run specific test file\npytest tests/test_core.py\n```\n\n### Code Quality\n\n```bash\n# Format code\nruff format\n\n# Lint code\nruff check --fix\n\n# Type checking\nmypy src\n\n# Run all pre-commit hooks\npre-commit run --all-files\n```\n\n### Building and Publishing\n\n```bash\n# Build the package\npython -m build\n\n# Upload to TestPyPI\npython -m twine upload --repository testpypi dist/*\n\n# Upload to PyPI\npython -m twine upload dist/*\n```\n\n## Project Structure\n\n```\nmy-package/\n├── src/\n│   └── my_package/\n│       ├── __init__.py\n│       ├── core.py\n│       └── cli.py\n├── tests/\n│   ├── __init__.py\n│   ├── test_core.py\n│   └── test_cli.py\n├── docs/\n├── .github/\n│   └── workflows/\n│       └── tests.yml\n├── pyproject.toml\n├── README.md\n├── LICENSE\n├── CHANGELOG.md\n├── shell.nix\n└── .gitignore\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with modern Python packaging standards\n- Uses best practices for Python development\n- Ready for immediate use and customization\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwmdev%2Fpy-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwmdev%2Fpy-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwmdev%2Fpy-starter/lists"}