Dima Gerasimov
72cc8ff3ac
ruff: enable B warnings (mainly suppressed exceptions and unused variables)
2024-08-28 04:06:32 +01:00
Dima Gerasimov
b594377a59
ruff: enable RUF ruleset
2024-08-28 04:06:32 +01:00
Dima Gerasimov
664c40e3e8
ruff: enable FBT rules to detect boolean arguments use without kwargs
2024-08-28 04:06:32 +01:00
Dima Gerasimov
118c2d4484
ruff: enable UP ruleset for detecting python deprecations
2024-08-28 04:06:32 +01:00
Dima Gerasimov
d244c7cc4e
ruff: enable and fix C4 ruleset
2024-08-28 04:06:32 +01:00
Dima Gerasimov
c08ddbc781
general: small updates for typing while trying out pyright
2024-08-28 04:06:32 +01:00
Dima Gerasimov
a5643206a0
general: make time.tz.via_location user config lazy, move tests to my.tests package
...
also gets rid of the problematic reset_modules thingie
2024-08-26 04:00:58 +01:00
Dima Gerasimov
270080bd56
core.error: better defensive handling for my.core.source when parts of config are missing
2024-08-26 04:00:58 +01:00
Dima Gerasimov
2ff2dcfc00
tests: move test checkign for my_config handling to core/tests/test_config.py
...
allows to remove the hacky reset_modules thing from setup fixture
2024-08-25 20:49:56 +01:00
Dima Gerasimov
1215181af5
core: move stuff from tests/demo.py to my/core/tests/test_config.py
...
also clean all this up a bit
2024-08-25 20:49:56 +01:00
Dima Gerasimov
9f017fb29b
my.core.pandas: add more tests
2024-08-20 00:15:15 +01:00
karlicoss
5ec357915b
core.common: add test for classproperty
2024-08-17 13:05:56 +01:00
karlicoss
245ad22057
core.common: bring back asdict backwards compat -- was used in orger
2024-08-17 13:05:56 +01:00
Dima Gerasimov
7bfce72b7c
core: cleanup/sort imports according to ruff check --select I
2024-08-16 11:38:13 +01:00
Dima Gerasimov
7023088d13
core.common: deprecate outdated LazyLogger alias
2024-08-16 10:22:29 +01:00
Dima Gerasimov
614c929f95
core.common: move Json, datetime_aware, datetime_naive, is_namedtuple, asdict to my.core.types
2024-08-16 10:22:29 +01:00
Dima Gerasimov
2b0f92c883
my.core: deprecate Path/dataclass imports from my.core during type checking
...
runtime still works for backwards compatibility
2024-08-16 10:22:29 +01:00
Dima Gerasimov
7f8a502310
core.common: move assert_subpackage to my.core.internal
2024-08-16 10:22:29 +01:00
Dima Gerasimov
88f3c17c27
core.common: move mime-related stuff to my.core.mime
...
no backward compat, unlikely it was used by anyone else
2024-08-16 10:22:29 +01:00
Dima Gerasimov
c45c51af22
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
2024-08-16 10:22:29 +01:00
Dima Gerasimov
18529257e7
core.common: move DummyExecutor to core.common.utils.concurrent
...
without backwards compat, unlikely it's been used by anyone
2024-08-16 10:22:29 +01:00
Dima Gerasimov
bcc4c15304
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
2024-08-16 10:22:29 +01:00
Dima Gerasimov
06084a8787
my.core.common: move warn_if_empty to my.core.utils.itertools, cleanup and add more tests
2024-08-16 10:22:29 +01:00
Dima Gerasimov
770dba5506
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
2024-08-16 10:22:29 +01:00
Dima Gerasimov
66c08a6c80
core.common: move listify to core.utils.itertools, use better typing annotations for it
...
also some minor refactoring of my.rss
2024-08-16 10:22:29 +01:00
Dima Gerasimov
c64d7f5b67
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
2024-08-16 10:22:29 +01:00
Dima Gerasimov
973c4205df
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
2024-08-16 10:22:29 +01:00
Dima Gerasimov
a7439c7846
general: move assert_never to my.core.compat as it's in stdlib from 3.11
...
rely on typing-extensions for fallback
introducing typing-extensions dependency without fallback, should be ok since it's in the top 10 of popular packages
2024-08-16 10:22:29 +01:00
Dima Gerasimov
1317914bff
general: add 'destructive parsing' (kinda what we were doing in my.core.konsume) to my.experimental
...
also some cleanup for my.codeforces and my.topcoder
2024-08-12 13:24:28 +01:00
Dima Gerasimov
1e1e8d8494
my.topcoder: get rid of kjson in favor of using builtin dict methods
2024-08-12 13:24:28 +01:00
Dima Gerasimov
069264ce52
core.common: get rid of deprecated utcfromtimestamp
2024-08-10 17:46:30 +01:00
Dima Gerasimov
34593c032d
tests: move more tests into core, more consistent tests running in tox
2024-08-07 01:08:39 +01:00
Dima Gerasimov
074e24c309
general: deprecate my.core.dataset and simplify tox file
2024-08-07 01:08:39 +01:00
Dima Gerasimov
fb8e9909a4
tests: simplify tests for my.core.serialize a bit and simplify tox file
2024-08-07 01:08:39 +01:00
Dima Gerasimov
3aebc573e8
tests: use updated conftest from pymplate, this allows to run individual test modules properly
...
e.g. pytest --pyargs my.core.tests.test_get_files
2024-08-06 20:55:16 +01:00
Dima Gerasimov
b615ba10b1
ci: temporary suppress pandas mypy error in check_dateish
2024-08-05 23:35:24 +01:00
Dima Gerasimov
0e6dd32afe
ci: minor fixes after mypy update
2024-08-03 16:18:32 +01:00
karlicoss
51209c547e
my.twitter.android: refactor into a proper module
...
for now only extracting bookmarks, will use it for some time and see how it goes
2023-12-24 00:49:07 +00:00
Dima Gerasimov
a843407e40
core/compat: move fromisoformat to .core.compat module
2023-11-19 23:45:08 +00:00
karlicoss
657ce08ac8
fix mypy issues after mypy/libraries updates
2023-11-10 22:59:09 +00:00
karlicoss
71cb66df5f
core: add helper for more_iterable to check that all types involved are hashable
...
Otherwise unique_everseen performance may degrade to quadratic rather than linear
For now hidden behind HPI_CHECK_UNIQUE_EVERSEEN flag
also switch some modules to use it
2023-10-31 01:02:17 +00:00
Dima Gerasimov
6821fbc2fe
core/config: implement a warning if config is imported from the dir other than MY_CONFIG
...
this should help with identifying setup issues
2023-10-28 20:56:07 +01:00
Dima Gerasimov
d88a1b9933
my.hypothesis: explose data as iterators instead of lists
...
also add an adapter to support migrating in backwards compatible manner
2023-10-28 20:06:54 +01:00
Dima Gerasimov
4f7c9b4a71
core: move split compat/legacy modules into hpi_compat and compat
2023-10-28 20:06:54 +01:00
karlicoss
70bf51a125
core/stats: exclude contextmanagers from guess_stats
2023-10-28 00:08:32 +01:00
Dima Gerasimov
32aa87b3ec
dcotor: make compileall check a bit more defensive
2023-10-27 02:38:22 +01:00
karlicoss
a0910e798d
core.logging: ignore CollapseLogsHandler if we're not attached to a terminal
...
otherwise fails at os.get_terminal_size
2023-10-25 02:42:52 +01:00
Dima Gerasimov
1f61e853c9
reddit.rexport: experiment with using optional cpu pool (used by all of HPI)
...
Enabled by the env variable, specifying how many cores to dedicate, e.g.
HPI_CPU_POOL=4 hpi query ...
2023-10-25 02:06:45 +01:00
karlicoss
86ea605aec
core/stats: enable processing input files, report first and last filename
...
can be useful for quick investigation/testing setup
2023-10-22 00:47:36 +01:00
karlicoss
c335c0c9d8
core/stats: report datetime of first item in addition to last
...
quite useful for quickly determining time span of a data source
2023-10-22 00:47:36 +01:00