AstroScript


NameAstroScript JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/Shoresh613/astro-script/
SummaryAstrological calculation tool
upload_time2024-04-21 10:16:13
maintainerNone
docs_urlNone
authorMikael Folkesson
requires_python>=3.6
licenseNone
keywords astrology horoscopes charts
VCS
bugtrack_url
requirements pyswisseph pytz geopy tabulate kivy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AstroScript

AstroScript is a powerful astrology software tool designed to calculate astrological data that can be used for interpretations. It leverages the Swiss Ephemeris for precise planetary and house calculations, and offers extensive features including planet positions, house positions, aspect calculations, and fixed star conjunctions.

## Features

- **Planetary Calculations**: Provides detailed longitude, zodiac sign, and retrograde information for all major and some minor celestial bodies.
- **House Calculations**: Supports multiple house systems, including Placidus, Koch, and others, for accurate astrological house placement.
- **Aspect Analysis**: Calculates major and minor astrological aspects between planets and fixed stars.
- **Moon Phase Calculation**: Determines the current phase of the Moon and its illumination.
- **Fixed Star Aspects**: Lists aspects between planets and fixed stars, considering the house placement of each fixed star.
- **Location Handling**: Uses Nominatim via the geopy library to convert location names to geographic coordinates, with the ability to save and retrieve frequently used locations.

## Installation

1. **Clone the repository:**
   ```bash
   git clone https://github.com/Shoresh613/astro-script.git
   cd AstroScript
   ```

2. **Install dependencies:**
   ```bash
   pip install -r requirements.txt
   ```

