HPI

Human Programming Interface 🧑👽🤖

MIT License

Downloads
1.3K
Stars
1.5K
Committers
11

Bot releases are hidden (Show)

HPI - rolling release Latest Release

Published by karlicoss about 2 months ago

What's Changed

Mostly big cleanup & deprecations for core.common module https://github.com/karlicoss/HPI/pull/380 https://github.com/karlicoss/HPI/pull/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: https://github.com/karlicoss/HPI/compare/v0.4.20240810...v0.5.20240824

HPI - rolling release

Published by karlicoss 2 months ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.4.20240506...v0.4.20240810

HPI - rolling release

Published by karlicoss 4 months ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.4.20231102...v0.4.20240506

HPI - v0.4.20231102, fix release script

Published by karlicoss 12 months ago

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

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.4.20231101...v0.4.20231102

HPI - v0.4.20231101

Published by karlicoss 12 months ago

Big update, even though things should be backwards compatible, it's recommended to install the package again if you use editable git checkout (pip3 install --user -e /path/to/hpi_repo)

Also worth installing optional dependencies (pip3 install --user -e /path/to/hpi_repo[optional])

What's Changed

Core:

modules:

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.3.20230327...v0.4.20231101

HPI - release

Published by karlicoss over 1 year ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.3.20230221...v0.3.20230327

HPI - release

Published by karlicoss over 1 year ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.3.20230209...v0.3.20230221

HPI - new release

Published by karlicoss over 1 year ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.3.20230207...v0.3.20230209

HPI - v0.3.20230207

Published by karlicoss over 1 year ago

What's Changed

Full Changelog: https://github.com/karlicoss/HPI/compare/v0.3.20220607...v0.3.20230207

HPI - hotfix so 'hpi module install' doesn't break for legacy modules

Published by karlicoss over 2 years ago

HPI - rolling release

Published by karlicoss over 2 years ago

mainly so hpi install --parallel is available

HPI - rolling release

Published by karlicoss over 2 years ago

mostly fixes for Windows and Python 3.10

HPI - rolling release

Published by karlicoss over 2 years ago

new google takeout module!

HPI - rolling release

Published by karlicoss over 2 years ago

HPI - rolling release

Published by karlicoss over 2 years ago

HPI - rolling release

Published by karlicoss almost 3 years ago

HPI - new release (see changelog for full changes)

Published by karlicoss over 3 years ago

v0.3.20210220

General/my.core changes:

  • a3305677b24694391a247fc4cb6cc1237e57f840 deprecate my.cfg, instead my.config can (and should be) used directly

  • 0534c5c57dc420f9a01387b58a7098823e54277e new cli feature: module management

    cli: add hpi module install and hpi module requires

    relevant: https://github.com/karlicoss/HPI/issues/12, https://github.com/karlicoss/HPI/issues/79

  • 97650adf3b48c653651b31c78cefe24ecae5ed4f add discovery_pure module to get modules and their dependencies via ast module

  • f90599d7e4463e936c8d95196ff767c730207202 make module discovery rely on =ast= module
    Hopefully it will make it more robust & much faster.

  • 07f901e1e5fb2bd3009561c84cc4efd311c94733 helpers for automatic dataframes from sequences of NamedTuple/dataclass

  • 4012f9b7c2a429170df8600591ec8d1e1407b162 more generic functions to jsonify data

  • 746c3da0cadcba3b179688783186d8a0bd0999c5 core.pandas: allow specifying schema; add tests

  • 5313984d8fea2b6eef6726b7b346c1f4316acd01 add tmp_config context manager for test & adhoc patching

  • df9a7f7390aee6c69f1abf1c8d1fc7659ebb957c core.pandas: add check for 'error' column + add empty one by default

  • e81dddddf083ffd81aa7e2b715bd34f59949479c proprely resolve class properties in make_config + add test

Modules:

  • some innitial work on filling InfluxDB with HPI data

  • pinboard

  • stackexchange

    • 63c825ab81bb561e912655e423c6b332fb6fd1b4 use GDPR data for votes
    • ddea816a49f5da79fd6332e7f6b879b1955838af use proper pip package, add stat
  • bluemaestro

    • 6d9bc2964b24cfe6187945f4634940673dfe9c27 populate grafana
    • 1899b006de349140303110ca98a21d918d9eb049 investigation of data quality + more sanity checks
    • d77ab92d8634d0863d2b966cb448bbfcc8a8d565 get rid of unnecessary file, move to top level
  • runnerup

    • 6b451336ed5df2b893c9e6387175edba50b0719b Initial parser for RunnerUp data which I'm now using instead of Endomondo

Misc:

  • f102101b3917e8a38511faa5e4fd9dd33d284d7e core/windows: fix get_files and its tests

  • 56d5587c209dcbd27c7802d60c0bc8e8e2391672 CI: clean up tox config a bit, get rid of custom lint script

  • d562f00dca720fd4f6736377a41168e9a796c122

    tests: run all tests, but exclude tests specific to my computer from CI
    controllable via HPI_TESTS_KARLICOSS=true

  • improved mypy coverage

HPI - rolling release

Published by karlicoss almost 4 years ago

General:

  • documentation improvements, my.config in the package now serves both as documentation & tests helper
  • my.kython: deprecated, moved to my.core
  • my.core.error: error handling enhancements
  • stat now supports pandas.DataFrame
  • minor enhancements to hpi doctor

Module changes:

Misc: more tests & mypy running on CI

See commit changelog for more details.

Special thanks to @seanbreckenridge for discussions!

HPI - minor release

Published by karlicoss about 4 years ago

core:

cli: hpi doctor enhancements

modules:

  • big update for instapaper, reddit, ghexport, hypothesis, rescuetime, pocket.
    DEPRECATED: the old way of specifying dependecies either as

    • config parameters (e.g. hypexport = "/path/to/hypexport_on_disk")
    • symlinks in the config (e.g. my/config/repos/hypexport)

    These dependencies are proper PIP packages now, see https://github.com/karlicoss/HPI/issues/79 for the discussion about the change
    This is backwards compatible, but please reinstall them properly as soon as you can (see the updated instructions in the corresponding repos, e.g. https://github.com/karlicoss/instapexport#setting-up)

  • provide fake data providers for some modules

  • better mypy coverage for some modules

  • for other minor updates, see the commit messages

HPI - minor release

Published by karlicoss about 4 years ago

  • core helper to open databases as read-only/immutable (useful for Docker mounts)
  • some cachew experiments, including cachew base directory (still work in progress)
  • more stat functions and improvements for stats
  • initial work on using proper virtualenv for DAL helpers (using emfit to start with)

modules affected:

  • reddit
  • pdfs
  • bluemaestro
  • emfit
  • twint
  • rescuetime