%global _empty_manifest_terminate_build 0
Name: python-kerykeion
Version: 3.4.2
Release: 1
Summary: A python library for astrology.
License: GNU General Public License (GPL)
URL: https://github.com/g-battaglia/kerykeion
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/06/0f/9f72f040b2991dabfd0a9bc0f8d39fd392dc3b21600bf415f5407d7a4231/kerykeion-3.4.2.tar.gz
BuildArch: noarch
Requires: python3-pyswisseph
Requires: python3-pytz
Requires: python3-jsonpickle
Requires: python3-requests
Requires: python3-requests-cache
Requires: python3-pydantic
Requires: python3-terminaltables
%description
Kerykeion
Kerykeion is a python library for Astrology.
It can calculate all the planet and house position,
also it can calculate the aspects of a single persone or between two, you can set how many planets you
need in the settings in the utility module.
It also can generate an SVG of a birthchart, a composite chart or a transit chart.
## Installation
Kerykeion is a *Python 3.9* package, make sure you have *Python 3.9* or above installed on your system.
```bash
pip3 install kerykeion
```
## Usage
Here some examples:
```python
# Import the main class for creating a kerykeion instance:
from kerykeion import KrInstance
# Create a kerykeion instance:
# Args: Name, year, month, day, hour, minuts, city, nation(optional)
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
# Get the information about the sun in the chart:
# (The position of the planets always starts at 0)
kanye.sun
#> {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, 'pos': 17.598992059774275, 'abs_pos': 77.59899205977428, 'emoji': '♊️', 'house': '12th House', 'retrograde': False}
# Get informations about the first house:
kanye.first_house
#> {'name': 'First House', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', 'sign_num': 3, 'pos': 17.995779673209114, 'abs_pos': 107.99577967320911, 'emoji': '♋️'}
# Get element of the moon sign:
kanye.moon.get("element")
#> 'Water'
```
**To avoid connecting to GeoNames (eg. avoiding hourly limit or no internet connection) you should instance kerykeion like this:**
```python
kanye = KrInstance(
"Kanye", 1977, 6, 8, 8, 45,
lng=50, lat=50, tz_str="Europe/Rome"
)
```
## Generate a SVG Chart:
```python
from kerykeion import KrInstance, MakeSvgInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
# Set the type, it can be Natal, Composite or Transit
name = MakeSvgInstance(first, chart_type="Composite", second_obj=second)
name.makeSVG()
print(len(name.aspects_list))
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> Jack birth location: Roma, 41.89193, 12.51133
#> SVG Generated Correctly
#> 38
```

