Compare commits
2 Commits
lib-standa
...
0.0.3
| Author | SHA1 | Date | |
|---|---|---|---|
| a91cb67487 | |||
| 650d3a19e8 |
26
.drone.yml
26
.drone.yml
@@ -1,21 +1,3 @@
|
||||
# Drone standard — Type A: PyPI package
|
||||
#
|
||||
# Canonical pipeline for internal Python libraries that ship a wheel/sdist to
|
||||
# the private index (dagpipe, doc-forge, hexa, mail-intake, mongo-ops,
|
||||
# omniread, openapi-first, py-jwt).
|
||||
#
|
||||
# Two pipelines ship together:
|
||||
# build-and-publish-pypi — tag-triggered build + quality gate + publish.
|
||||
# backfill-pypi-from-tags — custom-triggered replay of every git tag that is
|
||||
# missing from the index (disaster recovery).
|
||||
#
|
||||
# Secrets (Drone): PIP_REPO_URL, PIP_USERNAME, PIP_PASSWORD.
|
||||
# Copy to <repo>/.drone.yml unchanged; the package name and version are read
|
||||
# from pyproject.toml, so no per-repo edits are required.
|
||||
#
|
||||
# Version guard: the tag build fails unless the git tag equals the version in
|
||||
# pyproject.toml (see the versioning standard). This stops a tag from looking
|
||||
# like a release while silently publishing nothing.
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
@@ -67,8 +49,12 @@ steps:
|
||||
commands:
|
||||
- pip install --upgrade pip build
|
||||
- |
|
||||
AUTH_URL="https://${PIP_USERNAME}:${PIP_PASSWORD}@$(echo "${PIP_REPO_URL#*://}" | sed 's:/*$::')/simple"
|
||||
pip install --index-url "$AUTH_URL" --extra-index-url https://pypi.org/simple/ -U ".[dev]" "pydoclint>=0.9.1"
|
||||
if [ -z "$PIP_REPO_URL" ] || [ -z "$PIP_USERNAME" ] || [ -z "$PIP_PASSWORD" ]; then
|
||||
echo "PIP_REPO_URL / PIP_USERNAME / PIP_PASSWORD are not set" >&2
|
||||
exit 1
|
||||
fi
|
||||
- AUTH_URL="https://$PIP_USERNAME:$PIP_PASSWORD@$(echo "$PIP_REPO_URL" | sed -E 's|^[a-zA-Z]+://||; s|/*$||')/simple"
|
||||
- pip install --index-url "$AUTH_URL" --extra-index-url https://pypi.org/simple/ -U ".[dev]" "pydoclint>=0.9.1"
|
||||
- echo "Running quality gate..."
|
||||
- python -m black --check .
|
||||
- python -m ruff check .
|
||||
|
||||
19
CHANGELOG.md
19
CHANGELOG.md
@@ -7,15 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.0.3] - 2026-10-17
|
||||
|
||||
### Added
|
||||
- `py.typed` marker for PEP 561 type information.
|
||||
- `.drone.yml` CI with a quality-gate step (black, ruff, mypy, pytest).
|
||||
- Canonical `docforge.nav.yml`, generated `mkdocs.yml` and `mcp_docs/` via doc-forge.
|
||||
- Type stubs for the `csv` and `xlsx` subpackages.
|
||||
- Hand-written wiki, plus doc-forge-generated API reference under `docs/lib`
|
||||
and MCP bundle under `docs/mcp` (per-kind MkDocs configs).
|
||||
- MIT `LICENSE`.
|
||||
|
||||
### Changed
|
||||
- Standardized `pyproject.toml` (canonical packaging, lint tool config, extras).
|
||||
- Adopted the standard Type A PyPI CI pipeline: a `tag == version` guard and a
|
||||
quality gate (black, ruff, mypy, pydoclint, pytest).
|
||||
- Standardized `pyproject.toml` (canonical packaging, lint tool config, extras)
|
||||
with a shared Google-style `[tool.pydoclint]` configuration.
|
||||
- Docstring types modernised (`List` -> `list`, `Optional` -> `X | None`) to
|
||||
match signatures.
|
||||
|
||||
### Fixed
|
||||
- `XLSX`/`CSV` members added to the `content` type surface.
|
||||
- Stub fixes for typed API surfaces.
|
||||
- Stub fixes for typed API surfaces.
|
||||
|
||||
[Unreleased]: https://git.aetoskia.com/aetos/omniread/compare/0.0.3...HEAD
|
||||
[0.0.3]: https://git.aetoskia.com/aetos/omniread/compare/0.0.2...0.0.3
|
||||
|
||||
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "omniread"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
description = "Composable content ingestion framework with pluggable scrapers and parsers for HTML, PDF, and structured data"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
@@ -171,6 +171,14 @@ module = [
|
||||
ignore_missing_imports = true
|
||||
|
||||
|
||||
[tool.pydoclint]
|
||||
style = "google"
|
||||
exclude = '\.pyi$|tests/'
|
||||
allow-init-docstring = true
|
||||
skip-checking-raises = true
|
||||
check-class-attributes = false
|
||||
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ["omniread"]
|
||||
omit = [
|
||||
|
||||
Reference in New Issue
Block a user