Skip to content

Releases: karlicoss/HPI

v0.6.20250816

16 Aug 22:12
Compare
Choose a tag to compare

What's Changed

  • core: change get_files handling for sort argument + clean up tests by @karlicoss in #452
  • general: use full dependency specifiers (i.e. "package-name @ git+htps://..." in REQUIRES) by @karlicoss in #448
  • core: deprecate my.core.assert_never and my.core.LazyLogger by @karlicoss in #441
  • core: autodetect uv in hpi module install by @karlicoss in #445
  • core: improve uv detection in hpi module install by @karlicoss in #447
  • core/error: fix types in extract_error_datetime, allow returning date by @karlicoss in #450

Modules:

  • my.twitter.android: fix own user id guessing by @karlicoss in #442
  • my.bluemaestro: big speedups for data processing, switch to ZoneInfo by @karlicoss in #454

Chores/CI improvements

  • ty: type check core with ty by @karlicoss in #444
  • minor cleanup for tox.init and pytest.ini by @karlicoss in #440
  • chore: bring CI configs up to date, set up coverage by @karlicoss in #443
  • chore: update ty version/suppress errors and remove useless suppressions by @karlicoss in #446
  • chore: improve type annotations for better ty support by @karlicoss in #449
  • ty: add tox section for ty-all and cleanup type checking sections by @karlicoss in #451
  • various modules: minor cleanup/formatting by @karlicoss in #453

Full Changelog: v0.6.20250623...v0.6.20250816

v0.6.20250623: hotfix for broken pypi wheel

23 Jun 01:07
Compare
Choose a tag to compare

What's Changed

  • fix hatch build by explicitly specifying directories to include and excluding my/ symlink by @karlicoss in #439
  • general: sort out F401 (unused variable) warnings in ruff everywhere by @karlicoss in #438

Full Changelog: v0.6.20250622...v0.6.20250623

v0.6.20250622: rolling release

22 Jun 18:59
Compare
Choose a tag to compare

What's Changed

General

Some notable upgrades -- shouldn't break anything for existing users, but worth highlighting:

  • general: switch from flat layout to src layout by @karlicoss in #414
    If something isn't working (even though I made sure everything is compatible), best to reinstall your HPI
  • core.common: use kompress directly instead of attempting to import previously vendorised version by @karlicoss in #422
  • kompress: get rid of vendorised version by @karlicoss in #417
    If something isn't working, make sure to run pip install kompress
  • core: migrate from deprecated appdirs to platformdirs by @karlicoss in #418
    If something isn't working, run pip install platformdirs

Other minor changes:

  • ci: bring pytest config/pyproject/tox up to date/switch to hatch for building package by @karlicoss in #437
  • ci: switch to pyproject.toml and update other CI files by @karlicoss in #416
  • general: use Exception.add_note instead of hacky my.core.error.echain by @karlicoss in #421
  • my.core.experimental: some fixes from import_original_module by @karlicoss in #433
  • general: remove unnecessary init.py in tests/ subpackages by @karlicoss in #434

Core

  • core: add my.core.json.json_loads, use orjson if available, otherwise fall back to stdlib json by @karlicoss in #425
  • core: migrate code to benefit from 3.9 stuff by @karlicoss in #401
  • general: migrate modules to use 3.9 features by @karlicoss in #402
  • minor updates: remove assert_subpackage and clean up some ruff by @karlicoss in #420

Modules

  • my.whatsapp.android: adapt to new db format by @karlicoss in #403
  • fix typo in rexport DAL by @srajangarg in #405
  • smscalls: add phone number to model by @purarue in #410
  • smscalls: allow large XML files as input by @purarue in #411
  • core.sqlite: add helper SqliteTool to get table schemas by @karlicoss in #412
  • twitter.android: fix get_own_user_id for latest exports by @karlicoss in #413
  • instagram.gdpr: some cleanup and properly extract thread_v2_id by @karlicoss in #423
  • instagram.android: improve thread id extraction and add more comments by @karlicoss in #424
  • my.lastfm: some cleanup by @karlicoss in #426
  • new module: podcastaddict android app by @karlicoss in #429
  • fbmessenger.android: fix missing senders, fallback on empty name by @karlicoss in #430
  • my.bluemaestro: support new bmLogger app by @karlicoss in #431
  • my.bumble.android: some cleanup + switch to Protocol-based config by @karlicoss in #432
  • twitter.android: handle empty databases by @karlicoss in #435

Misc

New Contributors

Full Changelog: v0.5.20241019...v0.6.20250622

v0.5.20241019: switch min version to 3.9

19 Oct 18:17
Compare
Choose a tag to compare

What's Changed

  • general: python3.9 reached EOL, switch min version by @karlicoss in #400

Full Changelog: v0.5.20240924...v0.5.20241019

hotfix for my.core.time

23 Sep 21:05
Compare
Choose a tag to compare

