Add additional config files and templates from old dotfiles
This commit is contained in:
parent
85342ba955
commit
2899218336
188
config/i3/config
Normal file
188
config/i3/config
Normal file
|
@ -0,0 +1,188 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
# font pango:monospace 12
|
||||||
|
font pango:FiraCode 12
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# bind i3lock to win+l for familiarity
|
||||||
|
bindsym Mod4+l exec i3lock -eft -c 282c34
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
tray_output primary
|
||||||
|
status_command i3status
|
||||||
|
}
|
||||||
|
|
||||||
|
hide_edge_borders smart
|
2174
config/kitty/kitty.conf
Normal file
2174
config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load diff
40
config/kitty/kitty_onedark_.conf
Normal file
40
config/kitty/kitty_onedark_.conf
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# onedark colors for Kitty
|
||||||
|
|
||||||
|
background #282c34
|
||||||
|
foreground #abb2bf
|
||||||
|
selection_background #393f4a
|
||||||
|
selection_foreground #abb2bf
|
||||||
|
url_color #98c379
|
||||||
|
cursor #abb2bf
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
active_tab_background #282c34
|
||||||
|
active_tab_foreground #abb2bf
|
||||||
|
inactive_tab_background #242b38
|
||||||
|
inactive_tab_foreground #5c6370
|
||||||
|
#tab_bar_background #20232A
|
||||||
|
|
||||||
|
# normal
|
||||||
|
color0 #20232A
|
||||||
|
color1 #e86671
|
||||||
|
color2 #98c379
|
||||||
|
color3 #e0af68
|
||||||
|
color4 #61afef
|
||||||
|
color5 #c678dd
|
||||||
|
color6 #56b6c2
|
||||||
|
color7 #798294
|
||||||
|
|
||||||
|
# bright
|
||||||
|
color8 #5c6370
|
||||||
|
color9 #e86671
|
||||||
|
color10 #98c379
|
||||||
|
color11 #e0af68
|
||||||
|
color12 #61afef
|
||||||
|
color13 #c678dd
|
||||||
|
color14 #56b6c2
|
||||||
|
color15 #abb2bf
|
||||||
|
|
||||||
|
# extended colors
|
||||||
|
color16 #d19a66
|
||||||
|
color17 #f65866
|
||||||
|
|
42
config/kitty/onehalf-dark.conf
Normal file
42
config/kitty/onehalf-dark.conf
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# Onehalf Colorscheme for Kitty
|
||||||
|
# Based on https://github.com/sonph/onehalf
|
||||||
|
# By https://github.com/dbinary
|
||||||
|
|
||||||
|
foreground #dcdfe4
|
||||||
|
background #282c34
|
||||||
|
selection_foreground #000000
|
||||||
|
selection_background #FFFACD
|
||||||
|
url_color #0087BD
|
||||||
|
|
||||||
|
# black
|
||||||
|
# color0 #282c34
|
||||||
|
color0 #5d677a
|
||||||
|
color8 #5d677a
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #e06c75
|
||||||
|
color9 #e06c75
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #98c379
|
||||||
|
color10 #98c379
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #e5c07b
|
||||||
|
color11 #e5c07b
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #61afef
|
||||||
|
color12 #61afef
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c678dd
|
||||||
|
color13 #c678dd
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #56b6c2
|
||||||
|
color14 #56b6c2
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #dcdfe4
|
||||||
|
color15 #dcdfe4
|
7
config/lazygit/config.yml
Normal file
7
config/lazygit/config.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
gui:
|
||||||
|
showFileTree: false
|
||||||
|
showCommandLog: false
|
||||||
|
showIcons: true
|
||||||
|
promptToReturnFromSubprocess: false
|
||||||
|
# to exit immediately if run outside of the Git repository
|
||||||
|
notARepository: 'quit'
|
|
@ -10,14 +10,11 @@ mv nvim.appimage "$HOME/bin/nvim"
|
||||||
|
|
||||||
## Installing configuration
|
## Installing configuration
|
||||||
```bash
|
```bash
|
||||||
git clone git@github.com:elitherl/vim-config.git ${XDG_CONFIG_HOME:-$HOME/.config}/nvim
|
ln -s /path/to/config/nvim ${XDG_CONFIG_HOME:-$HOME/.config}/nvim
|
||||||
# or using symlink
|
|
||||||
git clone git@github.com:elitherl/vim-config.git /path/to/directory
|
|
||||||
ln -s /path/to/directory ${XDG_CONFIG_HOME:-$HOME/.config}/nvim
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install script
|
### Install script
|
||||||
`install.sh` currently handles installing `Packer`, `pynvim`, `pipx` and currently configured language servers with formatters.
|
`install.sh` currently handles installing `Packer` and `pynvim`.
|
||||||
Will also update existing installs if already present.
|
Will also update existing installs if already present.
|
||||||
|
|
||||||
### Installing `Packer` plugin manager
|
### Installing `Packer` plugin manager
|
||||||
|
|
14
install.sh
Executable file
14
install.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#! /usr/bin/env sh
|
||||||
|
# Install various dotfiles into their proper places
|
||||||
|
|
||||||
|
# .config files
|
||||||
|
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
mkdir -p "$CONFIG_DIR"
|
||||||
|
|
||||||
|
for FILE in config/*; do
|
||||||
|
FILENAME="$(basename $FILE)"
|
||||||
|
if [ ! -e "$CONFIG_DIR/$FILENAME" ]; then
|
||||||
|
ls -s $(readlink -f "$FILE") "$CONFIG_DIR/$FILENAME"
|
||||||
|
fi
|
||||||
|
echo "$(readlink -f $FILE) -> $CONFIG_DIR/$FILENAME"
|
||||||
|
done
|
30
templates/crontab
Normal file
30
templates/crontab
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Edit this file to introduce tasks to be run by cron.
|
||||||
|
#
|
||||||
|
# Each task to run has to be defined through a single line
|
||||||
|
# indicating with different fields when the task will be run
|
||||||
|
# and what command to run for the task
|
||||||
|
#
|
||||||
|
# To define the time you can provide concrete values for
|
||||||
|
# minute (m), hour (h), day of month (dom), month (mon),
|
||||||
|
# and day of week (dow) or use '*' in these fields (for 'any').
|
||||||
|
#
|
||||||
|
# Notice that tasks will be started based on the cron's system
|
||||||
|
# daemon's notion of time and timezones.
|
||||||
|
#
|
||||||
|
# Output of the crontab jobs (including errors) is sent through
|
||||||
|
# email to the user the crontab file belongs to (unless redirected).
|
||||||
|
#
|
||||||
|
# For example, you can run a backup of all your user accounts
|
||||||
|
# at 5 a.m every week with:
|
||||||
|
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
|
||||||
|
#
|
||||||
|
# For more information see the manual pages of crontab(5) and cron(8)
|
||||||
|
#
|
||||||
|
# Example of job definition:
|
||||||
|
# .---------------- minute (0 - 59)
|
||||||
|
# | .------------- hour (0 - 23)
|
||||||
|
# | | .---------- day of month (1 - 31)
|
||||||
|
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
|
||||||
|
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|
||||||
|
# | | | | |
|
||||||
|
# * * * * * user-name command to be executed
|
48
templates/python_package/__init__.py~
Normal file
48
templates/python_package/__init__.py~
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
from typing import Union
|
||||||
|
import logging
|
||||||
|
|
||||||
|
LOGGING_FORMATTER = logging.Formatter("%(name)s - %(levelname)s - %(message)s")
|
||||||
|
|
||||||
|
|
||||||
|
def add_root_logger_handler(
|
||||||
|
logger: logging.Logger,
|
||||||
|
formatter: logging.Formatter = LOGGING_FORMATTER,
|
||||||
|
) -> None:
|
||||||
|
"""
|
||||||
|
Recursively climb logger parent tree to add handler with given formatter to
|
||||||
|
top level logger.
|
||||||
|
Will raise UserWarning if it reaches RootLogger to prevent session modification
|
||||||
|
|
||||||
|
:param logger: Logger object to find top level parent from
|
||||||
|
:param formatter: Formatter object to describe logging statements
|
||||||
|
"""
|
||||||
|
if isinstance(logger.parent, logging.RootLogger):
|
||||||
|
if len(logger.handlers) == 0:
|
||||||
|
handler = logging.StreamHandler()
|
||||||
|
handler.setFormatter(formatter)
|
||||||
|
logger.addHandler(handler)
|
||||||
|
elif isinstance(logger, logging.RootLogger) or logger.parent is None:
|
||||||
|
raise UserWarning(
|
||||||
|
"Failure in add_root_logger_handler, "
|
||||||
|
"protecting root logger from modification"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
add_root_logger_handler(logger=logger.parent, formatter=formatter)
|
||||||
|
|
||||||
|
class AbstractLoggingClass:
|
||||||
|
"""
|
||||||
|
Base class to ensure logging is setup
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, loglevel: Union[int, str] = logging.WARNING) -> None:
|
||||||
|
"""
|
||||||
|
Set up logging and fetch class level logger for use by subclasses
|
||||||
|
|
||||||
|
:param loglevel: Verbosity of logging statements
|
||||||
|
"""
|
||||||
|
module_logger = logging.getLogger(self.__class__.__module__)
|
||||||
|
add_root_logger_handler(module_logger)
|
||||||
|
self.logger = module_logger.getChild(self.__class__.__name__)
|
||||||
|
if loglevel is not None:
|
||||||
|
self.logger.setLevel(loglevel)
|
||||||
|
|
3
templates/python_package/gitignore
Normal file
3
templates/python_package/gitignore
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
__pycache__
|
||||||
|
*.*~
|
||||||
|
*.egg-info
|
27
templates/python_package/pre-commit-config.yaml
Normal file
27
templates/python_package/pre-commit-config.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# See https://pre-commit.com for more information
|
||||||
|
# See https://pre-commit.com/hooks.html for more hooks
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: stable
|
||||||
|
hooks:
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: check-yaml
|
||||||
|
- id: check-toml
|
||||||
|
- id: check-added-large-files
|
||||||
|
- repo: https://github.com/sqlalchemyorg/zimports/
|
||||||
|
rev: stable
|
||||||
|
hooks:
|
||||||
|
- id: zimports
|
||||||
|
name: "Reorganise Import Statements"
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: stable
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
name: "Reformat Code Using black"
|
||||||
|
- repo: https://gitlab.com/pycqa/flake8
|
||||||
|
rev: stable
|
||||||
|
hooks:
|
||||||
|
- id: flake8
|
||||||
|
name: "Check Code Style Using flake8"
|
||||||
|
|
41
templates/python_package/pyproject.toml
Normal file
41
templates/python_package/pyproject.toml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
[build-system]
|
||||||
|
requires = ["setuptools >= 42", "wheel"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "my_package"
|
||||||
|
version = "1.0"
|
||||||
|
authors = [
|
||||||
|
{name = "Evie Litherland-Smith", email = "evie.litherland-smith@ukaea.uk"}
|
||||||
|
]
|
||||||
|
requires-python = ">=3.7.1"
|
||||||
|
dependencies = [
|
||||||
|
"some_package"
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
dev = [
|
||||||
|
"pre-commit",
|
||||||
|
"flake8",
|
||||||
|
"black",
|
||||||
|
"zimports",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
script_name = "my_package.foo:bar"
|
||||||
|
|
||||||
|
[tool.setuptools.packages.find]
|
||||||
|
where = ["src"] # list of folders that contain the packages (["."] by default)
|
||||||
|
include = ["my_package*"] # package names should match these glob patterns (["*"] by default)
|
||||||
|
exclude = ["tests*"] # exclude packages matching these glob patterns (empty by default)
|
||||||
|
namespaces = true # to disable scanning PEP 420 namespaces (true by default)
|
||||||
|
|
||||||
|
[tool.black]
|
||||||
|
line-length = 88
|
||||||
|
exclude = '''
|
||||||
|
/(
|
||||||
|
\.git
|
||||||
|
| \.mypy_cache
|
||||||
|
| venv
|
||||||
|
)/
|
||||||
|
'''
|
5
templates/python_package/pyrightconfig.json
Normal file
5
templates/python_package/pyrightconfig.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"venvPath": "/path/to/venv/directory/",
|
||||||
|
"venv": "venv",
|
||||||
|
"reportMissingTypeStubs": true
|
||||||
|
}
|
11
templates/python_package/setup.cfg
Normal file
11
templates/python_package/setup.cfg
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[flake8]
|
||||||
|
max-line-length = 88
|
||||||
|
import-order-style = pep8
|
||||||
|
exclude = .git/*,__pycache__/*
|
||||||
|
|
||||||
|
[pycodestyle]
|
||||||
|
max-line-length = 88
|
||||||
|
exclude = .git/*,__pycache__/*
|
||||||
|
|
||||||
|
[mypy-numpy.*]
|
||||||
|
ignore_missing_imports = True
|
9
templates/python_package/setup.py
Normal file
9
templates/python_package/setup.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
"""
|
||||||
|
Basic setup.py to maintain backwards compatability with non-PEP517/PEP518
|
||||||
|
compliant projects
|
||||||
|
"""
|
||||||
|
import setuptools
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
setuptools.setup()
|
26
templates/python_package/src/__init__.py
Normal file
26
templates/python_package/src/__init__.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
from typing import Union
|
||||||
|
import logging
|
||||||
|
|
||||||
|
if (
|
||||||
|
logging.getLogger(__package__).parent.name == "root"
|
||||||
|
and len(logging.getLogger(__package__).handlers) == 0
|
||||||
|
):
|
||||||
|
formatter = logging.Formatter("%(name)s - %(levelname)s - %(message)s")
|
||||||
|
handler = logging.StreamHandler()
|
||||||
|
handler.setFormatter(formatter)
|
||||||
|
logging.getLogger(__package__).addHandler(handler)
|
||||||
|
|
||||||
|
|
||||||
|
def set_loglevel(loglevel: Union[str, int]) -> None:
|
||||||
|
"""
|
||||||
|
Set global loglevel for pyutils modules
|
||||||
|
|
||||||
|
:param loglevel: logging valid loglevel name or integer
|
||||||
|
:type loglevel: Union[str, int]
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
logging.getLogger(__package__).setLevel(
|
||||||
|
loglevel.upper() if isinstance(loglevel, str) else loglevel
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
logging.getLogger(__package__).warning("Setting loglevel failed: {}".format(e))
|
Loading…
Reference in a new issue