Literal Enum
Project description
kwix
Developer Guide
Setup
# create conda environment
$ mamba env create -f env.yml
# update conda environment
$ mamba env update -n kwix --file env.yml
Install
pip install -e .
# install from pypi
pip install kwix
nbdev
# activate conda environment
$ conda activate kwix
# make sure the kwix package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to the kwix package
$ nbdev_prepare
Publishing
# publish to pypi
$ nbdev_pypi
# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'
Usage
Installation
Install latest from the GitHub repository:
$ pip install git+https://github.com/dsm-72/kwix.git
or from conda
$ conda install -c dsm-72 kwix
or from pypi
$ pip install kwix
Documentation
Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
Toy Inheritance
@dataclass
class Foo(KWix):
_: KW_ONLY
a: int = 1
b: int = 2
c: int = 3
@dataclass
class Qux(KWix):
_: KW_ONLY
q: str = -2
u: str = -1
x: int = 0
@dataclass
class Bar(Foo):
_: KW_ONLY
x: int = 7
y: int = 8
z: int = 9
@dataclass
class Baz(Bar, Qux):
_: KW_ONLY
a: int = 6
b: int = 7
q: int = 0
@dataclass
class Auz(Bar):
_: KW_ONLY
Seaborn
Since Seaborn Clustermap passes all extra keyword-arguments to Heatmap
using KWix can make it
easy to know what these parameters are and easy to pass them accordingly
@dataclass
class SeabornHeatmap(KWix):
_: KW_ONLY
# heatmap parameters
vmin: Optional[float] = None
vmax: Optional[float] = None
cmap: Optional[str] = 'inferno'
center: Optional[float] = None
robust: bool = True
annot: Optional[bool] = None
fmt: Optional[str] = '.2g'
annot_kws: Optional[dict] = None
linewidths: Optional[float] = 0
linecolor: Optional[str] = 'white'
cbar: bool = True
cbar_kws: Optional[dict] = None
cbar_ax: Optional['Axes'] = None
square: bool = False
xticklabels: Union[bool, list, str, bool] = 'auto'
yticklabels: Union[bool, list, str, bool] = 'auto'
mask: Optional[Union['NPArray', 'DataFrame']] = None
ax: Optional['Axes'] = None
@dataclass
class SeabornClustermap(SeabornHeatmap, KWix):
_: KW_ONLY
# clustermap parameters
pivot_kws: Optional[dict] = None
method: 'LinkageMethod' = 'SINGLE'
metric: 'PDistMetric' = 'CORRELATION'
z_score: Optional[int] = 0
standard_scale: Optional[int] = None
figsize: Tuple[int, int] = (10, 10)
cbar_kws: Optional[dict] = None
row_cluster: bool = True
col_cluster: bool = True
row_linkage: Optional[dict] = None
col_linkage: Optional[dict] = None
row_colors: Optional[dict] = None
col_colors: Optional[dict] = None
mask: Optional[dict] = None
dendrogram_ratio: float = 0.2
colors_ratio: float = 0.03
cbar_pos: 'CBarPos' = (0.02, 0.8, 0.05, 0.18)
tree_kws: Optional[dict] = None
clstmap = SeabornClustermap()
clstmap.curvals()
{'cbar_kws': None,
'cbar_pos': (0.02, 0.8, 0.05, 0.18),
'col_cluster': True,
'col_colors': None,
'col_linkage': None,
'colors_ratio': 0.03,
'dendrogram_ratio': 0.2,
'figsize': (10, 10),
'mask': None,
'method': 'SINGLE',
'metric': 'CORRELATION',
'pivot_kws': None,
'row_cluster': True,
'row_colors': None,
'row_linkage': None,
'standard_scale': None,
'tree_kws': None,
'z_score': 0}
clstmap.inhvals()
{'annot': None,
'annot_kws': None,
'ax': None,
'cbar': True,
'cbar_ax': None,
'center': None,
'cmap': 'inferno',
'fmt': '.2g',
'linecolor': 'white',
'linewidths': 0,
'robust': True,
'square': False,
'vmax': None,
'vmin': None,
'xticklabels': 'auto',
'yticklabels': 'auto'}
clstmap.allvals()
{'annot': None,
'annot_kws': None,
'ax': None,
'cbar': True,
'cbar_ax': None,
'cbar_kws': None,
'cbar_pos': (0.02, 0.8, 0.05, 0.18),
'center': None,
'cmap': 'inferno',
'col_cluster': True,
'col_colors': None,
'col_linkage': None,
'colors_ratio': 0.03,
'dendrogram_ratio': 0.2,
'figsize': (10, 10),
'fmt': '.2g',
'linecolor': 'white',
'linewidths': 0,
'mask': None,
'method': 'SINGLE',
'metric': 'CORRELATION',
'pivot_kws': None,
'robust': True,
'row_cluster': True,
'row_colors': None,
'row_linkage': None,
'square': False,
'standard_scale': None,
'tree_kws': None,
'vmax': None,
'vmin': None,
'xticklabels': 'auto',
'yticklabels': 'auto',
'z_score': 0}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kwix-0.0.5.tar.gz.
File metadata
- Download URL: kwix-0.0.5.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4ca439e2f7bc7d8ce18e0a9bb8eb546a976ec583ff018a62cf56a93e275d16f
|
|
| MD5 |
fd94e20b581d29ef4ab13cd22c9ba861
|
|
| BLAKE2b-256 |
34ebe06da86431667e1c0bfb5736234aaf51e505f8e8c901d8c55fce92487a11
|
File details
Details for the file kwix-0.0.5-py3-none-any.whl.
File metadata
- Download URL: kwix-0.0.5-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c034066dbd28651d8323dc35e8fd280b610e7adb4689a0e8607ecc7a2dd5d924
|
|
| MD5 |
54b8898255662e99e704d1ae0040738d
|
|
| BLAKE2b-256 |
2a2fc191b7fea0a6203576a3c78e8c9c5c41c44976e4a94d656ea131ce743e02
|