Metadata-Version: 2.5
Name: ptrain
Version: 0.1.0a1
Summary: A starter Python package for ptrain.
Author: BenchFlow
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# ptrain

A minimal Python package scaffold for `ptrain`, with no runtime dependencies.
It includes an importable package, a command-line entry point, and build metadata.
Training functionality is not implemented yet.

## Local development

Requires Python 3.10+ and [uv](https://docs.astral.sh/uv/).
Run these commands from this directory:

```sh
uv venv
uv pip install -e .
.venv/bin/ptrain --version
.venv/bin/python -m ptrain --help
```

```python
import ptrain

print(ptrain.__version__)
```

Add application code under `src/ptrain/` and commands in `src/ptrain/cli.py`.
The version is defined in `src/ptrain/__init__.py`; packaging metadata reads it
from that file. The initial version is `0.1.0a1` (pre-alpha).

## Build and validate

```sh
uv build
uvx twine check --strict dist/ptrain-0.1.0a1-py3-none-any.whl dist/ptrain-0.1.0a1.tar.gz
```

The wheel and source distribution are written to `dist/`.

## Publishing

Creating or building this template does not register or reserve the name on PyPI.
Before a public release, add the intended functionality and update the description,
author information, and license as appropriate. Add repository/documentation URLs
once those destinations exist. Use a new version for each release.

For token-based publishing, configure an authorized PyPI token locally using
`UV_PUBLISH_TOKEN`, without placing its value in source files, command arguments,
or chat. Then upload the checked artifacts:

```sh
uv publish dist/ptrain-0.1.0a1-py3-none-any.whl dist/ptrain-0.1.0a1.tar.gz
```

Update the artifact filenames after changing the version. For a first upload,
the credential must allow creating the new project. An absent project page does
not guarantee that PyPI will accept the name.

For CI publishing without long-lived tokens, configure a
[PyPI Trusted Publisher](https://docs.pypi.org/trusted-publishers/).

Packaging references:

- [Python Packaging User Guide](https://packaging.python.org/en/latest/tutorials/packaging-projects/)
- [uv building and publishing guide](https://docs.astral.sh/uv/guides/package/)
- [PyPI authentication and project-name guidance](https://pypi.org/help/)

## License

MIT; see [LICENSE](LICENSE).