# Report
To print a report of all the data:
```python
from kerykeion import Report, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
report = Report(kanye)
report.print_report()
```
Returns:
```
+- Kerykeion report for Kanye -+
+----------+------+-------------+-----------+----------+
| Date | Time | Location | Longitude | Latitude |
+----------+------+-------------+-----------+----------+
| 8/6/1977 | 8:45 | Atlanta, US | -84.38798 | 33.749 |
+----------+------+-------------+-----------+----------+
+-----------+------+-------+------+----------------+
| Planet | Sign | Pos. | Ret. | House |
+-----------+------+-------+------+----------------+
| Sun | Gem | 17.6 | - | Twelfth House |
| Moon | Pis | 16.43 | - | Ninth House |
| Mercury | Tau | 26.29 | - | Eleventh House |
| Venus | Tau | 2.03 | - | Tenth House |
| Mars | Tau | 1.79 | - | Tenth House |
| Jupiter | Gem | 14.61 | - | Eleventh House |
| Saturn | Leo | 12.8 | - | Second House |
| Uranus | Sco | 8.27 | R | Fourth House |
| Neptune | Sag | 14.69 | R | Fifth House |
| Pluto | Lib | 11.45 | R | Fourth House |
| Mean_Node | Lib | 21.49 | R | Fourth House |
| True_Node | Lib | 22.82 | R | Fourth House |
+-----------+------+-------+------+----------------+
+----------------+------+----------+
| House | Sign | Position |
+----------------+------+----------+
| First House | Can | 18.0 |
| Second House | Leo | 9.51 |
| Third House | Vir | 4.02 |
| Fourth House | Lib | 3.98 |
| Fifth House | Sco | 9.39 |
| Sixth House | Sag | 15.68 |
| Seventh House | Cap | 18.0 |
| Eighth House | Aqu | 9.51 |
| Ninth House | Pis | 4.02 |
| Tenth House | Ari | 3.98 |
| Eleventh House | Tau | 9.39 |
| Twelfth House | Gem | 15.68 |
+----------------+------+----------+
```
And if you want to export it to a file:
```bash
$ python3 your_script_name.py > file.txt
```
# Example of a possible text output with information:
```python
from kerykeion import print_all_data, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
print_all_data(kanye)
```
Returns:
```
NAME: Kanye
PLANET POSITION
Sun: Gem 17.599 in 12th House
Moon: Pis 16.425 in 9th House
Mercury: Tau 26.286 in 11th House
Venus: Tau 2.032 in 10th House
Mars: Tau 1.79 in 10th House
Jupiter: Gem 14.607 in 11th House
Saturn: Leo 12.799 in 2nd House
Uranus: Sco 8.273 in 4th House
Neptune: Sag 14.693 in 5th House
Pluto: Lib 11.446 in 4th House
PLACIDUS HAUSES
House Cusp 1: Can 17.996
House Cusp 2: Leo 9.506
House Cusp 3: Vir 4.022
House Cusp 4: Lib 3.977
House Cusp 5: Sco 9.393
House Cusp 6: Sag 15.681
House Cusp 7: Cap 17.996
House Cusp 8: Aqu 9.506
House Cusp 9: Pis 4.022
House Cusp 10: Ari 3.977
House Cusp 11: Tau 9.393
House Cusp 12: Gem 15.681
```
## Other exeples of possibles usecase
```python
# Get all aspects between two persons:
from kerykeion import CompositeAspects, KrInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
name = CompositeAspects(first, second)
aspect_list = name.get_relevant_aspects()
print(aspect_list[0])
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> {'p1_name': 'Sun', 'p1_abs_pos': 84.17867971515636, 'p2_name': 'Sun', 'p2_abs_pos': 211.90472999502984, 'aspect': 'trine', 'orbit': 7.726050279873476, 'aspect_degrees': 120, 'color': '#36d100', 'aid': 6, 'diff': 127.72605027987348, 'p1': 0, 'p2': 0}
```
## Documentation
Most of the functions and the classes are self documented by the types and have docstrings.
An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
Sooner or later I'll try to write an extensive documentation.
## Development
You can clone this repository or download a zip file using the right side buttons.
## Contributing
Feel free to contribute to the code!
%package -n python3-kerykeion
Summary: A python library for astrology.
Provides: python-kerykeion
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-kerykeion
Kerykeion
Kerykeion is a python library for Astrology.
It can calculate all the planet and house position,
also it can calculate the aspects of a single persone or between two, you can set how many planets you
need in the settings in the utility module.
It also can generate an SVG of a birthchart, a composite chart or a transit chart.
## Installation
Kerykeion is a *Python 3.9* package, make sure you have *Python 3.9* or above installed on your system.
```bash
pip3 install kerykeion
```
## Usage
Here some examples:
```python
# Import the main class for creating a kerykeion instance:
from kerykeion import KrInstance
# Create a kerykeion instance:
# Args: Name, year, month, day, hour, minuts, city, nation(optional)
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
# Get the information about the sun in the chart:
# (The position of the planets always starts at 0)
kanye.sun
#> {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, 'pos': 17.598992059774275, 'abs_pos': 77.59899205977428, 'emoji': '♊️', 'house': '12th House', 'retrograde': False}
# Get informations about the first house:
kanye.first_house
#> {'name': 'First House', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', 'sign_num': 3, 'pos': 17.995779673209114, 'abs_pos': 107.99577967320911, 'emoji': '♋️'}
# Get element of the moon sign:
kanye.moon.get("element")
#> 'Water'
```
**To avoid connecting to GeoNames (eg. avoiding hourly limit or no internet connection) you should instance kerykeion like this:**
```python
kanye = KrInstance(
"Kanye", 1977, 6, 8, 8, 45,
lng=50, lat=50, tz_str="Europe/Rome"
)
```
## Generate a SVG Chart:
```python
from kerykeion import KrInstance, MakeSvgInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
# Set the type, it can be Natal, Composite or Transit
name = MakeSvgInstance(first, chart_type="Composite", second_obj=second)
name.makeSVG()
print(len(name.aspects_list))
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> Jack birth location: Roma, 41.89193, 12.51133
#> SVG Generated Correctly
#> 38
```