What's Changed

  • core.time: hotfix for default force_abbreviations attribute by @karlicoss in #399

Full Changelog: v0.5.20240923...v0.5.20240924

rolling release

23 Sep 20:09
Compare
Choose a tag to compare

What's Changed

core

  • my.core: fix list constructor in always_support_sequence and add some tests by @karlicoss in #395
  • my.core.structure: add support for .tar.gz archives by @karlicoss in #390

modules

  • my.google.takeout.parser: speedup event merging on newer google_takeout_parser versions by @karlicoss in #389
  • my.github.gdpr/my.zulip.organization: use kompress support for tar.gz if it's available by @karlicoss in #392
  • my.fbmessenger.android: exclude unsent messages to avoid duplication by @karlicoss in #393
  • migrate bluemaestro and pdfs configs to use Protocol and @Property by @karlicoss in #384
  • migrate some modules to 'lazy config' pattern and clean up tests by @karlicoss in #386
  • small fixes for my.twitter.android, dedupicate tweets in my.twitter.archive by @karlicoss in #394
  • my.youtube.takeout: deduplicate watched videos and sort out a few minor errors by @karlicoss in #397

misc

  • update ruff config, enable/suppress some checks by @karlicoss in #387
  • ci: update mypy config and make ruff config more consistent with other projects by @karlicoss in #388
  • tox: some prep for potentially using uv on CI instead of pip by @karlicoss in #396
  • tox: try using uv for CI, should result in speedup by @karlicoss in #398

Full Changelog: v0.5.20240824...v0.5.20240923

rolling release

24 Aug 11:28
Compare
Choose a tag to compare

What's Changed

Mostly big cleanup & deprecations for core.common module #380 #382

New core dependency: typing-extensions

Lots of cleanup/deprecations in core. This mostly shouldn't break any runtime code, but mypy might complain -- so best to migrate the imports appropriately

  • core.common: deprecate outdated LazyLogger alias

  • core.common: move Json, datetime_aware, datetime_naive, is_namedtuple, asdict to my.core.types

  • my.core: deprecate Path/dataclass imports from my.core during type checking

    runtime still works for backwards compatibility

  • core.common: move assert_subpackage to my.core.internal

  • core.common: move mime-related stuff to my.core.mime

    no backward compat, unlikely it was used by anyone else

  • core.common: move stats-related stuff to my.core.stats and add more thorough tests/docs

    deprecate core.common.stat and core.common.Stats with backwards compatibility

  • core: cleanup my.core.common.unique_everseen

    • move to my.core.utils.itertools
    • more robust check for hashable types -- now checks in runtime (since the one based on types purely isn't necessarily sound)
    • add more testing
  • my.core.common: move warn_if_empty to my.core.utils.itertools, cleanup and add more tests

  • core.common: move away import related stuff to my.core.utils.imports

    moving without backward compatibility, since it's extremely unlikely they are used for any external modules

    in fact, unclear if these methods still have much value at all, but keeping for now just in case

  • core.common: move listify to core.utils.itertools, use better typing annotations for it

    also some minor refactoring of my.rss

  • core: cleanup itertool style helpers

    • deprecate group_by_key, should use itertool.bucket instead
    • move make_dict and ensure_unique to my.core.utils.itertools
  • core: cleanup deprecations, exclude from type checking and show runtime warnings

    among affected things:

    • core.common.assert_never
    • core.common.cproperty
    • core.common.isoparse
    • core.common.mcachew
    • core.common.the
    • core.common.tzdatetime
    • core.compat.sqlite_backup
  • core: cleanup deprecations, exclude from type checking and show runtime warnings

    among affected things:

    • core.common.assert_never
    • core.common.cproperty
    • core.common.isoparse
    • core.common.mcachew
    • core.common.the
    • core.common.tzdatetime
    • core.compat.sqlite_backup

Full Changelog: v0.4.20240810...v0.5.20240824

rolling release

10 Aug 16:47
Compare
Choose a tag to compare

What's Changed

  • fix for new instagram gdpr format by @karlicoss in #371
  • fix legacy google takeout by @karlicoss in #372
  • fbmessenger.android: fix minor issue with processing thread participants by @karlicoss in #373
  • fix my.twitter.android by @karlicoss in #374
  • tests: use updated conftest from pymplate, this allows to run individual test modules properly by @karlicoss in #375
  • improve testing consistency, simplify tox by @karlicoss in #376
  • replace deprecated utcnow and utcfromtimestamp by @karlicoss in #378

Full Changelog: v0.4.20240506...v0.4.20240810

rolling release

05 Jun 21:49
35dd5d8
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.4.20231102...v0.4.20240506

v0.4.20231102, fix release script

01 Nov 01:58
Compare
Choose a tag to compare

not ideal that the date in the version is the future date.. but oh well

What's Changed

Full Changelog: v0.4.20231101...v0.4.20231102