Literal Enum
Project description
indoc
Developer Guide
Setup
# create conda environment
$ mamba env create -f env.yml
# update conda environment
$ mamba env update -n indoc --file env.yml
Install
pip install -e .
# install from pypi
pip install indoc
nbdev
# activate conda environment
$ conda activate indoc
# make sure the indoc package is installed in development mode
$ pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to the indoc 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/indoc.git
or from conda
$ conda install -c dsm-72 indoc
or from pypi
$ pip install indoc
Documentation
Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
indoc decorator
define (base / mixin) class with a docstring we want to pass to a subclass
@dataclass
class Mix:
r'''
A Mixin class
Attributes
----------
a : str
a string
i : int, optional
an int
b : bool, optional
a bool
Methods
-------
is_b(self) -> bool
checks if b is True
'''
a: str
_: KW_ONLY
i: int = 0
b: bool = False
@property
def prop(self):
return self.a
@abstractmethod
def is_b(self) -> bool:
return self.b
A subclass we want to have Mix’s docstring
foodoc = '''
A Foo class
Attributes
----------
q : bool
Methods
-------
is_q(self) -> bool
checks if q is True
'''
@indoc
@dataclass
class Foo(Mix):
__doc__ = foodoc
q: bool
def is_q(self) -> bool:
return self.q
Project details
Release history Release notifications | RSS feed
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 indoc-0.0.4.tar.gz.
File metadata
- Download URL: indoc-0.0.4.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0500b466d1b78339142bb1d0b92d7a4cda6be0809ecd56940a612c619f8db05
|
|
| MD5 |
314aba520212b836cc0d322128d43be2
|
|
| BLAKE2b-256 |
f1886a3158d416bfb3592f2f54b7770710e11276b85c00fd30b1bcd256d4c7c1
|
File details
Details for the file indoc-0.0.4-py3-none-any.whl.
File metadata
- Download URL: indoc-0.0.4-py3-none-any.whl
- Upload date:
- Size: 14.5 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 |
2d47938cdf2ec66bb599c53e373be3ec7124067cf2d72636e830c1db29a25a76
|
|
| MD5 |
1c7c7ae28d14ec87a2d3ca3047b5f3a0
|
|
| BLAKE2b-256 |
0545f103dea4965c96391f5c872440fbae9601f772f1cbb4a923061efb176871
|