Maintenance
Source checkout
git clone https://github.com/dyuu7/dataioc.git
cd dataioc
Local checks
uv sync --frozen
uv run pytest --cov --cov-report=term-missing
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run mkdocs build --strict
uv build --no-sources
The test matrix covers Python 3.9 through 3.14 and NumPy 1.26 and 2.x.
Documentation rules
- Keep
README.mdshort and task-oriented. - Keep both READMEs aligned in structure and runnable examples; link each to its own documentation language.
- Keep prose paragraphs on one source line; preserve code fences, lists, tables, and API directive indentation.
- Keep English pages as the default navigation source.
- Put the Simplified Chinese translation in the matching
.zh.mdpage. - Build with
--strictso broken links and configuration warnings fail CI.
The documentation site is built and published from main by GitHub Actions.
README diagram
Edit the Mermaid source, then regenerate the PNG with Node.js and Mermaid CLI:
npx -y @mermaid-js/mermaid-cli@11.15.0 -i docs/assets/data-flow.mmd -o docs/assets/data-flow.png -b white -s 3
Both READMEs use the same image and provide descriptions in their own language. The absolute image URL supports GitHub and PyPI; publish the image together with the README changes.
Release
Update the version in pyproject.toml, refresh uv.lock, and push a vX.Y.Z tag. The release workflow builds the source distribution and wheel, creates or updates the GitHub Release, and publishes the same artifacts to PyPI through Trusted Publishing.