# Report
To print a report of all the data:
```python
from kerykeion import Report, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
report = Report(kanye)
report.print_report()
```
Returns:
```
+- Kerykeion report for Kanye -+
+----------+------+-------------+-----------+----------+
| Date | Time | Location | Longitude | Latitude |
+----------+------+-------------+-----------+----------+
| 8/6/1977 | 8:45 | Atlanta, US | -84.38798 | 33.749 |
+----------+------+-------------+-----------+----------+
+-----------+------+-------+------+----------------+
| Planet | Sign | Pos. | Ret. | House |
+-----------+------+-------+------+----------------+
| Sun | Gem | 17.6 | - | Twelfth House |
| Moon | Pis | 16.43 | - | Ninth House |
| Mercury | Tau | 26.29 | - | Eleventh House |
| Venus | Tau | 2.03 | - | Tenth House |
| Mars | Tau | 1.79 | - | Tenth House |
| Jupiter | Gem | 14.61 | - | Eleventh House |
| Saturn | Leo | 12.8 | - | Second House |
| Uranus | Sco | 8.27 | R | Fourth House |
| Neptune | Sag | 14.69 | R | Fifth House |
| Pluto | Lib | 11.45 | R | Fourth House |
| Mean_Node | Lib | 21.49 | R | Fourth House |
| True_Node | Lib | 22.82 | R | Fourth House |
+-----------+------+-------+------+----------------+
+----------------+------+----------+
| House | Sign | Position |
+----------------+------+----------+
| First House | Can | 18.0 |
| Second House | Leo | 9.51 |
| Third House | Vir | 4.02 |
| Fourth House | Lib | 3.98 |
| Fifth House | Sco | 9.39 |
| Sixth House | Sag | 15.68 |
| Seventh House | Cap | 18.0 |
| Eighth House | Aqu | 9.51 |
| Ninth House | Pis | 4.02 |
| Tenth House | Ari | 3.98 |
| Eleventh House | Tau | 9.39 |
| Twelfth House | Gem | 15.68 |
+----------------+------+----------+
```
And if you want to export it to a file:
```bash
$ python3 your_script_name.py > file.txt
```
# Example of a possible text output with information:
```python
from kerykeion import print_all_data, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
print_all_data(kanye)
```
Returns:
```
NAME: Kanye
PLANET POSITION
Sun: Gem 17.599 in 12th House
Moon: Pis 16.425 in 9th House
Mercury: Tau 26.286 in 11th House
Venus: Tau 2.032 in 10th House
Mars: Tau 1.79 in 10th House
Jupiter: Gem 14.607 in 11th House
Saturn: Leo 12.799 in 2nd House
Uranus: Sco 8.273 in 4th House
Neptune: Sag 14.693 in 5th House
Pluto: Lib 11.446 in 4th House
PLACIDUS HAUSES
House Cusp 1: Can 17.996
House Cusp 2: Leo 9.506
House Cusp 3: Vir 4.022
House Cusp 4: Lib 3.977
House Cusp 5: Sco 9.393
House Cusp 6: Sag 15.681
House Cusp 7: Cap 17.996
House Cusp 8: Aqu 9.506
House Cusp 9: Pis 4.022
House Cusp 10: Ari 3.977
House Cusp 11: Tau 9.393
House Cusp 12: Gem 15.681
```
## Other exeples of possibles usecase
```python
# Get all aspects between two persons:
from kerykeion import CompositeAspects, KrInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
name = CompositeAspects(first, second)
aspect_list = name.get_relevant_aspects()
print(aspect_list[0])
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> {'p1_name': 'Sun', 'p1_abs_pos': 84.17867971515636, 'p2_name': 'Sun', 'p2_abs_pos': 211.90472999502984, 'aspect': 'trine', 'orbit': 7.726050279873476, 'aspect_degrees': 120, 'color': '#36d100', 'aid': 6, 'diff': 127.72605027987348, 'p1': 0, 'p2': 0}
```
## Documentation
Most of the functions and the classes are self documented by the types and have docstrings.
An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
Sooner or later I'll try to write an extensive documentation.
## Development
You can clone this repository or download a zip file using the right side buttons.
## Contributing
Feel free to contribute to the code!
%package help
Summary: Development documents and examples for kerykeion
Provides: python3-kerykeion-doc
%description help
Kerykeion
Kerykeion is a python library for Astrology.
It can calculate all the planet and house position,
also it can calculate the aspects of a single persone or between two, you can set how many planets you
need in the settings in the utility module.
It also can generate an SVG of a birthchart, a composite chart or a transit chart.
## Installation
Kerykeion is a *Python 3.9* package, make sure you have *Python 3.9* or above installed on your system.
```bash
pip3 install kerykeion
```
## Usage
Here some examples:
```python
# Import the main class for creating a kerykeion instance:
from kerykeion import KrInstance
# Create a kerykeion instance:
# Args: Name, year, month, day, hour, minuts, city, nation(optional)
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
# Get the information about the sun in the chart:
# (The position of the planets always starts at 0)
kanye.sun
#> {'name': 'Sun', 'quality': 'Mutable', 'element': 'Air', 'sign': 'Gem', 'sign_num': 2, 'pos': 17.598992059774275, 'abs_pos': 77.59899205977428, 'emoji': '♊️', 'house': '12th House', 'retrograde': False}
# Get informations about the first house:
kanye.first_house
#> {'name': 'First House', 'quality': 'Cardinal', 'element': 'Water', 'sign': 'Can', 'sign_num': 3, 'pos': 17.995779673209114, 'abs_pos': 107.99577967320911, 'emoji': '♋️'}
# Get element of the moon sign:
kanye.moon.get("element")
#> 'Water'
```
**To avoid connecting to GeoNames (eg. avoiding hourly limit or no internet connection) you should instance kerykeion like this:**
```python
kanye = KrInstance(
"Kanye", 1977, 6, 8, 8, 45,
lng=50, lat=50, tz_str="Europe/Rome"
)
```
## Generate a SVG Chart:
```python
from kerykeion import KrInstance, MakeSvgInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
# Set the type, it can be Natal, Composite or Transit
name = MakeSvgInstance(first, chart_type="Composite", second_obj=second)
name.makeSVG()
print(len(name.aspects_list))
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> Jack birth location: Roma, 41.89193, 12.51133
#> SVG Generated Correctly
#> 38
```