3. **Set up the ephemeris:**
   - Download the necessary ephemeris files from [http://www.astro.com/swisseph/](http://www.astro.com/swisseph/)
   - Place them in the `./ephe/` directory.

## Usage

### Command Line Interface

You can run AstroScript with the following command:

```bash
python astroscript.py --name "John Doe" --date "2021-12-25 15:30" --location "New York, USA"
```


### Options

- `--name`: Name of the person or event.
- `--date`: Date and time of the event in local time (format: YYYY-MM-DD HH:MM:SS).
- `--location`: Location name for looking up geographic coordinates.
- `--latitude` and `--longitude`: Specific latitude and longitude to use.
- `--timezone`: Timezone of the location.
- `--house_system`: House system to use, defaults to Placidus.
- `--output_type`: Format of the output (`text`, `return_text`, `html`).

For a complete list of options, call:

```bash
python astroscript.py -h
```

### GUI Integration

AstroScript includes a graphical user interface developed with the Kivy framework, offering a more interactive way to input data and display astrological calculations. Here's a brief overview of the GUI functionalities:

1. **Interactive Forms**: Users can input data through text fields, dropdowns, and date/time pickers.
2. **Responsive Layout**: The GUI adapts to different device screen sizes, making it usable on both desktop and mobile platforms.
3. **Real-Time Results Display**: Calculations are shown immediately on the screen, with options to navigate between input and results screens easily. The results can be copied to clipboard.
4. **Customizable Options**: Users can choose different astrological options such as house systems, aspects types, and whether to include minor aspects.

#### Running the GUI

To launch the GUI, run the following command:

```bash
python main.py
```

This starts the application, where you can navigate through the input screen to enter event details and view calculated results in real-time.

## File Management

AstroScript interacts with various files to store and retrieve data, enhancing functionality and user experience.

### Ephemeris Files

- **Location**: `./ephe/`
- **Purpose**: Store astronomical data needed for precise planetary calculations.
- **Setup**: Users must download these files from external sources (e.g., [http://www.astro.com/swisseph/](http://www.astro.com/swisseph/)) and place them in the designated directory.

### Location Files

- **Filename**: `saved_locations.json`
- **Purpose**: Saves geographic coordinates of frequently used locations to minimize repeated API calls.
- **Usage**: Automatically updated when users add new locations through the GUI or script.

### Event Files

- **Filename**: `saved_events.json`
- **Purpose**: Stores details of astrological events, such as dates, times, and locations, for quick retrieval.
- **Usage**: Users can save event details for future reference, which facilitates repeated analyses without re-entering data. This is done automatically whenever a name is given as an argument.

### Time Zone Files

- **Filename**: `timezones.txt`
- **Purpose**: Lists available time zones used for accurate time conversions.
- **Usage**: Read by the system to populate time zone options in the GUI, ensuring that users can select their appropriate time zone easily.

These files are crucial for AstroScript's operation, allowing it to perform accurate calculations and provide a seamless user experience. Users are encouraged to back up these files regularly, especially if they store important event data.

## Font Management

AstroScript's GUI utilizes custom fonts to enhance the readability of the results. Here are details on the font used:

### Roboto Mono

- **Font Family**: Roboto Mono
- **Usage**: This monospaced font is used when showing the results in the GUI, ensuring clear and consistent readability.
- **Location**: Fonts are stored under the `fonts/` directory.
- **Setup**: The Roboto Mono font files are included with the application (see licence information). Users do not need to install or manage these fonts separately.

## To do
I'm working on getting Buildozer package it as an Android package for installing as an app. That's the big thing. Then there are smaller things.

## Contributing

Contributions to AstroScript are welcome! Please fork the repository and submit pull requests with your enhancements, or open issues for any bugs or new feature requests.

## License

This project is licensed under the MIT License - see the LICENSE.md file for details.

## Changelog
See [CHANGELOG.md](https://github.com/Shoresh613/astro-script/blob/master/CHANGELOG.md) for details about the changes in each release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Shoresh613/astro-script/",
    "name": "AstroScript",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "astrology, horoscopes, charts",
    "author": "Mikael Folkesson",
    "author_email": "mikael.folkesson@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/82/5284d13224c061d66fbd8b99da05dc595e36557ac26e5fd454cb141df2e7/astroscript-1.0.4.tar.gz",
    "platform": null,
    "description": "# AstroScript\r\n\r\nAstroScript is a powerful astrology software tool designed to calculate astrological data that can be used for interpretations. It leverages the Swiss Ephemeris for precise planetary and house calculations, and offers extensive features including planet positions, house positions, aspect calculations, and fixed star conjunctions.\r\n\r\n## Features\r\n\r\n- **Planetary Calculations**: Provides detailed longitude, zodiac sign, and retrograde information for all major and some minor celestial bodies.\r\n- **House Calculations**: Supports multiple house systems, including Placidus, Koch, and others, for accurate astrological house placement.\r\n- **Aspect Analysis**: Calculates major and minor astrological aspects between planets and fixed stars.\r\n- **Moon Phase Calculation**: Determines the current phase of the Moon and its illumination.\r\n- **Fixed Star Aspects**: Lists aspects between planets and fixed stars, considering the house placement of each fixed star.\r\n- **Location Handling**: Uses Nominatim via the geopy library to convert location names to geographic coordinates, with the ability to save and retrieve frequently used locations.\r\n\r\n## Installation\r\n\r\n1. **Clone the repository:**\r\n   ```bash\r\n   git clone https://github.com/Shoresh613/astro-script.git\r\n   cd AstroScript\r\n   ```\r\n\r\n2. **Install dependencies:**\r\n   ```bash\r\n   pip install -r requirements.txt\r\n   ```\r\n\r\n3. **Set up the ephemeris:**\r\n   - Download the necessary ephemeris files from [http://www.astro.com/swisseph/](http://www.astro.com/swisseph/)\r\n   - Place them in the `./ephe/` directory.\r\n\r\n## Usage\r\n\r\n### Command Line Interface\r\n\r\nYou can run AstroScript with the following command:\r\n\r\n```bash\r\npython astroscript.py --name \"John Doe\" --date \"2021-12-25 15:30\" --location \"New York, USA\"\r\n```\r\n\r\n\r\n### Options\r\n\r\n- `--name`: Name of the person or event.\r\n- `--date`: Date and time of the event in local time (format: YYYY-MM-DD HH:MM:SS).\r\n- `--location`: Location name for looking up geographic coordinates.\r\n- `--latitude` and `--longitude`: Specific latitude and longitude to use.\r\n- `--timezone`: Timezone of the location.\r\n- `--house_system`: House system to use, defaults to Placidus.\r\n- `--output_type`: Format of the output (`text`, `return_text`, `html`).\r\n\r\nFor a complete list of options, call:\r\n\r\n```bash\r\npython astroscript.py -h\r\n```\r\n\r\n### GUI Integration\r\n\r\nAstroScript includes a graphical user interface developed with the Kivy framework, offering a more interactive way to input data and display astrological calculations. Here's a brief overview of the GUI functionalities:\r\n\r\n1. **Interactive Forms**: Users can input data through text fields, dropdowns, and date/time pickers.\r\n2. **Responsive Layout**: The GUI adapts to different device screen sizes, making it usable on both desktop and mobile platforms.\r\n3. **Real-Time Results Display**: Calculations are shown immediately on the screen, with options to navigate between input and results screens easily. The results can be copied to clipboard.\r\n4. **Customizable Options**: Users can choose different astrological options such as house systems, aspects types, and whether to include minor aspects.\r\n\r\n#### Running the GUI\r\n\r\nTo launch the GUI, run the following command:\r\n\r\n```bash\r\npython main.py\r\n```\r\n\r\nThis starts the application, where you can navigate through the input screen to enter event details and view calculated results in real-time.\r\n\r\n## File Management\r\n\r\nAstroScript interacts with various files to store and retrieve data, enhancing functionality and user experience.\r\n\r\n### Ephemeris Files\r\n\r\n- **Location**: `./ephe/`\r\n- **Purpose**: Store astronomical data needed for precise planetary calculations.\r\n- **Setup**: Users must download these files from external sources (e.g., [http://www.astro.com/swisseph/](http://www.astro.com/swisseph/)) and place them in the designated directory.\r\n\r\n### Location Files\r\n\r\n- **Filename**: `saved_locations.json`\r\n- **Purpose**: Saves geographic coordinates of frequently used locations to minimize repeated API calls.\r\n- **Usage**: Automatically updated when users add new locations through the GUI or script.\r\n\r\n### Event Files\r\n\r\n- **Filename**: `saved_events.json`\r\n- **Purpose**: Stores details of astrological events, such as dates, times, and locations, for quick retrieval.\r\n- **Usage**: Users can save event details for future reference, which facilitates repeated analyses without re-entering data. This is done automatically whenever a name is given as an argument.\r\n\r\n### Time Zone Files\r\n\r\n- **Filename**: `timezones.txt`\r\n- **Purpose**: Lists available time zones used for accurate time conversions.\r\n- **Usage**: Read by the system to populate time zone options in the GUI, ensuring that users can select their appropriate time zone easily.\r\n\r\nThese files are crucial for AstroScript's operation, allowing it to perform accurate calculations and provide a seamless user experience. Users are encouraged to back up these files regularly, especially if they store important event data.\r\n\r\n## Font Management\r\n\r\nAstroScript's GUI utilizes custom fonts to enhance the readability of the results. Here are details on the font used:\r\n\r\n### Roboto Mono\r\n\r\n- **Font Family**: Roboto Mono\r\n- **Usage**: This monospaced font is used when showing the results in the GUI, ensuring clear and consistent readability.\r\n- **Location**: Fonts are stored under the `fonts/` directory.\r\n- **Setup**: The Roboto Mono font files are included with the application (see licence information). Users do not need to install or manage these fonts separately.\r\n\r\n## To do\r\nI'm working on getting Buildozer package it as an Android package for installing as an app. That's the big thing. Then there are smaller things.\r\n\r\n## Contributing\r\n\r\nContributions to AstroScript are welcome! Please fork the repository and submit pull requests with your enhancements, or open issues for any bugs or new feature requests.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE.md file for details.\r\n\r\n## Changelog\r\nSee [CHANGELOG.md](https://github.com/Shoresh613/astro-script/blob/master/CHANGELOG.md) for details about the changes in each release.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Astrological calculation tool",
    "version": "1.0.4",
    "project_urls": {
        "Bug Reports": "https://github.com/Shoresh613/astro_script/issues",
        "Homepage": "https://github.com/Shoresh613/astro-script/",
        "Source": "https://github.com/Shoresh613/astro_script/"
    },
    "split_keywords": [
        "astrology",
        " horoscopes",
        " charts"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9eb33b112257b672eb22be88a6a446e4cb3f6f0d0b7270ca3bb22e2d7443a1da",
                "md5": "ee7326343ebce340be60cd079ccf1d10",
                "sha256": "991c220db3a80123111aa944064256168025b9a8e1f761b4d458bd81e77dbf4e"
            },
            "downloads": -1,
            "filename": "AstroScript-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ee7326343ebce340be60cd079ccf1d10",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 1176183,
            "upload_time": "2024-04-21T10:16:11",
            "upload_time_iso_8601": "2024-04-21T10:16:11.069813Z",
            "url": "https://files.pythonhosted.org/packages/9e/b3/3b112257b672eb22be88a6a446e4cb3f6f0d0b7270ca3bb22e2d7443a1da/AstroScript-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b0825284d13224c061d66fbd8b99da05dc595e36557ac26e5fd454cb141df2e7",
                "md5": "3315b3c81b956a27a05b164f5df405b9",
                "sha256": "2947221f33f36a483da048355454f8a143a5afd0732bcf2e7f6f7511813199e4"
            },
            "downloads": -1,
            "filename": "astroscript-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "3315b3c81b956a27a05b164f5df405b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 1176629,
            "upload_time": "2024-04-21T10:16:13",
            "upload_time_iso_8601": "2024-04-21T10:16:13.731474Z",
            "url": "https://files.pythonhosted.org/packages/b0/82/5284d13224c061d66fbd8b99da05dc595e36557ac26e5fd454cb141df2e7/astroscript-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-21 10:16:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Shoresh613",
    "github_project": "astro-script",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pyswisseph",
            "specs": []
        },
        {
            "name": "pytz",
            "specs": []
        },
        {
            "name": "geopy",
            "specs": []
        },
        {
            "name": "tabulate",
            "specs": []
        },
        {
            "name": "kivy",
            "specs": []
        }
    ],
    "lcname": "astroscript"
}
        
Elapsed time: 4.19428s