API to generate astrological charts using Kerykeion, a Python library for astrology that calculates planetary and house positions, detects aspects, and generates SVG charts, including natal, synastry, transit, and composite charts. The API also allows customization of which planets to include in the calculations and uses the full version of Pyswisseph, a Python implementation of the Swiss Ephemeris.
- Generation of astrological charts in SVG format.
- Now, only support for natal chart. Coming soon support to synastry, transit, and composite charts.
- Customization of planets included in the calculations.
- Based on reliable libraries like Kerykeion and Pyswisseph.
Make sure you have the following requirements installed:
- Python 3.10.3
- Docker
-
Clone this repository:
git clone https://github.com/andreideholte/api-lua.git cd api-lua -
Install the dependencies:
pip install -r requirements.txt
-
Run the application with Docker:
docker build -t api-lua . docker run -p 5050:5050 api-lua -
Access the API at
http://localhost:5050.
The API provides endpoints to generate astrological charts. Examples of usage and detailed documentation can be found in the Swagger file.
The geonames_username field used in the def create_map() function located in app.py is a personal username. You must create your own username for use. To do this, visit the GeoNames website and register for a new username. This is required to ensure proper functionality of the API.
This project is licensed under the GNU Affero General Public License v3. See the LICENSE file for more details.
Note: The Swiss Ephemeris library is distributed under a dual licensing system: GNU Affero General Public License or Swiss Ephemeris Professional License. For more information, see the libswe/LICENSE file.
Contributions are welcome! Follow the steps below to contribute:
- Fork the repository.
- Create a branch for your feature or bug fix:
git checkout -b my-feature. - Commit your changes:
git commit -m 'Add my new feature'. - Push to the remote repository:
git push origin my-feature. - Open a Pull Request.
Created by Andrei Nascimento. Feel free to get in touch!