Releases: gruncellka/porto-data
Releases · gruncellka/porto-data
v0.3.1
- Package metadata for PyPI/npm was expanded for better registry indexing and discoverability:
- PyPI: explicit
licensefile mapping, MIT classifier, project URLs, and changelog URL inpyproject.toml. - npm: added
author,homepage,bugs, and includedCHANGELOG.mdin publishedfiles.
- PyPI: explicit
bump2versionauto-tagging is disabled (tag = False) to avoid creating tags from release branches; tags are now intended to be created manually onmain.- MIT
LICENSEtext was normalized to canonical ASCII quotes for tool/scanner compatibility.
v0.3.0
What's Changed
- BREAKING: Python baseline is now 3.13+ (
requires-python >=3.13). - Tooling: Ruff/MyPy targets are aligned to Python 3.13.
- npm runtime: minimum Node.js is now >=20 via
engines.node. - TypeScript: development/build baseline is now pinned to 5.9.x (
~5.9.3). - Pre-commit: Ruff hook updated to a modern version that supports
py313.
- test: add tests to raise coverage to 90% by @tsybalab in #12
- chorу: python313 ts59 node20 baseline by @tsybalab in #13
Full Changelog: v0.2.1...v0.3.0
v0.2.1
Added
- npm:
index.js(main entry) andindex.d.ts(TypeScript types) so the package has a valid entry point and typed exports; fixes registry EntryPointError. - PyPI:
porto_datapackage now exposesmetadata,__version__, andget_package_root(); addedpy.typed(PEP 561) for type checkers. - Pre-publish test:
tests/test_publish.shpacks the npm tarball and builds the PyPI wheel, installs both and verifies imports; run viamake test-publishor in the publish workflow.
Changed
- Publish workflow: Validate job now sets up Node.js and runs
tests/test_publish.shbefore build; publish is rejected if the test fails. - npm:
.npmignoredocuments exclusions; package contents remain controlled bypackage.jsonfiles(no Python in the npm package).
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's Changed
[0.2.0] - 2026-02-28
Changed
- What we publish: Both npm and PyPI packages now ship only data (JSON + schemas). No CLI or tools in the published packages; use the repo for validation.
- npm: Publish uses Trusted Publishing (OIDC). No
NPM_TOKENsecret; Node 22 and--provenancein CI. - Re-publish: Manual workflow run lets you choose target
both,npm, orpypi(e.g. re-publish only PyPI after a failure). - Versioning: bump2version creates tag
v{new_version}so the release workflow runs on tag push.
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial release.
- Unified
portoCLI command (replaces standalone Python scripts) - New CLI subcommands:
porto validate- Validate JSON schemas and data linksporto validate --type schema- Validate JSON against schemasporto validate --type links- Validate data_links.json consistencyporto validate --type links --analyze- Detailed links analysisporto metadata- Generate metadata.json with checksums
- Comprehensive test suite (107 tests, 87% coverage)
- Codecov integration for coverage tracking
- Test coverage reporting in CI/CD pipeline
scripts/validators/package with modular validation architecturescripts/data_files.py- Centralized data file management- Type-safe validation results with
ValidationResultsTypedDict - Shared validation helpers in
scripts/validators/helpers.py
Changed
- BREAKING: All imports now use proper
scripts.*package paths- Old:
from validators.links import ... - New:
from scripts.validators.links import ...
- Old:
- Refactored validation logic into organized modules:
scripts/validators/schema.py- JSON schema validationscripts/validators/links.py- Data links validationscripts/validators/base.py- Type definitions
- Removed
sys.pathhacks in favor of proper package imports (full IDE support) - Pre-commit hooks now format test files (
tests/) andmetadata.json - Improved error messages and validation output
- CLI version now reads from package metadata (single source of truth)
Technical
- Modular validation architecture with clear separation of concerns
- All imports resolvable by IDEs (syntax highlighting works)
- Removed E402 lint exceptions (no longer needed)
- Updated type checking to include both
scripts/andcli/directories - Centralized path constants in
scripts/data_files.py - Fail-fast validation of required entities at import time
- Improved test fixtures and utilities in
tests/conftest.py
Fixed
- IDE syntax highlighting for all imports
- Type checking errors with proper package imports
- Pre-commit hooks now catch formatting issues in test files
metadata.jsonnow automatically formatted on commit