Metadata-Version: 2.4
Name: pyrepo-init
Version: 0.2.0
Summary: A reusable Python repository starter with packaging, tests, linting, and docs ready for PyPI.
Author-email: Xianpeng Shen <xianpeng.shen@gmail.com>
License-Expression: MIT
Project-URL: Documentation, https://shenxianpeng.github.io/pyrepo-init/
Project-URL: Source, https://github.com/shenxianpeng/pyrepo-init
Project-URL: Tracker, https://github.com/shenxianpeng/pyrepo-init/issues
Keywords: python,repository,template,packaging,pypi,nox,pytest
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: nox; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs-ng; extra == "docs"
Requires-Dist: mkdocs-ng-material; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Dynamic: license-file

# pyrepo-init

`pyrepo-init` is a reusable Python repository starter with packaging, tests,
linting, documentation, and PyPI publishing configuration already wired in.

Use it as a starting point for small Python packages that should be installable
with `pip`, testable with `pytest`, and releasable through GitHub Actions.

## Installation

```bash
pip install pyrepo-init
```

## Usage

```python
from pyrepo_init.main import get_message

print(get_message())
```

Or via command line:

```bash
pyrepo-init
python -m pyrepo_init
```

## Development

```bash
python -m pip install --upgrade pip nox
nox -s test
nox -s lint
nox -s docs
```

## Release to PyPI

Before publishing, verify that the package builds cleanly:

```bash
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
```

This repository includes `.github/workflows/publish-pypi.yml`:

- Manual `workflow_dispatch` publishes to TestPyPI.
- Publishing a GitHub release publishes to PyPI.

Configure trusted publishing for `shenxianpeng/pyrepo-init` on PyPI and
TestPyPI before releasing.

## License

MIT
