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.7.tar.gz (14.1 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.7-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ichingpy-0.1.7.tar.gz
  • Upload date:
  • Size: 14.1 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.7.tar.gz
Algorithm Hash digest
SHA256 03824d295dd6c71253d8699cf0e1d37f4f6135937fb0578e36c0a439b333efd8
MD5 ea152c6b919382674a0b4106e9b6ce73
BLAKE2b-256 62edd95f7bc371e084aab06c8c13b6aa2542d46cc61f20e7f18228b72c112546

See more details on using hashes here.

Provenance

The following attestation bundles were made for ichingpy-0.1.7.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.7-py3-none-any.whl.

File metadata

  • Download URL: ichingpy-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 17.1 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1aa4eb0f00d982245c374e942f0a8bdbe94181904d655e8f19c399794edd48e7
MD5 c29a8b982d7870ddfc23e3d65651fcd4
BLAKE2b-256 c7a048f5b577b06a4d384c908cee61efe4e1b22003d5e2878e6af34dd21621b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ichingpy-0.1.7-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