Skip to main content

I-Ching objects construction using Python type hints.

Project description

I-Ching Python

pypi codecov license

汉语文档由此

Foreword by Carl Gustav Jung

Description

I-Ching objects construction using Python type hints.

Pattern-based implementation without hard-coded mappings. Define how philosophical concepts in pure Python.

Features

  1. Generating hexagrams using multiple methods (yarrow stalks, three coins, datetime),
  2. Arithmetic operations on Heavenly Stems and Earthly Branches (干支)
  3. Multi-language support (Chinese and English)
  4. Interpreting meanings of hexagrams (TODO)
  5. Performing divination based on the I-Ching (TODO)

Installation

pip install ichingpy

A Simple Example

import ichingpy as icp
icp.set_language("en")
```python 
hexagram = icp.Hexagram.from_yarrow_stalks()
-- --
-- --
-- --
----- 
-- -- X -> -----
----- O -> -- --

Arithmetic operations on Heavenly Stems and Earthly Branches (干支)

>>> icp.HeavenlyStem.Jia + 1
<HeavenlyStem.Yi: 2>

>>> gui = icp.HeavenlyStem.Gui
>>> jia = icp.HeavenlyStem.Jia
>>> jia + gui 
<HeavenlyStem.Jia: 1>
>>> jia = icp.HeavenlyStem.Jia 
>>> zi = icp.EarthlyBranch.Zi
>>> jia_zi = icp.SexagenaryCycle(jia, zi)
>>> jia_zi
Jia Zi
>>> jia_zi+1
Yi Chou
>>> jia_zi+60
Jia Zi

Assign Stem and Branch to a hexagram (装卦、纳甲)

>>> gou = icp.Hexagram.from_binary([2, 1, 1, 1, 1, 1]) 
>>> gou
-----
-----
-----
-----
-----
-- --
>>> assigner = icp.SixLinesDivinationEngine()
>>> assigner.execute(gou) 
>>> gou
Ren  (9) Xu   (11) EARTH -----
Ren  (9) Shen (9 ) METAL -----
Ren  (9) Wu   (7 ) FIRE  -----
Xin  (8) You  (10) METAL -----
Xin  (8) Hai  (12) WATER -----
Xin  (8) Chou (2 ) EARTH -- --

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

ichingpy-0.1.8.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ichingpy-0.1.8-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file ichingpy-0.1.8.tar.gz.

File metadata

  • Download URL: ichingpy-0.1.8.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for ichingpy-0.1.8.tar.gz
Algorithm Hash digest
SHA256 396b94dd81f2bfc41736c172e9c1933f41c7797afb42b7bd7916db4c152cfc23
MD5 6409cbba0609be522f0c9f5a6a6fcc7d
BLAKE2b-256 c241a3cfe0489167b83751c3e0b1551b5aa76575d48b7758864245ab4bebef7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ichingpy-0.1.8.tar.gz:

Publisher: python-publish.yml on JinyangWang27/ichingpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ichingpy-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: ichingpy-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for ichingpy-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 97a1abd030c73cbdf69a92543300fd2fee00efe6b049bd6d6705f27831f212d1
MD5 1ff9d2be7d29d9aa3878c06ff142f55d
BLAKE2b-256 6eaa28c96f022b8f4605b6df8ecc8709b4594e68032a489245a6e13e036e6ff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ichingpy-0.1.8-py3-none-any.whl:

Publisher: python-publish.yml on JinyangWang27/ichingpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page