Skip to content

Releases: gruncellka/porto-data

v0.3.1

12 Mar 08:02
4ede39e

Choose a tag to compare

  • Package metadata for PyPI/npm was expanded for better registry indexing and discoverability:
    • PyPI: explicit license file mapping, MIT classifier, project URLs, and changelog URL in pyproject.toml.
    • npm: added author, homepage, bugs, and included CHANGELOG.md in published files.
  • bump2version auto-tagging is disabled (tag = False) to avoid creating tags from release branches; tags are now intended to be created manually on main.
  • MIT LICENSE text was normalized to canonical ASCII quotes for tool/scanner compatibility.

v0.3.0

06 Mar 21:43

Choose a tag to compare

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

01 Mar 16:27
0c31750

Choose a tag to compare

Added

  • npm: index.js (main entry) and index.d.ts (TypeScript types) so the package has a valid entry point and typed exports; fixes registry EntryPointError.
  • PyPI: porto_data package now exposes metadata, __version__, and get_package_root(); added py.typed (PEP 561) for type checkers.
  • Pre-publish test: tests/test_publish.sh packs the npm tarball and builds the PyPI wheel, installs both and verifies imports; run via make test-publish or in the publish workflow.

Changed

  • Publish workflow: Validate job now sets up Node.js and runs tests/test_publish.sh before build; publish is rejected if the test fails.
  • npm: .npmignore documents exclusions; package contents remain controlled by package.json files (no Python in the npm package).

Full Changelog: v0.2.0...v0.2.1

v0.2.0

28 Feb 20:54

Choose a tag to compare

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_TOKEN secret; Node 22 and --provenance in CI.
  • Re-publish: Manual workflow run lets you choose target both, npm, or pypi (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

21 Dec 14:07

Choose a tag to compare

Initial release.

  • Unified porto CLI command (replaces standalone Python scripts)
  • New CLI subcommands:
    • porto validate - Validate JSON schemas and data links
    • porto validate --type schema - Validate JSON against schemas
    • porto validate --type links - Validate data_links.json consistency
    • porto validate --type links --analyze - Detailed links analysis
    • porto 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 architecture
  • scripts/data_files.py - Centralized data file management
  • Type-safe validation results with ValidationResults TypedDict
  • 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 ...
  • Refactored validation logic into organized modules:
    • scripts/validators/schema.py - JSON schema validation
    • scripts/validators/links.py - Data links validation
    • scripts/validators/base.py - Type definitions
  • Removed sys.path hacks in favor of proper package imports (full IDE support)
  • Pre-commit hooks now format test files (tests/) and metadata.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/ and cli/ 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.json now automatically formatted on commit