# Report
To print a report of all the data:
```python
from kerykeion import Report, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
report = Report(kanye)
report.print_report()
```
Returns:
```
+- Kerykeion report for Kanye -+
+----------+------+-------------+-----------+----------+
| Date | Time | Location | Longitude | Latitude |
+----------+------+-------------+-----------+----------+
| 8/6/1977 | 8:45 | Atlanta, US | -84.38798 | 33.749 |
+----------+------+-------------+-----------+----------+
+-----------+------+-------+------+----------------+
| Planet | Sign | Pos. | Ret. | House |
+-----------+------+-------+------+----------------+
| Sun | Gem | 17.6 | - | Twelfth House |
| Moon | Pis | 16.43 | - | Ninth House |
| Mercury | Tau | 26.29 | - | Eleventh House |
| Venus | Tau | 2.03 | - | Tenth House |
| Mars | Tau | 1.79 | - | Tenth House |
| Jupiter | Gem | 14.61 | - | Eleventh House |
| Saturn | Leo | 12.8 | - | Second House |
| Uranus | Sco | 8.27 | R | Fourth House |
| Neptune | Sag | 14.69 | R | Fifth House |
| Pluto | Lib | 11.45 | R | Fourth House |
| Mean_Node | Lib | 21.49 | R | Fourth House |
| True_Node | Lib | 22.82 | R | Fourth House |
+-----------+------+-------+------+----------------+
+----------------+------+----------+
| House | Sign | Position |
+----------------+------+----------+
| First House | Can | 18.0 |
| Second House | Leo | 9.51 |
| Third House | Vir | 4.02 |
| Fourth House | Lib | 3.98 |
| Fifth House | Sco | 9.39 |
| Sixth House | Sag | 15.68 |
| Seventh House | Cap | 18.0 |
| Eighth House | Aqu | 9.51 |
| Ninth House | Pis | 4.02 |
| Tenth House | Ari | 3.98 |
| Eleventh House | Tau | 9.39 |
| Twelfth House | Gem | 15.68 |
+----------------+------+----------+
```
And if you want to export it to a file:
```bash
$ python3 your_script_name.py > file.txt
```
# Example of a possible text output with information:
```python
from kerykeion import print_all_data, KrInstance
kanye = KrInstance("Kanye", 1977, 6, 8, 8, 45, "Atlanta")
print_all_data(kanye)
```
Returns:
```
NAME: Kanye
PLANET POSITION
Sun: Gem 17.599 in 12th House
Moon: Pis 16.425 in 9th House
Mercury: Tau 26.286 in 11th House
Venus: Tau 2.032 in 10th House
Mars: Tau 1.79 in 10th House
Jupiter: Gem 14.607 in 11th House
Saturn: Leo 12.799 in 2nd House
Uranus: Sco 8.273 in 4th House
Neptune: Sag 14.693 in 5th House
Pluto: Lib 11.446 in 4th House
PLACIDUS HAUSES
House Cusp 1: Can 17.996
House Cusp 2: Leo 9.506
House Cusp 3: Vir 4.022
House Cusp 4: Lib 3.977
House Cusp 5: Sco 9.393
House Cusp 6: Sag 15.681
House Cusp 7: Cap 17.996
House Cusp 8: Aqu 9.506
House Cusp 9: Pis 4.022
House Cusp 10: Ari 3.977
House Cusp 11: Tau 9.393
House Cusp 12: Gem 15.681
```
## Other exeples of possibles usecase
```python
# Get all aspects between two persons:
from kerykeion import CompositeAspects, KrInstance
first = KrInstance("Jack", 1990, 6, 15, 15, 15, "Roma")
second = KrInstance("Jane", 1991, 10, 25, 21, 00, "Roma")
name = CompositeAspects(first, second)
aspect_list = name.get_relevant_aspects()
print(aspect_list[0])
#> Generating kerykeion object for Jack...
#> Generating kerykeion object for Jane...
#> {'p1_name': 'Sun', 'p1_abs_pos': 84.17867971515636, 'p2_name': 'Sun', 'p2_abs_pos': 211.90472999502984, 'aspect': 'trine', 'orbit': 7.726050279873476, 'aspect_degrees': 120, 'color': '#36d100', 'aid': 6, 'diff': 127.72605027987348, 'p1': 0, 'p2': 0}
```
## Documentation
Most of the functions and the classes are self documented by the types and have docstrings.
An auto-generated documentation [is available here](https://g-battaglia.github.io/kerykeion).
Sooner or later I'll try to write an extensive documentation.
## Development
You can clone this repository or download a zip file using the right side buttons.
## Contributing
Feel free to contribute to the code!
%prep
%autosetup -n kerykeion-3.4.2
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-kerykeion -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Wed May 31 2023 Python_Bot - 3.4.2-1
- Package Spec generated