summaryrefslogtreecommitdiffstats
path: root/.config/pythonrc.py
diff options
context:
space:
mode:
authorPavel Egorov <[email protected]>2026-03-17 19:08:57 +0300
committerPavel Egorov <[email protected]>2026-03-17 19:08:57 +0300
commit85bc9012a01f910a8c431d5aa698847a180e208c (patch)
treefae54fd7b8bf88b0aeac4c6f44a91f7ef86d2f34 /.config/pythonrc.py
parentb63f9dc3b0358a367c8aa0ee08e825bf661b4fc1 (diff)
downloaddotfiles-85bc9012a01f910a8c431d5aa698847a180e208c.tar.gz
dotfiles-85bc9012a01f910a8c431d5aa698847a180e208c.zip
[python] add pythonrc
Diffstat (limited to '.config/pythonrc.py')
-rw-r--r--.config/pythonrc.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/.config/pythonrc.py b/.config/pythonrc.py
new file mode 100644
index 0000000..febde4e
--- /dev/null
+++ b/.config/pythonrc.py
@@ -0,0 +1,40 @@
1_auto_imports = [
2 {"name": "sys", "module": "sys"},
3 {"name": "os", "module": "os"},
4 {"name": "Path", "module": "pathlib", "object": "Path"},
5 {"name": "dt", "module": "datetime"},
6 {"name": "collections", "module": "collections"},
7 {"name": "pprint", "module": "pprint", "object": "pprint"},
8 {"name": "it", "module": "itertools"},
9 {"name": "tempfile", "module": "tempfile"},
10 {"name": "subprocess", "module": "subprocess"},
11 {"name": "json", "module": "json"},
12]
13
14def _autoimport():
15 import importlib
16
17 print('Auto importing libs:')
18
19 for target in sorted(_auto_imports, key=lambda x: x["name"].lower()):
20 try:
21 module = importlib.import_module(target["module"])
22 except Exception:
23 continue
24
25 obj = getattr(module, target["object"]) if target.get("object") else module
26 globals()[target["name"]] = obj
27
28 if target.get("object"):
29 what = f'{target["object"]} from {target["module"]}'
30 else:
31 what = f'{target["module"]}'
32
33 if target["module"] == target["name"]:
34 named = ''
35 else:
36 named = f' as {target["name"]}'
37
38 print(f'\t{what}{named}')
39
40_autoimport()