Sean Breckenridge
4a04c09f31
docs: fix copy-paste errors/spelling mistakes
2021-07-10 10:56:23 +01:00
Sean Breckenridge
46198a6447
my.core.serialize: simplejson support, more types ( #176 )
...
* my.core.serialize: simplejson support, more types
I added a couple extra checks to the default function,
serializing datetime, dates and dataclasses (incase
orjson isn't installed)
(copied from below)
if orjson couldn't be imported, try simplejson
This is included for compatibility reasons because orjson
is rust-based and compiling on rarer architectures may not work
out of the box
as an example, I've been having issues getting it to install
on my phone (termux/android)
unlike the builtin JSON modue which serializes NamedTuples as lists
(even if you provide a default function), simplejson correctly
serializes namedtuples to dictionaries
this just gives another option to people, simplejson is pure python
so no one should have issues with that. orjson is still way faster,
so still preferable if its easy and theres a precompiled build
for your architecture (which there typically is)
If you're ever running this with simplejson installed and not orjson,
its pretty easy to tell as the JSON styling is different; orjson has
no spaces between tokens, simplejson puts spaces between tokens. e.g.
simplejson: {"a": 5, "b": 10}
orjson: {"a":5,"b":10}
2021-07-08 23:02:56 +01:00
Sean Breckenridge
821bc08a23
core/structure: help locate/extract gdpr exports ( #175 )
...
* core/structure: help locate/extract gdpr exports
* ci: add install-types to install stub packages
2021-07-08 00:44:55 +01:00
Sean Breckenridge
b64a11cc69
smscalls: allow multiple backup dirs ( #172 )
...
* smscalls: allow multiple backup dirs
* add smscalls to my.config, add test to CI
2021-05-14 01:35:36 +01:00
Dima Gerasimov
f09ca17560
core/sqlite: move tests to separate module, pickling during Pool.submit can't handle importing :(
2021-04-05 08:37:07 +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
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
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
a1a24ffbc3
my.coding.commits: more cleanup
...
Followup of https://github.com/karlicoss/HPI/pull/132
- add REQUIRES section
- use 'commits' config section & add proper schema
- use dedicated subdirectory for cache
2021-03-15 10:33:46 +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
86497f9b13
new: basic arbtt module
2021-02-25 19:56:35 +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
ad1cc71b0f
readme: update
2021-02-20 01:39:55 +00:00
Dima Gerasimov
42399f6250
pinboard: *breaking backwards compability*, use pinbexport module directy
...
Use 'hpi module install my.pinboard' to install it
relevant: https://github.com/karlicoss/HPI/issues/79
2021-02-18 20:46:03 +00:00
Dima Gerasimov
0534c5c57d
cli: add 'hpi module install' and 'hpi module requires'
...
ci: use hpi module install; remove explicit module links
relevant:
- https://github.com/karlicoss/HPI/issues/12
- https://github.com/karlicoss/HPI/issues/79
2021-02-18 02:04:40 +00:00
Dima Gerasimov
56d5587c20
CI: clean up tox config a bit, get rid of custom lint script
2021-02-18 02:04:40 +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
dda628e866
CI: fix extras_require after dependency resolver update
...
https://github.com/pypa/pip/issues/8940
2020-12-11 07:02:16 +01:00
Dima Gerasimov
ddea816a49
my.stackexchange: use proper pip package, add stat
...
+ 'anonymous' mode for stat() function
2020-12-11 07:02:16 +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
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
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
6242307d7a
my.bluemaestro: run against testdata, add on CI
2020-10-04 01:40:52 +02:00
Dima Gerasimov
e63c159b80
my.body.exercise: add more annotations & ci check
2020-10-03 18:24:08 +02:00
Dima Gerasimov
d8841d0d7a
my.endomondo: add fake data generator, test mypy
2020-10-02 00:37:08 +02:00
Dima Gerasimov
1c20eb27aa
CI: add mypy checks for my.reddit, my.pocket and my.github.ghexport
2020-09-30 23:33:06 +02:00
Dima Gerasimov
c79ffb50f6
core: add tests for core_config
2020-09-30 21:54:09 +02:00
Dima Gerasimov
f939daac99
ci: upload mypy coverage artifacts
2020-09-29 20:43:34 +02:00
Dima Gerasimov
dc642b5a6d
my.instapaper: add stat; add mypy checks on CI
2020-09-29 20:43:34 +02:00
Dima Gerasimov
24fb983399
ci: add mypy for my.hypothesis
2020-09-29 19:44:45 +02:00
Dima Gerasimov
deefa9fbbc
Use hypexport package in demo.py, clean up tox
2020-09-29 19:44:45 +02:00
Dima Gerasimov
7bd7cc9228
cli: integrate with stats reported by the modules
2020-05-25 11:46:30 +01:00
Dima Gerasimov
647b6087dd
add main HPI executable
2020-05-14 23:01:50 +01:00
Dima Gerasimov
0ac78143f2
add my.demo for testing out various approaches to configuring
2020-05-10 21:32:48 +01:00
Dima Gerasimov
9d5d368891
get rid of unnecessary .init imports
2020-05-06 22:05:16 +01:00
Dima Gerasimov
6d1fba2171
Extra test for MY_CONFIG variable; fix order import for stub/dynamic config
2020-05-05 22:22:32 +01:00
Dima Gerasimov
4cceccd787
add test for dynamic config attributes (import my.cfg as config)
2020-05-04 22:08:58 +01:00
Dima Gerasimov
fe763c3c04
Fix my.config handling during mypy
2020-05-04 19:52:18 +01:00
Dima Gerasimov
1f07e1a2a8
enable mypy on CI for core stuff
2020-05-04 19:52:18 +01:00
Dima Gerasimov
55ac85c7e7
cpath tests, rely more on it
2020-05-04 08:53:41 +01:00
Dima Gerasimov
7fe6520575
Switch to github CI
2020-04-18 15:21:23 +01:00
Dima Gerasimov
e5b3a1e91e
use my.config instead of mycfg; minor cleanups and docstrings
2020-04-12 00:22:10 +01:00
Dima Gerasimov
4641e5dd19
adjust tox config; temporary suppress pylint
2020-04-11 22:25:54 +01:00
Dima Gerasimov
fe0521b6dc
install mycfg stub along with the package
2020-02-05 20:45:44 +00:00
Dima Gerasimov
6787c9c0d6
various CI updates
2020-01-24 10:43:46 +00:00
Dima Gerasimov
3ee2deecae
Use tox
2019-12-19 20:14:26 +00:00