Sean Breckenridge
349ab78fca
core/cli: switch to using click library #155
...
everything is backwards-compatible with the previous
interface, the only minor changes were to the doctor cmd
which can now accept more than one item to run,
and the --skip-config-check to skip the config_ok
check if the user specifies to
added a test using click.testing.CliRunner (tests
the CLI in an isolated environment), though
additional tests which aren't testing the CLI
itself (parsing arguments or decorator behaviour)
can just call the functions themselves, as they
no longer accept a argparser.Namespace and instead
accept the direct arguments
2021-04-04 10:06:59 +01:00
Dima Gerasimov
ad177a1ccd
my.pdfs: cleanup/refactor
...
- modernize:
- add REQUIRES spec for pdfannots library
- config dataclass/config stub
- stats function
- absolute my.core imports in anticipation of splitting core
- use 'paths' instead of 'roots' (better reflects the semantics), use get_files
backward compatible via config migration
- properly run tests/mypy
2021-04-01 17:27:06 +01:00
Dima Gerasimov
e7604c188e
my.pdfs: reorganize tests a bit, fix mypy
2021-04-01 17:27:06 +01:00
Sean Breckenridge
3118891c03
my.core.query: initial implementation ( #143 )
...
in particular `my.core.query.select`: a function to query, order, sort and filter items from one or more sources
2021-03-28 07:52:50 +01:00
Dima Gerasimov
29384aef44
my.goodreads: cleanup, rename from my.reading.goodrads & use proper pip dependency
...
related:
- https://github.com/karlicoss/HPI/issues/79
- 10d8cc86a1
2021-03-26 05:06:53 +00:00
Sean Breckenridge
1cdef6f40a
fix mypy errors
...
this fixes two distinct mypy errors
one where NamedTuple/dataclassees can't be
defined locally
https://github.com/python/mypy/issues/7281
which happens when you run mypy like
mypy -p my.core on warm cache
the second error is the core/types.py file shadowing the
stdlib types module
2021-03-22 06:34:07 +00:00
Sean Breckenridge
eb26cf8633
my.core.serialize: orjson with additional default and _serialize hook ( #140 )
...
basic orjson serialize, json.dumps fallback
Lots of surrounding changes from this discussion:
0593c69056
2021-03-20 00:48:03 +00:00
Dima Gerasimov
ec8b0e9170
my.coding.commits: actually test on CI, add config stub
2021-03-15 10:33:46 +00:00
Dima Gerasimov
8d6f691824
core: feature: guess module stats from typing annotations
2021-03-15 10:27:18 +00:00
Dima Gerasimov
1fd2a9f643
core/time: more flexible support for resolving TZ abbreviation -> TZ ambiguities
...
addresses https://github.com/karlicoss/HPI/issues/103
for now via experimental time.tz.force_abbreviations config variable
not sure if this whole things is doomed to be resolved properly
2021-03-08 00:40:19 +00:00
Dima Gerasimov
ca4d58e4e7
core: add helper to 'freeze' dataclasses, in order to derive a schema from the properties
2021-02-25 19:56:35 +00:00
Dima Gerasimov
271cd7feef
core/cachew: use cache_dir in mcachew if it wasn't specified by the user
2021-02-21 19:51:58 +00:00
Dima Gerasimov
9afe1811a5
core/cachew: special handling for None in order to preserve cache_dir() path
...
+ add 'suffix' argument for more straighforward logic
2021-02-21 19:51:58 +00:00
Dima Gerasimov
da3c1c9b74
core/cachew: rely on ~/.cache for default cache path
...
- rely on appdirs for default cache path instead of hardcoded /var/tmp/cachew
technically backwards incompatible, but no action needed
you might want to clean /var/tmp/cachew after updating
- use default cache path (e.g. ~/.cache) by default
see https://github.com/ActiveState/appdirs#some-example-output for more info
*warning*: things will be cached by default now (used to be uncached before)
- treat cache_dir = None in the config
*warning*: kind of backwards incompatible.. but again nothing disasterous
2021-02-21 19:51:58 +00:00
Dima Gerasimov
a3305677b2
core: deprecate my.cfg, instead my.config can (and should be) used directly
2021-02-19 02:39:25 +00:00
Dima Gerasimov
ddbb2e5f23
CI: better cleanup for modules in between tests
2021-02-19 02:39:25 +00:00
Dima Gerasimov
94ace823e0
tests: cleanup location/tz tests
2021-02-19 02:39:25 +00:00
Dima Gerasimov
82e2f96192
core: add test for tmp_config; unset new attributes
2021-02-19 02:39:25 +00:00
Dima Gerasimov
5313984d8f
core: add tmp_config helper for test & adhoc patching
...
bluemaestro: cleanup tests
2021-02-19 02:39:25 +00:00
Dima Gerasimov
97650adf3b
core: add discovery_pure module to get modules and their dependencies via ast module
2021-02-18 02:04:40 +00:00
Dima Gerasimov
f102101b39
core/windows: fix get_files and its tests
2021-02-16 06:40:42 +00:00
Dima Gerasimov
1899b006de
bluemaestro: investigation of data quality + more sanity checks
2021-02-15 00:15:44 +00:00
Dima Gerasimov
746c3da0ca
core.pandas: allow specifying schema; add tests
2021-02-15 00:15:44 +00:00
Dima Gerasimov
d77ab92d86
bluemaesto: get rid of unnecessary file, move to top level
2021-02-15 00:15:44 +00:00
Dima Gerasimov
d562f00dca
tests: run all tests, but exclude tests specific to my computer from CI
...
controllable via HPI_TESTS_KARLICOSS=true
2021-02-14 17:47:18 +00:00
Dima Gerasimov
6239879245
core: add more tests for stat/datetime guessing
2021-02-14 16:20:38 +00:00
Dima Gerasimov
e81dddddf0
core: proprely resolve class properties in make_config + add test
2020-12-13 18:29:49 +01:00
Dima Gerasimov
a6e5908e6d
get rid of porg dependency, use orgparse directly
2020-11-06 23:02:35 +01:00
Dima Gerasimov
1849a66f08
general: get rid of example_config & use demo/stub my.config instead
2020-11-01 02:02:43 +01:00
Dima Gerasimov
3a9e3e080f
my.time.tz: implement different policies for localizing
2020-11-01 01:51:10 +01:00
Dima Gerasimov
15789a4149
kyhton.kompress: move to core (with a fallback, used in promnesia)
2020-10-29 03:13:18 +01:00
Dima Gerasimov
e8e4994c02
google.takeout.paths: return Optional if there are no takeouts
2020-10-12 21:48:04 +02:00
Dima Gerasimov
4666378f7e
my.location.home: simplify config format, make it a bit more robust + tests
2020-10-12 09:05:11 +02:00
Dima Gerasimov
1ded99c61c
my.notes.orgmode: move to my.orgmode
2020-10-11 18:44:37 +02:00
Dima Gerasimov
649537deca
my.notes.orgmode: make a bit more iterative
2020-10-11 18:44:37 +02:00
Dima Gerasimov
96113ad5ae
my.calendar.holidays: unhardcode calendar, detect it from the location data
2020-10-09 23:22:00 +02:00
Dima Gerasimov
bdb5dcd221
my.calendar.holidays: cleanup + ci/stats + split off private data handling to https://github.com/karlicoss/hpi-personal-overlay
2020-10-09 23:22:00 +02:00
Dima Gerasimov
dfea664f57
add my.location.home, use it as location/timezone fallback
2020-10-09 22:09:19 +02:00
Dima Gerasimov
1f2e595be9
Initial my.time.tz provider, infer from location with daily resolution
2020-10-09 22:09:19 +02:00
Dima Gerasimov
ba9acc3445
my.location: let takeout provider be in a separate my.location.google; add CI test & enable mypy
2020-10-08 21:31:26 +02:00
Dima Gerasimov
90ada92110
bluemaestro: include humidity, pressure and dewpoint data
2020-10-08 21:22:02 +02:00
Dima Gerasimov
ced93e6942
reflect cachew changes of exception handling and temporary suppression
2020-10-08 21:22:02 +02:00
Dima Gerasimov
5babbb44d0
my.bluemaestro: workaround weird timestamps by keeping track of the latest timestamp
2020-10-04 01:40:52 +02:00
Dima Gerasimov
8e8d9702f3
my.bluemaestro: investigation of weird timestamps
2020-10-04 01:40:52 +02:00
Dima Gerasimov
6242307d7a
my.bluemaestro: run against testdata, add on CI
2020-10-04 01:40:52 +02:00
Sean Breckenridge
160582b6cf
parse sms messages from xml files
2020-10-02 19:11:48 +02:00
Dima Gerasimov
4b49add746
core: more consistent module detection logic
2020-09-30 21:54:09 +02:00
Dima Gerasimov
c79ffb50f6
core: add tests for core_config
2020-09-30 21:54:09 +02:00
Dima Gerasimov
63b848087d
my.jawbone: minor cleanup & refactoring, proper error propagation
2020-09-17 21:39:14 +01:00
Dima Gerasimov
99e50f0afe
core: experiments with attaching datetime information to errors
...
my.body.weigth: put datetime information in the error rows
2020-09-09 21:37:15 +01:00