From c3c0a9986b1d7d24941d5b8f1129368b7968ed9e Mon Sep 17 00:00:00 2001 From: Kelvin Ng Date: Tue, 26 Nov 2024 10:58:55 +0800 Subject: [PATCH] warp celestial symbols with spaces in stats and DMS --- README.md | 118 ++++++++++++++++++++++---------------------- demo.ipynb | 106 +++++++++++++++++++-------------------- natal/classes.py | 2 +- natal/stats.py | 6 ++- pyproject.toml | 2 +- tests/test_data.py | 52 +++++++++---------- tests/test_stats.py | 94 +++++++++++++++++------------------ 7 files changed, 191 insertions(+), 189 deletions(-) diff --git a/README.md b/README.md index 15d3da5..3fbd775 100644 --- a/README.md +++ b/README.md @@ -147,66 +147,66 @@ print(stats.full_report(kind="markdown")) ```markdown # Element Distribution (MiMi) -| element | sum | bodies | -|-----------|-------|----------------------------------------------| -| earth | 4 | sun ♉, jupiter ♍, saturn ♍, asc ♍ | -| water | 2 | moon ♋, uranus ♏ | -| fire | 4 | mercury ♈, mars ♌, neptune ♐, asc_node ♌ | -| air | 3 | venus ♊, pluto ♎, mc ♊ | +| element | sum | bodies | +|-----------|-------|-------------------------------------------------| +| earth | 4 | sun ♉ , jupiter ♍ , saturn ♍ , asc ♍ | +| water | 2 | moon ♋ , uranus ♏ | +| fire | 4 | mercury ♈ , mars ♌ , neptune ♐ , asc_node ♌ | +| air | 3 | venus ♊ , pluto ♎ , mc ♊ | # Modality Distribution (MiMi) -| modality | sum | bodies | -|------------|-------|------------------------------------------------------------| -| fixed | 4 | sun ♉, mars ♌, uranus ♏, asc_node ♌ | -| cardinal | 3 | moon ♋, mercury ♈, pluto ♎ | -| mutable | 6 | venus ♊, jupiter ♍, saturn ♍, neptune ♐, asc ♍, mc ♊ | +| modality | sum | bodies | +|------------|-------|-----------------------------------------------------------------| +| fixed | 4 | sun ♉ , mars ♌ , uranus ♏ , asc_node ♌ | +| cardinal | 3 | moon ♋ , mercury ♈ , pluto ♎ | +| mutable | 6 | venus ♊ , jupiter ♍ , saturn ♍ , neptune ♐ , asc ♍ , mc ♊ | # Polarity Distribution (MiMi) -| polarity | sum | bodies | -|------------|-------|-------------------------------------------------------------------------| -| negative | 6 | sun ♉, moon ♋, jupiter ♍, saturn ♍, uranus ♏, asc ♍ | -| positive | 7 | mercury ♈, venus ♊, mars ♌, neptune ♐, pluto ♎, asc_node ♌, mc ♊ | +| polarity | sum | bodies | +|------------|-------|-------------------------------------------------------------------------------| +| negative | 6 | sun ♉ , moon ♋ , jupiter ♍ , saturn ♍ , uranus ♏ , asc ♍ | +| positive | 7 | mercury ♈ , venus ♊ , mars ♌ , neptune ♐ , pluto ♎ , asc_node ♌ , mc ♊ | # Celestial Bodies (MiMi) -| body | sign | house | dignity | -|----------|-----------|---------|-----------| -| sun | 00°♉19' | 8 | | -| moon | 08°♋29' | 10 | domicile | -| mercury | 08°♈28' | 8 | | -| venus | 15°♊12' | 10 | | -| mars | 26°♌59' | 12 | | -| jupiter | 00°♍17'℞ | 12 | detriment | -| saturn | 21°♍03'℞ | 1 | | -| uranus | 24°♏31'℞ | 3 | | -| neptune | 22°♐29'℞ | 4 | | -| pluto | 20°♎06'℞ | 2 | | -| asc_node | 26°♌03'℞ | 12 | | -| asc | 09°♍42' | 1 | | -| mc | 09°♊13' | 10 | | +| body | sign | house | dignity | +|----------|--------------|---------|-----------| +| sun | 00° ♉ 19' | 8 | | +| moon | 08° ♋ 29' | 10 | domicile | +| mercury | 08° ♈ 28' | 8 | | +| venus | 15° ♊ 12' | 10 | | +| mars | 26° ♌ 59' | 12 | | +| jupiter | 00° ♍ 17' ℞ | 12 | detriment | +| saturn | 21° ♍ 03' ℞ | 1 | | +| uranus | 24° ♏ 31' ℞ | 3 | | +| neptune | 22° ♐ 29' ℞ | 4 | | +| pluto | 20° ♎ 06' ℞ | 2 | | +| asc_node | 26° ♌ 03' ℞ | 12 | | +| asc | 09° ♍ 42' | 1 | | +| mc | 09° ♊ 13' | 10 | | # Houses (MiMi) -| house | cusp | ruler | ruler sign | ruler house | -|---------|----------|---------|--------------|---------------| -| 1 | 09°♍41' | mercury | ♈ | 8 | -| 2 | 07°♎13' | venus | ♊ | 10 | -| 3 | 07°♏38' | pluto | ♎ | 2 | -| 4 | 09°♐13' | jupiter | ♍ | 12 | -| 5 | 10°♑25' | saturn | ♍ | 1 | -| 6 | 10°♒44' | uranus | ♏ | 3 | -| 7 | 09°♓41' | neptune | ♐ | 4 | -| 8 | 07°♈13' | mars | ♌ | 12 | -| 9 | 07°♉38' | venus | ♊ | 10 | -| 10 | 09°♊13' | mercury | ♈ | 8 | -| 11 | 10°♋25' | moon | ♋ | 10 | -| 12 | 10°♌44' | sun | ♉ | 8 | +| house | cusp | ruler | ruler sign | ruler house | +|---------|------------|---------|--------------|---------------| +| 1 | 09° ♍ 41' | mercury | ♈ | 8 | +| 2 | 07° ♎ 13' | venus | ♊ | 10 | +| 3 | 07° ♏ 38' | pluto | ♎ | 2 | +| 4 | 09° ♐ 13' | jupiter | ♍ | 12 | +| 5 | 10° ♑ 25' | saturn | ♍ | 1 | +| 6 | 10° ♒ 44' | uranus | ♏ | 3 | +| 7 | 09° ♓ 41' | neptune | ♐ | 4 | +| 8 | 07° ♈ 13' | mars | ♌ | 12 | +| 9 | 07° ♉ 38' | venus | ♊ | 10 | +| 10 | 09° ♊ 13' | mercury | ♈ | 8 | +| 11 | 10° ♋ 25' | moon | ♋ | 10 | +| 12 | 10° ♌ 44' | sun | ♉ | 8 | # Quadrants (MiMi) @@ -231,21 +231,21 @@ print(stats.full_report(kind="markdown")) # Celestial Bodies of Transit in MiMi's chart -| Transit | sign | house | dignity | -|-----------|-----------|---------|-----------| -| sun | 10°♑16' | 4 | | -| moon | 08°♍42' | 12 | | -| mercury | 22°♐14'℞ | 4 | detriment | -| venus | 02°♐53' | 3 | | -| mars | 27°♐28' | 4 | | -| jupiter | 05°♉34' | 8 | | -| saturn | 03°♓15' | 6 | | -| uranus | 19°♉22'℞ | 9 | | -| neptune | 25°♓04' | 7 | | -| pluto | 29°♑21' | 5 | | -| asc_node | 20°♈51'℞ | 8 | | -| asc | 14°♉41' | 9 | | -| mc | 02°♒08' | 5 | | +| Transit | sign | house | dignity | +|-----------|--------------|---------|-----------| +| sun | 10° ♑ 16' | 4 | | +| moon | 08° ♍ 42' | 12 | | +| mercury | 22° ♐ 14' ℞ | 4 | detriment | +| venus | 02° ♐ 53' | 3 | | +| mars | 27° ♐ 28' | 4 | | +| jupiter | 05° ♉ 34' | 8 | | +| saturn | 03° ♓ 15' | 6 | | +| uranus | 19° ♉ 22' ℞ | 9 | | +| neptune | 25° ♓ 04' | 7 | | +| pluto | 29° ♑ 21' | 5 | | +| asc_node | 20° ♈ 51' ℞ | 8 | | +| asc | 14° ♉ 41' | 9 | | +| mc | 02° ♒ 08' | 5 | | # Aspects of Transit vs MiMi diff --git a/demo.ipynb b/demo.ipynb index 2b043c4..f597533 100644 --- a/demo.ipynb +++ b/demo.ipynb @@ -126,67 +126,67 @@ "\n", "

Element Distribution (MiMi)

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", "\n", "
element sum bodies
element sum bodies
earth 4 sun ♉, jupiter ♍, saturn ♍, asc ♍
water 2 moon ♋, uranus ♏
fire 4 mercury ♈, mars ♌, neptune ♐, asc_node ♌
air 3 venus ♊, pluto ♎, mc ♊
earth 4 sun ♉ , jupiter ♍ , saturn ♍ , asc ♍
water 2 moon ♋ , uranus ♏
fire 4 mercury ♈ , mars ♌ , neptune ♐ , asc_node ♌
air 3 venus ♊ , pluto ♎ , mc ♊

Modality Distribution (MiMi)

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "
modality sum bodies
modality sum bodies
fixed 4 sun ♉, mars ♌, uranus ♏, asc_node ♌
cardinal 3 moon ♋, mercury ♈, pluto ♎
mutable 6 venus ♊, jupiter ♍, saturn ♍, neptune ♐, asc ♍, mc ♊
fixed 4 sun ♉ , mars ♌ , uranus ♏ , asc_node ♌
cardinal 3 moon ♋ , mercury ♈ , pluto ♎
mutable 6 venus ♊ , jupiter ♍ , saturn ♍ , neptune ♐ , asc ♍ , mc ♊

Polarity Distribution (MiMi)

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "
polarity sum bodies
polarity sum bodies
negative 6 sun ♉, moon ♋, jupiter ♍, saturn ♍, uranus ♏, asc ♍
positive 7 mercury ♈, venus ♊, mars ♌, neptune ♐, pluto ♎, asc_node ♌, mc ♊
negative 6 sun ♉ , moon ♋ , jupiter ♍ , saturn ♍ , uranus ♏ , asc ♍
positive 7 mercury ♈ , venus ♊ , mars ♌ , neptune ♐ , pluto ♎ , asc_node ♌ , mc ♊

Celestial Bodies (MiMi)

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "
body sign house dignity
body sign house dignity
sun 00°♉19' 8
moon 08°♋29' 10 domicile
mercury 08°♈28' 8
venus 15°♊12' 10
mars 26°♌59' 12
jupiter 00°♍17'℞ 12 detriment
saturn 21°♍03'℞ 1
uranus 24°♏31'℞ 3
neptune 22°♐29'℞ 4
pluto 20°♎06'℞ 2
asc_node26°♌03'℞ 12
asc 09°♍42' 1
mc 09°♊13' 10
sun 00° ♉ 19' 8
moon 08° ♋ 29' 10 domicile
mercury 08° ♈ 28' 8
venus 15° ♊ 12' 10
mars 26° ♌ 59' 12
jupiter 00° ♍ 17' ℞ 12 detriment
saturn 21° ♍ 03' ℞ 1
uranus 24° ♏ 31' ℞ 3
neptune 22° ♐ 29' ℞ 4
pluto 20° ♎ 06' ℞ 2
asc_node26° ♌ 03' ℞ 12
asc 09° ♍ 42' 1
mc 09° ♊ 13' 10

Houses (MiMi)

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "
house cusp ruler ruler sign ruler house
house cusp ruler ruler sign ruler house
1 09°♍41'mercury 8
2 07°♎13'venus 10
3 07°♏38'pluto 2
4 09°♐13'jupiter 12
5 10°♑25'saturn 1
6 10°♒44'uranus 3
7 09°♓41'neptune 4
8 07°♈13'mars 12
9 07°♉38'venus 10
10 09°♊13'mercury 8
11 10°♋25'moon 10
12 10°♌44'sun 8
1 09° ♍ 41'mercury 8
2 07° ♎ 13'venus 10
3 07° ♏ 38'pluto 2
4 09° ♐ 13'jupiter 12
5 10° ♑ 25'saturn 1
6 10° ♒ 44'uranus 3
7 09° ♓ 41'neptune 4
8 07° ♈ 13'mars 12
9 07° ♉ 38'venus 10
10 09° ♊ 13'mercury 8
11 10° ♋ 25'moon 10
12 10° ♌ 44'sun 8

Quadrants (MiMi)

\n", "\n", @@ -210,22 +210,22 @@ "\n", "

Celestial Bodies of Transit in MiMi's chart

\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "
Transit sign house dignity
Transit sign house dignity
sun 10°♑16' 4
moon 08°♍42' 12
mercury 22°♐14'℞ 4 detriment
venus 02°♐53' 3
mars 27°♐28' 4
jupiter 05°♉34' 8
saturn 03°♓15' 6
uranus 19°♉22'℞ 9
neptune 25°♓04' 7
pluto 29°♑21' 5
asc_node 20°♈51'℞ 8
asc 14°♉41' 9
mc 02°♒08' 5
sun 10° ♑ 16' 4
moon 08° ♍ 42' 12
mercury 22° ♐ 14' ℞ 4 detriment
venus 02° ♐ 53' 3
mars 27° ♐ 28' 4
jupiter 05° ♉ 34' 8
saturn 03° ♓ 15' 6
uranus 19° ♉ 22' ℞ 9
neptune 25° ♓ 04' 7
pluto 29° ♑ 21' 5
asc_node 20° ♈ 51' ℞ 8
asc 14° ♉ 41' 9
mc 02° ♒ 08' 5

Aspects of Transit vs MiMi

\n", "\n", diff --git a/natal/classes.py b/natal/classes.py index 4f0cb0d..6696f5f 100644 --- a/natal/classes.py +++ b/natal/classes.py @@ -84,7 +84,7 @@ def signed_dms(self) -> str: op = [f"{self.signed_deg:02d}°", self.sign.symbol, f"{self.minute:02d}'"] if self.rx: op.append(self.rx) - return "".join(op) + return " ".join(op) class Planet(MovableBody): diff --git a/natal/stats.py b/natal/stats.py index e03ad97..009feea 100644 --- a/natal/stats.py +++ b/natal/stats.py @@ -79,7 +79,7 @@ def distribution(self, kind: DistKind) -> StatData: for body in self.data1.aspectables: key = body.sign[kind] bodies[key][0] += 1 # act as a counter - bodies[key][1].append(f"{body.name} {body.sign.symbol}") + bodies[key][1].append(f"{body.name} {body.sign.symbol} ") grid = [(kind, "sum", "bodies")] data = [(key, val[0], ", ".join(val[1])) for key, val in bodies.items()] grid.extend(data) @@ -297,7 +297,9 @@ def full_report(self, kind: ReportKind) -> str: for dist in DistKind.__args__: output += self.table_of("distribution", kind, dist) output += self.table_of("celestial_body", kind) - output += self.table_of("house", kind) + output += self.table_of( + "house", kind, colalign=("left", "center", "left", "center") + ) output += self.table_of("quadrant", kind) output += self.table_of("hemisphere", kind) if self.data2: diff --git a/pyproject.toml b/pyproject.toml index c8a8b86..733906d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "natal" -version = "0.8.3" +version = "0.8.4" description = "create Natal Chart with ease" license = "MIT" repository = "https://github.com/hoishing/natal" diff --git a/tests/test_data.py b/tests/test_data.py index c756c2b..e5622fe 100644 --- a/tests/test_data.py +++ b/tests/test_data.py @@ -8,44 +8,44 @@ @fixture(scope="module") def planets() -> dict[str, str]: return dict( - sun="00°♉26'", - moon="19°♑47'", - mercury="18°♉30'", - venus="14°♈49'", - mars="15°♋54'", - jupiter="05°♉52'", - saturn="26°♋31'", - uranus="05°♏19'℞", - neptune="13°♐38'℞", - pluto="09°♎47'℞", + sun="00° ♉ 26'", + moon="19° ♑ 47'", + mercury="18° ♉ 30'", + venus="14° ♈ 49'", + mars="15° ♋ 54'", + jupiter="05° ♉ 52'", + saturn="26° ♋ 31'", + uranus="05° ♏ 19' ℞", + neptune="13° ♐ 38' ℞", + pluto="09° ♎ 47' ℞", ) @fixture(scope="module") def houses() -> dict[str, str]: return dict( - one="20°♎32'", - two="19°♏43'", - three="19°♐49'", - four="20°♑36'", - five="21°♒53'", - six="22°♓29'", - seven="20°♈32'", - eight="19°♉43'", - nine="19°♊49'", - ten="20°♋36'", - eleven="21°♌54'", - twelve="22°♍29'", + one="20° ♎ 32'", + two="19° ♏ 43'", + three="19° ♐ 49'", + four="20° ♑ 36'", + five="21° ♒ 53'", + six="22° ♓ 29'", + seven="20° ♈ 32'", + eight="19° ♉ 43'", + nine="19° ♊ 49'", + ten="20° ♋ 36'", + eleven="21° ♌ 54'", + twelve="22° ♍ 29'", ) @fixture(scope="module") def others() -> dict[str, str]: return dict( - chiron="27°♈49'", - asc_node="13°♏25'℞", - asc="20°♎32'", - mc="20°♋36'", + chiron="27° ♈ 49'", + asc_node="13° ♏ 25' ℞", + asc="20° ♎ 32'", + mc="20° ♋ 36'", house_sys="P", ) diff --git a/tests/test_stats.py b/tests/test_stats.py index 1785942..a79f943 100644 --- a/tests/test_stats.py +++ b/tests/test_stats.py @@ -20,10 +20,10 @@ def composite_stats(data1, data2): def element_grid(): return [ ("element", "sum", "bodies"), - ("earth", 4, "sun ♉, moon ♑, mercury ♉, jupiter ♉"), - ("fire", 2, "venus ♈, neptune ♐"), - ("water", 5, "mars ♋, saturn ♋, uranus ♏, asc_node ♏, mc ♋"), - ("air", 2, "pluto ♎, asc ♎"), + ("earth", 4, "sun ♉ , moon ♑ , mercury ♉ , jupiter ♉ "), + ("fire", 2, "venus ♈ , neptune ♐ "), + ("water", 5, "mars ♋ , saturn ♋ , uranus ♏ , asc_node ♏ , mc ♋ "), + ("air", 2, "pluto ♎ , asc ♎ "), ] @@ -31,9 +31,9 @@ def element_grid(): def modality_grid(): return [ ("modality", "sum", "bodies"), - ("fixed", 5, "sun ♉, mercury ♉, jupiter ♉, uranus ♏, asc_node ♏"), - ("cardinal", 7, "moon ♑, venus ♈, mars ♋, saturn ♋, pluto ♎, asc ♎, mc ♋"), - ("mutable", 1, "neptune ♐"), + ("fixed", 5, "sun ♉ , mercury ♉ , jupiter ♉ , uranus ♏ , asc_node ♏ "), + ("cardinal", 7, "moon ♑ , venus ♈ , mars ♋ , saturn ♋ , pluto ♎ , asc ♎ , mc ♋ "), + ("mutable", 1, "neptune ♐ "), ] @@ -41,8 +41,8 @@ def modality_grid(): def polarity_grid(): return [ ("polarity", "sum", "bodies"), - ("negative", 9, "sun ♉, moon ♑, mercury ♉, mars ♋, jupiter ♉, saturn ♋, uranus ♏, asc_node ♏, mc ♋",), - ("positive", 4, "venus ♈, neptune ♐, pluto ♎, asc ♎"), + ("negative", 9, "sun ♉ , moon ♑ , mercury ♉ , mars ♋ , jupiter ♉ , saturn ♋ , uranus ♏ , asc_node ♏ , mc ♋ ",), + ("positive", 4, "venus ♈ , neptune ♐ , pluto ♎ , asc ♎ "), ] @@ -50,38 +50,38 @@ def polarity_grid(): def celestial_body_grid(): return [ ("body", "sign", "house", "dignity"), - ("sun", "00°♉26'", 7, ""), - ("moon", "19°♑47'", 3, "detriment"), - ("mercury", "18°♉30'", 7, ""), - ("venus", "14°♈49'", 6, "detriment"), - ("mars", "15°♋54'", 9, "fall"), - ("jupiter", "05°♉52'", 7, ""), - ("saturn", "26°♋31'", 10, "detriment"), - ("uranus", "05°♏19'℞", 1, ""), - ("neptune", "13°♐38'℞", 2, ""), - ("pluto", "09°♎47'℞", 12, ""), - ("asc_node", "13°♏25'℞", 1, ""), - ("asc", "20°♎32'", 1, ""), - ("mc", "20°♋36'", 10, ""), + ("sun", "00° ♉ 26'", 7, ""), + ("moon", "19° ♑ 47'", 3, "detriment"), + ("mercury", "18° ♉ 30'", 7, ""), + ("venus", "14° ♈ 49'", 6, "detriment"), + ("mars", "15° ♋ 54'", 9, "fall"), + ("jupiter", "05° ♉ 52'", 7, ""), + ("saturn", "26° ♋ 31'", 10, "detriment"), + ("uranus", "05° ♏ 19' ℞", 1, ""), + ("neptune", "13° ♐ 38' ℞", 2, ""), + ("pluto", "09° ♎ 47' ℞", 12, ""), + ("asc_node", "13° ♏ 25' ℞", 1, ""), + ("asc", "20° ♎ 32'", 1, ""), + ("mc", "20° ♋ 36'", 10, ""), ] @fixture def data2_celestial_body_grid(): return [ ("belle", "sign", "house", "dignity"), - ("sun", "02°♒38'", 4, "detriment"), - ("moon", "15°♍46'", 11, ""), - ("mercury", "12°♑25'", 3, ""), - ("venus", "16°♐22'", 2, ""), - ("mars", "05°♒32'", 4, ""), - ("jupiter", "00°♈03'", 6, ""), - ("saturn", "17°♎13'", 12, "exaltation"), - ("uranus", "27°♓37'", 6, ""), - ("neptune", "27°♒26'", 5, ""), - ("pluto", "06°♑05'", 3, ""), - ("asc_node", "01°♑08'℞", 3, ""), - ("asc", "00°♓24'", 5, ""), - ("mc", "08°♐54'", 2, ""), + ("sun", "02° ♒ 38'", 4, "detriment"), + ("moon", "15° ♍ 46'", 11, ""), + ("mercury", "12° ♑ 25'", 3, ""), + ("venus", "16° ♐ 22'", 2, ""), + ("mars", "05° ♒ 32'", 4, ""), + ("jupiter", "00° ♈ 03'", 6, ""), + ("saturn", "17° ♎ 13'", 12, "exaltation"), + ("uranus", "27° ♓ 37'", 6, ""), + ("neptune", "27° ♒ 26'", 5, ""), + ("pluto", "06° ♑ 05'", 3, ""), + ("asc_node", "01° ♑ 08' ℞", 3, ""), + ("asc", "00° ♓ 24'", 5, ""), + ("mc", "08° ♐ 54'", 2, ""), ] @fixture @@ -108,18 +108,18 @@ def hemisphere_grid(): def house_grid(): return [ ("house", "cusp", "ruler", "ruler sign", "ruler house"), - (1, "20°♎32'", "venus", "♈", 6), - (2, "19°♏43'", "pluto", "♎", 12), - (3, "19°♐49'", "jupiter", "♉", 7), - (4, "20°♑36'", "saturn", "♋", 10), - (5, "21°♒53'", "uranus", "♏", 1), - (6, "22°♓29'", "neptune", "♐", 2), - (7, "20°♈32'", "mars", "♋", 9), - (8, "19°♉43'", "venus", "♈", 6), - (9, "19°♊49'", "mercury", "♉", 7), - (10, "20°♋36'", "moon", "♑", 3), - (11, "21°♌54'", "sun", "♉", 7), - (12, "22°♍29'", "mercury", "♉", 7), + (1, "20° ♎ 32'", "venus", "♈", 6), + (2, "19° ♏ 43'", "pluto", "♎", 12), + (3, "19° ♐ 49'", "jupiter", "♉", 7), + (4, "20° ♑ 36'", "saturn", "♋", 10), + (5, "21° ♒ 53'", "uranus", "♏", 1), + (6, "22° ♓ 29'", "neptune", "♐", 2), + (7, "20° ♈ 32'", "mars", "♋", 9), + (8, "19° ♉ 43'", "venus", "♈", 6), + (9, "19° ♊ 49'", "mercury", "♉", 7), + (10, "20° ♋ 36'", "moon", "♑", 3), + (11, "21° ♌ 54'", "sun", "♉", 7), + (12, "22° ♍ 29'", "mercury", "♉", 7), ]